Foundations for Model-Based Design Janos Sztipanovits ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edu MPSOC 2005 Margaux, France July 11, 2005
Content • Introduction to model-based design • System Composition Dimension – Layers – Approaches – Languages • Tool Composition Dimension – Layers – Building Tool Chains • Metamodeling and Metaprogrammable Tools • Semantics
Goal and Approaches • Building increasingly complex networked systems from components – Naïve “plug-and-play” approach does not work in embedded systems (neither in larger non- embedded systems) – Model-based software design focuses on the formal representation, composition, analysis and manipulation of models during the design process. • Approaches with differences in focus and details – MDA: Model Driven Architecture – MDD: Model-Driven Design – MDE: Model-Driven Engineering – MIC: Model-Integrated Computing
Two Dimensions of MIC System Composition (Product Models) www.escherinstitute.org Heterogeneous Distributed Embedded Layered ESCHER UPAAL TOOLS Rational Rose SL/SF ECLIPSE TOOLS VS Composable Integrated Correct by construction Composition Frameworks Single Tools Customizable Frameworks Tool Composition (Design Process Models)
Content • Introduction to model-based design • System Composition Dimension – Layers – Approaches – Languages • Tool Composition Dimension – Layers – Building Tool Chains • Metamodeling and Metaprogrammable Tools • Semantics
System Composition Dimension: Core Modeling Aspects Modeled on different levels of abstraction: • Transition systems (FSM, Time Automata, Cont. Dynamics, Hybrid), fundamental role of time models Component Behavior • Precise relationship among abstraction levels • Research: dynamic/adaptive behavior Expressed as a system topology : • Module Interconnection (Nodes, Ports, Connections) Structure • Hierarchy • Research: dynamic topology Describes interaction patterns among components: • Set of well-defined Models of Computations (MoC) Interaction (SR, SDF, DE,…) • Heterogeneous, but precisely defined interactions • Research: interface theory (time, resources,..) Mapping/deploying components on platforms: Scheduling / • Dynamic Priority Resource Allocation • Behavior guarantees • Research: composition of schedulers
Examples for Research Approaches IF Ptolemy II Metropolis (Sifakis, Verimag) (Lee, UCB) (ASV 1 , UCB) Process Process Java Code/ (Hierarchical Component Behavior (Hierarchical, Behavioral Timed Active Models Automaton) Components ) Dynamically Hierarchical Netlists (port, Created Module interface, Structure Channels Interconnection connection) Asynchronous Medium (port, Interactions: parameter, - P2P Interaction Heterogeneous useport) - Unicast Models of - Multicast Computation + Scheduler Directors Dynamic Scheduling / (port, Priorities Resource Allocation parameter) 1 Alberto Sangiovanni-Vincentelli
Modeling Formalisms Are Different Ptolemy II Metropolis IF
Emergence of Modeling Language Standards • SySML • Others (UML-2; RT-UML, SLML, AADL,…)
Current Status of System/SW Modeling Languages • The number of new standards is growing driven by competing consortiums and .org-s • Intended scope ranges from “unified” to “specific”. • Many views them as programming languages Wait for the “Unified One” to ensure reusability of tools − Slow down deployment because of the lack of standards − Wait for executable models − • Modeling and analysis tools are not integratable (closed camps emerge protected by a “standard”). • Semantics is largely neglected or left to undocumented interpretations of tool developers.
Trends in Modeling Languages • Increasing acceptance of metamodeling and Domain-Specific Modeling Languages based on standard metamodels ( M eta O bject F acility, MOF ) • Emergence of metaprogrammable tools • Desire for solving the “ semantics problem ” • Better understanding of the role of precise model transformations in model- based generators and in building domain- specific tool chains from reusable tools
Content • Introduction to model-based design • System Composition Dimension – Layers – Approaches – Languages • Tool Composition Dimension – Layers – Building Tool Chains • Metamodeling and Metaprogrammable Tools • Semantics
Tool Composition Dimension: Core Modeling Aspects Modeling Domain Specific Design Flows: Examples in MIC: • ECSL - Automotive • ESML - Avionics Domain-Specific • SPML - Signal Processing Environments • CAPE/eLMS – Learning Technology Metamodeling and Metaprogrammable Tools: (mature or in maturation program) • GME (Generic Model Editor) • GReAT (Model Transformation) Metaprogrammable • OTIF (Tool Integration Framework) Tools, Environments • UDM (Universal Data Model) • DESERT (Design Space Exploration) • GME-MOF/Meta (Metamodeling Env-s) Modeling Semantics (work in progress): • Semantic “Units” doTr ansi t i on ( f sm as as FSM , s as as St at e, t as Tr ansi t i on) = as Semantic Foundation r equi r r equ i r e s. act i ve • Semantic Anchoring st ep st ep exi t St at e ( s) st ep st ep i i f t . out put Event <> nul l nul l t hen Libraries em i t Event ( f sm , t . out put Event ) st ep st ep act i vat eSt at e ( f sm , t . dst )
Interrelation with System Composition - State Automaton Abstract Syntax Component Behavior - Timed Automaton Behavior + - Hybrid Automaton Modeling View Semantic Anchoring - … Abstract Syntax - Set-Valued Structural + Structure Semantics Modeling Views Semantic Anchoring TOOLS - Tagged Signal Model Abstract Syntax Interaction - State Automaton + Interaction Modeling Views - Timed Automaton Semantic Anchoring - … COMPOSITION PLATFORMS METAPROGRAMMABLE TOOLS Abstract Syntax - Transition Systems Resource Access Scheduling / + With Priority Modeling Views Resource Allocation Semantic Anchoring Metaprogrammable Domain-Specific Semantic Foundation; Tools, Environments Tools, Tool Chains
Example Tool Chain: Vehicle Control Platform (VCP) Common Semantic Domain: Hybrid Automata Abstract Syntax and Transformations: Meta-Models Domain Models and Tool Interchange Formats: Tool Chains AIRES Vehicle Control Platform (VCP) ECSL-DP Component Schedulability Behavior � AIF Structure Analysis Model Simulink ECSL-DP SL/SF � ECSL-DP � MOML ECSL-DP Stateflow GME PTOLEMY Behavior � DSE SL/SF � C EDP Component Simulation Interaction OSEK/ DESERT Code
Constructing Tool Chains: Modeling and Transformations Domain Models and Tool Interchange Formats Simulink SL/SF � ECSL-DP ECSL-DP StateFlow GME � DSE SL/SF DSML2 DM DSML1 DM S C C S DSML-1 Simulink DSML-2 ECSL-DP Transformation StateFlow GME T M C2 M S1 M C1 M S2 - Large influence of concrete syntax A A - No clear role of semantics - It is not clear what are we doing?
Content • Introduction to model-based design • System Composition Dimension – Layers – Approaches – Languages • Tool Composition Dimension – Layers – Building Tool Chains • Metamodeling and Metaprogrammable Tools • Semantics
Metamodeling Layer Objectives Domain models Interchange Formats • Metamodeling M C • Model Data Management Abstract Syntax • Model Transformation Meta-models M S • Tool Integration Structural Semantics i nt er f ace i nt er f ace Event Semantic Domain: st r uct ur e st r uct ur e M odel Event i m i m pl em pl em ent s ent s Event Set-Valued case case M odel Event 1
Metamodeling and Domain Specific Modeling Languages Domain Specific Modeling Language (DSML) L = < C, A, S, M S , M C > • Model : precise representation of artifacts in a modeling language L Abstract Concrete • Modeling language : defined by M C Syntax Parsing Syntax A C the notation (C), concepts/relations and integrity constraints (A), the Concepts Notation for Relations representing models Semantic semantic domain (S) and mapping Well formed-ness Mapping rules among these. M S • Metamodel: formal (i.e. precise) Semantic Domain representation of the modeling S language L using a metamodeling Mathematical abstraction for language L M . specifying the meaning of models
Modeling Example: Metamodel and Models Metamodel: Model: - Defines the set of - Describes states and transitions admissible models - Modeling tool enforces constraints - “Metaprogramms” tool
Metaprogrammable Modeling Tool: GME GME Architecture Decorator Decorator COM COM GME Editor Constraint Browser Manager Add-On(s) Translator(s) COM XML Metamodel GModel GMeta XML UML / OCL CORE Paradigm Definition XML ODBC XML … DB #n DB #1 Storage Options … – Configuration through UML and OCL-based metamodels – Extensible architecture through COM – Multiple standard backend support (ODBC, XML) – Multiple language support: C++, VB, Python, Java, C#
Recommend
More recommend