220 likes | 350 Views
MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS. PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edu Institute for Software-Integrated Systems Vanderbilt University F30602-00-1-0580 ,AO: K218 End date: 5/04 Agent: R. Dziegiel, AFRL, Rome, NY.
E N D
MODEL-BASED SYNTHESIS OF GENERATORS FOR EMBEDDED SYSTEMS PI: Gabor Karsai, Co-PI: Akos Ledeczi (615) 343-7471 gabor@vuse.vanderbilt.edu Institute for Software-Integrated Systems Vanderbilt University F30602-00-1-0580,AO: K218 End date: 5/04 Agent: R. Dziegiel, AFRL, Rome, NY
2. Subcontractors and Collaborators Collaborators • CMU • Analysis Interchange Format for embedded systems • Kestrel • Matlab input translator, HSIF definition • Southwest Research • Modeling language for avionics applications • Teknowledge • Rational Rose import facility • U Kansas: • Metamodel verification • U Michigan • Modeling environment for embedded systems • U Penn & SRI • Hybrid System Interchange Format Planned: Tool integration support for OEP experiments
3. Project objectives Problem: Model-based development of embedded systems requires tools for transforming models for analysis and synthesis • How to build reusable technology for generators (a.k.a. model interpreters) for embedded systems? Contribution to MoBIES: • Meta-programmable generator technology • Tools: • Meta-programmable modeling environment (GME) • Reusable translator framework (UDM) • Design tool integration framework (OTIF) Success criteria • Affordable and usable tools for building model translators • Functional OTIF
5. Tool Description GME: Meta-programmable modeling environment • Generic modeling framework for constructing domain-specific modeling environments • Inputs: user input, models from other tools • Outputs: models • Metamodel: see GME meta-model in doc • Interface now • U Michigan AIRES (Meta & API) • SWRI ASC (Meta & API) • Tek Rose Export (XML) • KU MetaV (Manual via UML class diagrams) • Interface in 6 mos • CMU TimeWiz (XML) • UCB Ptolemy (XML) • UPenn Charon (Model text) • HTC (XML) • SRI SAL (XML) • NonMoBIES • Matlab SL/SF (Translator & XML) • R Rose (XMI & Translator)
5. Tool Description UDM: Universal Data Model facility • Meta-programmable package for building generators/translators • Inputs: Data model in UML class diagrams • Outputs: C++ implementation of data model, usable with various backends • Metamodel: see UDM meta-model in doc • Interface now/in 6 mos, MoBIES & non-MoBIES • Any tool that • uses XML as data representation, or • for which a back-end is/can be developed
5. Tool Description XLT(?): Translator/generator • Meta-programmable tool for building the rewriting engine generators/translators • Inputs: Translation models + UDM Data models • Outputs: C++ code that implements the engine • Metamodel: Possible (bootstrap!) • Interface now/in 6 mos, MoBIES & non-MoBIES • Same as UDM, as the rewriting engine relies on UDM
5. Tool Description (M)OTIF: (MoBIES) Open Tool Integration Framework • Reusable framework components and meta-programmable generators for building tool integration solutions • Inputs: • Translation models + UDM Data models • Hand-coded components (e.g. physical tool adaptors) • Outputs: • Tool chain instance: support framework that connects the tools • Metamodel: Yes: UDM + XLT models and model of tool chain • Interface now/in 6 mos, MoBIES & non-MoBIES • (Hopefully) all tools will be integratable via the framework
6. OEP Support: Automotive OEP Role: • MATLAB import translator & prototype code generator provider • HSIF contributor • Tool integration solution provider Midterm experiment: • Import translator for Matlab SL/SF into ECSL • Prototype code generator for ECSL Contributions to experiment planning & tech assessment: • Tool chain definition, HSIF definition, integration technology Tech POC: • P. Varaiya, A. Girard, P. Griffiths
6. OEP Support: Avionics OEP Role: • Provider of ESML modeling environment, translators, and generators • AIF contributor • Tool integration solution provider Midterm experiment: • Import translator from R Rose into ESML • ESML modeling environment • Generators for XMLConfig and AIF • Analysis tool/report generator for ESML Contributions to experiment planning & tech assessment: • Tool chain definition, AIF definition, integration technology Tech POC: • D. Sharp, M. Schulte, W. Roll
7. Project StatusTechnical approach Key concept: Capture the semantic mapping between the two type systems/semantics in a mapping model. This mapping describes a generation process. Synthesize generators from the model of the input/target/generation process
Rewrite Engine Physical interface Physical interface Input Models Target Models Input abstract syntax Output abstract syntax Input Interface API API Output Interface 7. Project StatusNew developments UDM Focus: How do we model & build the rewriting engine? • Approach: • Translators transform graphs of objects • Transformations are easy to describe using graph rewriting rules, of the form: • [guard] Graph Pattern • => • New Graph • For efficiency: search in graph matching has to be minimized. Solution: • Explicit specification of traversal • “Anchoring” the rule application
7. Project StatusExample Problem: Input: Hierarchical dataflow network, consisting of Primitive and Compound Blocks, with Input, Output, and Local signals, connected through Dataflow edges.
7. Project StatusExample Problem: Output: Flat network of Actor nodes with Transmit and Receive ports, connected through Queues. Translator’s task: Transform (flatten) input graph into output graph.
7. Project StatusExample Rewriting rules: R1: Map a compound’s input and output signals into queues. R2: Map the local signal of a compound into a queue. R3: Insert an extra local signal for direct connections between of input and output signals of child blocks, and map it into a queue.
7. Project StatusExample Rewriting rules: R4: If a signal is part of a compound, and it is connected to a signal of a child of the compound, then the map of the child’s signal is the same as the map of the parent’s signal. R5: Map a primitive to an actor, map its input and output signals into the receive and transmit ports of the actor, and wire them.
7. Project StatusExample Traversal spec: Start with a toplevel compound c. Apply R1 to c, then call P1 with c. In P1, apply R2,R3, and R4 in sequence, to c, then call P1 or P2 with each child c.b of c, recursively. Selection depends on type of c.b, for Compounds use P1, for Primitives use P2. In P2, apply R5 to p.
7. Project StatusCore research Status: Core concepts/principles/techniques developed, prototype implementation is in progress. Implementation is based on UDM (for data structures), and uses an “interpretative” approach: data structures represent patterns, rules, and traversal specifications. “Rule interpreter” executes traversal, graph matching, and actions (graph modification/construction). Milestone: Base technology for mathematical modeling of translators. Publication: “Model reuse with metamodel based-transformations”, accepted for publication at ICSR-7.
7. Project StatusUpdates and OEP support Core technology: New GME release: libraries New capabilities for UDM: volatile attributes, association classes, copy and pattern tools OCL constraint interpreter prototype Avionics OEP: ESML revision and extensions Upgrades to generators, translators, and analysis tool AIF definition AIF exporter for GME/ESML Automotive OEP: Bug fixes and upgrades to Matlab SL/SF translators Prototype code generator for ECSL: Simulink discrete time blocks and Stateflow blocks into C HSIF definition
8. Project Plans Next 6 months • Support OEP experiments • Finish GRR engine (interpreter) prototype, show composition of generator, build examples, and test • Start work on translator generator • Build prototype tool integration framework and instantiate it for OEP-specific scenarios Performance goals • Functional GRR engine, with 3 simple translators working • Core components of the OTIF functional • OTIF instance created, and functional for end-to-end scenarios with 3 types of tools: modeling, analysis, and generator. Success metrics • Functioning translators • Development of translators is at least 50% faster than by hand coding • OTIF core components functional • Tool integration solution is created at least 50% faster than by hand • OEP success criteria satisfied
9. Project Schedule Tasks • Development of model-based technology for generators: modeling and synthesis • Develop techniques for composable and embeddable generators • Develop a solution for Open Tool Integration Frameworks • Integration with IDEs, analysis Milestones in next 6 months: • Demo ability to integrate design tools • Composition of multiple view models • Customize frameworks with gen’s • Compose generators • Generate embedded SW for OEPs Baseline Math modeling, synthesis Integration with IDEs Analytical capabilities Embedded generators 2000 2001 2002 2003 2004 OTIF Framework, Instances
10. Technology Transfer Vehicles: • DoD contractors: • Boeing, LM, Raytheon • Software and non-software business entities using the technology • Daimler-Chrysler, Ford, Mathworks, … • Graduating students Status • Discussions with Boeing, LM, and Raytheon • Communication with various interested aerospace and other industrial entities