170 likes | 513 Views
Automated Model Compiler based on Design Space Exploration Tool Sandeep Neema Institute for Software Integrated Systems Vanderbilt University Outline Motivation Design Space Exploration Tool AMC Tool Architecture Example (end-to-end) Conclusions and Future Work AMC Challenge Problem
E N D
Automated Model Compilerbased onDesign Space Exploration Tool Sandeep Neema Institute for Software Integrated Systems Vanderbilt University
Outline • Motivation • Design Space Exploration Tool • AMC Tool Architecture • Example (end-to-end) • Conclusions and Future Work
AMC Challenge Problem “A model compiler is a tool that automatically composes a model from a set of sub-models and an architectural description of the arrangement of sub-models, ensuring full-connectivity of all control flow and data flow signals between sub-models, proper sequencing of sub-models, and compatibility of sub-models” † • Scale and Complexity • 75-100 components, 3-30 component variations, 2000 signal-flow interconnections • Size of the Search Space • ~10^30 • Multiple levels of compatibility • Structural, signal type, simulation properties, … †Butts et. al. “Usage Scenarios for an Automated Model Compiler,” EMSOFT 2001
Design Space Exploration Tool • Meta-programmable tool for navigation/pruning of large design spaces using constraints • Generic structured representation of design-space based on the concepts of alternatives and parameters • OCL-based notation for representing constraints • UDM meta-model based input/output interfaces • Current: Uses OBDD-based symbolic constraint solver • Planned: Integration of other constraint solver (Mozart, …) Design-Space (XML) DESERT Pruned-Space (XML)
Structuring Design Spaceswith Alternatives Hierarchical Signal Flow Design Language Hierarchical Signal Flow Design Language extended with Alternatives
Structuring Design Space (Example) HSF Model HSFA Model
Constraints • Constraint language based on a subset of OCL • Constraints may express • Composability constraints • Type and structural compatibility relations • Inter-aspect constraints • Software/Hardware/Resource dependencies • Performance constraints • Bounds on quantitative properties of composed system • ROM usage < 10 KB • RAM usage < 50 KB
Constraint Solving in DESERT • Design space is represented with Boolean formulas using OBDD-s • e.g. S is implemented by S1 or S2 or S3 and S2 is implemented by S21 and S22 • S = S1 + (S21 . S22) + S3 • Compatibility constraints are expressed as Boolean formulas and encoded as OBDD-s • Performance constraints require composition of system-level properties from component-level properties • e.g. CPU-usage, memory-usage, latency, throughput, … • Composition is property-specific: additive, min-max, multiplicative, membership, … • Symbolic conjunction of constraints with design space representation results in restriction/pruning of design space
AMC Tool Architecture GME DESERT X’lator1 Comp. Model Database (mdl files) ConfigGen Matlab/Simulink Comp. Data Dictionary (m files) X’lator2
children("b2p").implementedBy() = children("b2p").children("b2p_2") implies children("e6212").implementedBy() = children("e6212").children("e6212_2") Example: Architecture Model
Example: Data Dictionary and Component Model/s … Definition.Input(1).Name = 'trig_b13p_30ms'; Definition.Input(1).Description = 'trigger signal'; Definition.Input(1).Unit = 'none'; Definition.Input(1).FloatingPointTargetType = 'function call'; Definition.Input(1).FixedPointTargetType.Signed = []; Definition.Input(1).FixedPointTargetType.Bytes = []; Definition.Input(1).FixedPointTargetType.BinPoint = []; Definition.Input(1).Size = [1 1]; Definition.Input(1).Min = []; Definition.Input(1).Max = []; Definition.Input(1).Period = '30'; … Definition.Parameter(2).Name = 'ford_test_manager_ROM'; Definition.Parameter(2).Description = 'bytes of ROM used by etc_manager'; Definition.Parameter(2).Unit = ''; Definition.Parameter(2).FloatingPointTargetType = 'double'; Definition.Parameter(2).FixedPointTargetType.Signed = 0; Definition.Parameter(2).FixedPointTargetType.Bytes = 2; Definition.Parameter(2).FixedPointTargetType.BinPoint = 10; Definition.Parameter(2).Size = [1 1]; Definition.Parameter(2).Min = 0; Definition.Parameter(2).Max = 1000000; Definition.Parameter(2).DefaultValue = 150000; …
Example: Design Space Exploration Design Space 729* 567 567 441 441 441 441 441 441 36 * 3^6 interface constraints applied after design exploration
Conclusions • Demonstrated application of DESERT in creation of an AMC • Meta-programmability of DESERT makes it applicable to diverse product-line architectures • Meta-model defined interfaces facilitate integration • Current constraint solver is scalable w.r.t. design space representation and composability constraints
Future Work • AMC • Enable membership constraints • Enable assembly with Simulink bus technology • Automate component characterization • DESERT • Integration of other constraint-solvers (Mozart) • Integrate the tool with the Open Tool Integration Framework (OTIF)