Model Integrated Design of Embedded MPSoC July 6, 2004 MPSOC’04 Dr. Janos Sztipanovits Institute for Software Integrated Systems (ISIS) Vanderbilt University
Overview � MDA – An emerging paradigm for software development � Domain-Specific MDA: MIC – From DSL-s to DSML-s – The role of transformations � Example � Challenges and opportunities – Tool Integration – Semantic Foundation � Conclusions Janos Sztipanovits 2
Model-Driven Architecture A Paradigm for Software Development History : •OMA (CORBA) → UML → MDA: –Object composition –Models for software –Models in development Key points: 1. Models are not accidental but essential to system development 2. Models are expressed in modeling languages 3. Models are built, analyzed and Source: Jean Bézivin : "From Object Composition to Model Transformation with transformed during development the MDA" TOOLS USA, August 2001, Santa that lead to executables Barbara Transform Models System Janos Sztipanovits 3
Model-Driven Architecture The Role of Modeling Languages Development process : 4-Layer Meta-Model Language Architecture: •Platform Independent Model: Meta - Modeling – UML Language: a sentence of Meta-Models MOF – extension with UML profiles or metamodeling •Platform Specific Model: represents metamodel of – UML – extension with UML profiles or Domain-Specific Modeling Language (DSML) a sentence of Domain Models metamodeling UML, ESML.. Key points: represents 1. 4-layer metamodeling architecture 2. MOF is the metalanguage 3. Not specific to CORBA Application System Janos Sztipanovits 4
Model-Driven Architecture The Role of Transformations Development process : •Platform Independent Model: a view of the system from a platform independent viewpoint •Platform Specific Model: a view of the system from a platform-specific viewpoint Key points: 1.Most relevant issue: platform- independence (CORBA/EJB/.NET) 2.Additional ( P/S ) information is used to map PIM into a PSM 3.Transformations are models Source: MDA Guide V 1.0.1 (www.omg.org) Transform Models System Janos Sztipanovits 5
Model-Driven Architecture Model Transformation Variants Marking: Metamodel-based: Type-based: Pattern-based: Model merge: Source: MDA Guide V 1.0.1 (www.omg.org) Janos Sztipanovits 6
Model-Integrated Computing: Domain-Specific MDA Development starts with domain engineering Understand and capture domain concepts and invariants Develop Domain-Specific Modeling Language(s) (DSML) that capture - Domain concepts and relationships - Domain invariants as well formedness rules Systems are constructed from domain-specific models Analysis and generation are core activities Domain-Specific Tool Suites play a key role in the development process - Modeling environment(s) for DSML-s - Model transformation tools - Model analysis tools - Model-based generators Janos Sztipanovits 7
MIC Components Metamodeling Analysis Metamodels Translation Domain-specific Domain modeling models Synthesis & Generation Model-Model Transformations Tool Integration Execution Janos Sztipanovits 8
MIC Approach to Metamodeling Metamodel for SF: DSML for Signal Processing: SF Specifies the invariants in all designs Describes the structure of a design (Domain architecture) Janos Sztipanovits 9
The Role of Metamodeling in MIC DSML-s are affordable only if tools are still reusable. “Meta-programmable” tools: 1.Model repositories 2.(Visual) modeling environments 3.Model transformation tools Common underlying theme: Tools are configured through metamodels Tools are configured through metamodels Metaprogrammable Tool Metamodel Model repository Schema, consistency/integrity rules Modeling editor Abstract and concrete syntax of DSML Static semantics Model transformation Abstract syntax of source and target Model transformation process Janos Sztipanovits 10
MIC Approach to Model Transformations Metamodel of Transformation Metamodel of Metamodel of Meta-level: Translator Input DSML Output DSML design Formal, explicit, and precise Output abstract syntax Input abstract syntax model of the Physical interface Physical interface transformations Implementation: Rewrite Input Target Engine Models Models Execution Input Interface A A Output Interface GRE GRE PI PI UDM UDM Janos Sztipanovits 11
Model Transformation Tool Chain MetaModel of uses uses MetaModel of Source Domain-to-Target MetaModel of Target Meta-models Mapping C/G configures Meta- Code Generator Meta-Programmable configures programmable Modeling Tool GRE tools generates GME creates describes Meta-Programmable DEBUG Transformation Tool describes Debugger (Generated) Generated tool Transformation Tool Target/Executable Models and Models applications Source Models Target Platform Tools: UMT Language, GRE (engine), C/G, GR-DEBUG Tools: UMT Language, GRE (engine), C/G, GR-DEBUG See Karsai http://www.isis.vanderbilt.edu Janos Sztipanovits 12
Example: Simplified Automotive Design Flow Requirement Analysis Software Design Hardware Design HW Architecture Functional Design Design SW ECU Design Componentization Mapping Firmware Component Behavior Implementation Implementation Mapping Communication Mapping Firmware Software ECU Integration Code Generation Code Generation System Code Generation Code Gen./Int. Janos Sztipanovits 13
Opportunities: Composable Tool Chains Comp/Platf Component System Component Validation Target Controller System Code Validation Target Platform Modeling Platform Modeling Integration Verification Analysis Synthesis Analysis Synthesis Verification Analysis Modeling Implement. Platform Models Platform Models Interaction/Fault mgmt/… Models Test Vectors Integrated Code Download Download Plant Model Valid Code/Model Integrated Model Valid Model Code/Model Component Model System Model Partial Model Model Component Code Valid Code/Model Design Feedback Valid Model Design Feedback Design Feedback Design Feedback Design Feedback Matlab R-T Simulink Simulator PENTIUM/ Stateflow Workshop ESML/GME ESML/GME AIRES AIRES MPC555/ Checkmate ECSL/GME ECSL/GME TAO/ Checkmate UML/Rose Manual Honeywell Honeywell SWRI/ASC SWRI/ASC Checkmate WindView OSEK SAL Ptolemy BOLD- Ptolemy CMU TimeWeaver TimeWiz ESML/GME Charon AIRES AIRES ESML/GME PENTIUM/ Teja STROKE QNX UP Reach Avionics Experiment Automotive Experiment Charon BACKPLANE Open Tool Integration Framework • Integrated Physical/Computational Modeling and Analysis • Model-based Generators • Hybrid System Analysis • Customizable (metaprogrammable) Metagenerators GrEAT modeling tools and generators • Open tool integration framework; Metamodel Composition & GME/Meta configurable design flow and Validation Metamodeling composable design tool chains UML-CD/OCL GME/Meta Janos Sztipanovits 14
Solution: Open Tool Integration Framework (OTIF) TOOL TOOL TOOL TOOL TOOL TOOL MANAGER ADAPTOR ADAPTOR ADAPTOR BACKPLANE METADATA REGISTRATION/NOTIFICATION/TRANSFER SERVICES SEMANTIC SEMANTIC Standard interface/ TRANSLATOR TRANSLATOR Protocol Karsai, ISIS-Vanderbilt Share models using Publish/Subscribe Metaphor Share models using Publish/Subscribe Metaphor RFP is Discussed at Status: Status: MIC PSIG – Completed, tested in several tool chains – Completed, tested in several tool chains OMG – Protocols in OMG/CORBA – Protocols in OMG/CORBA – CORBA as a transport layer – CORBA as a transport layer – Integration with ECLIPSE – Integration with ECLIPSE http://www.isis.vanderbilt.edu/Projects/WOTIF/default.html Janos Sztipanovits 15
Challenges: Semantic Anchoring of DSML-s Syntactic Level DSML DSM Metamodel Model (Set-Valued Semantics) (Set-Valued Semantics) Meta-metamodel Model ( Set-Valued Semantics) Model Transf. Translation Transf. Spec. JAVA Host Language TLA+ Host Language Model ASM ( Behavioral Semantics) Metamodel ( Behavioral Semantics) Semantics ( Set-Valued Semantics) JAVA TLA+ Host Language ASM Host Language ( Behavioral Semantics) Host Language Model Model Semantic Domain Model ( Behavioral Semantics) ( Behavioral Semantics) (Behavioral Semantics) Simulation Verification Execution MoC “Semantic Units” Semantic Level Janos Sztipanovits 16
Conclusion � The hard problem of building complex MPSoC embedded systems is the integrated design of physical and computational components � Domain-specific modeling languages and model transformations are key technologies for future progress � Model-Integrated Computing evolves to be a mature technology for the development of complex applications Janos Sztipanovits 17
Recommend
More recommend