1 / 17

Automated Model Compiler based on Design Space Exploration Tool

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

Samuel
Download Presentation

Automated Model Compiler based on Design Space Exploration Tool

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Automated Model Compilerbased onDesign Space Exploration Tool Sandeep Neema Institute for Software Integrated Systems Vanderbilt University

  2. Outline • Motivation • Design Space Exploration Tool • AMC Tool Architecture • Example (end-to-end) • Conclusions and Future Work

  3. 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

  4. 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)

  5. Structuring Design Spaceswith Alternatives Hierarchical Signal Flow Design Language Hierarchical Signal Flow Design Language extended with Alternatives

  6. Structuring Design Space (Example) HSF Model HSFA Model

  7. 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

  8. Input Interface of DESERT

  9. 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

  10. AMC Tool Architecture GME DESERT X’lator1 Comp. Model Database (mdl files) ConfigGen Matlab/Simulink Comp. Data Dictionary (m files) X’lator2

  11. children("b2p").implementedBy() = children("b2p").children("b2p_2") implies children("e6212").implementedBy() = children("e6212").children("e6212_2") Example: Architecture Model

  12. 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; …

  13. Example: Design Space Exploration Design Space 729* 567 567 441 441 441 441 441 441 36 * 3^6  interface constraints applied after design exploration

  14. Example: Configuration Selection/Generation

  15. Example: Final Assembly

  16. 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

  17. 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)

More Related