System Development Through Metamodeling Concepts for the development

  • Slides: 39
Download presentation
System Development Through Metamodeling Concepts for the development of complex, distributed, heterogeneous, systems using

System Development Through Metamodeling Concepts for the development of complex, distributed, heterogeneous, systems using (meta-) modeling and refinement Employment and active use of meta-modeling layers, typing, and formal semantics Tool support through adaptive, integrated, development environment Assoc Prof Georg Jung Dept for Media Engineering & Technology

“the psychological profiling [of a programmer] is mostly the ability to shift levels of

“the psychological profiling [of a programmer] is mostly the ability to shift levels of abstraction, from low level to high level. ” — Donald Knuth. in Jack Woehr. “An Interview with Donald Knuth” (Dr. Dobb’s Journal, April 1996) MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 2

Outline Part I: Essentials of Modeling and Model Driven Development • tools of the

Outline Part I: Essentials of Modeling and Model Driven Development • tools of the trade: abstraction and meta-modeling • behavior–structure–topology: modeling perspectives on a system • why bother? The concept of the model-driven approach Part II: MDD put into practice: Architecture in CADENA • Middleware-oriented component platforms • CADENA: Putting meta-modeling layers to practical use Part III: Synopsis and future work • CADENA’s accomplished goals • Mid-term challenges • Visions and long-term goals MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 3

Part I: Abstraction, semantics, semiotics, and meta-modeling • tools of the trade: abstraction and

Part I: Abstraction, semantics, semiotics, and meta-modeling • tools of the trade: abstraction and meta-modeling • behavior–structure–topology: modeling perspectives on a system • why bother? The concept of the model-driven approach ESSENTIALS OF MODELING AND MODEL DRIVEN DESIGN MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 4

The principle of abstraction real-world object Formation of concepts Abstraction Understanding concept, notion information

The principle of abstraction real-world object Formation of concepts Abstraction Understanding concept, notion information Depiction Interpretation representation, symbol MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 5

The principle of abstraction real-world object actual, concrete apple Formation of concepts Abstraction Understanding

The principle of abstraction real-world object actual, concrete apple Formation of concepts Abstraction Understanding notion tree, fruit of concept, the Malus Domestica Apple, Manzana, Apfel information Depiction Interpretation representation, symbol ‘A’, ‘p’, ‘l’, ‘e’; 林檎 (Ux #: 6797, 6 a 8 e) MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 6

Bird’s eye view on semantics: semantic scheme Definition (Semantic Scheme) A Semantic Scheme is

Bird’s eye view on semantics: semantic scheme Definition (Semantic Scheme) A Semantic Scheme is a tuple 〈R, I, 〚. 〛〉, with § R is a set of representations § I is a set of concepts (information) § 〚. 〛 ⊆ R ✕ Iis a semantic relation (interpretation) Example: Semantic scheme MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 7

Bird’s eye view on semantics: semantic scheme i ∈ I, i〚r〛(real-world = object) Formation

Bird’s eye view on semantics: semantic scheme i ∈ I, i〚r〛(real-world = object) Formation of concepts Abstraction Understanding concept, notion, information 〚林檎〛= Depiction Interpretation r ∈ R representation, ( symbol) MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 8

Semiotics: Structure of the model to object relation Original semiotic triangle by Ogden, Richards

Semiotics: Structure of the model to object relation Original semiotic triangle by Ogden, Richards R Apple, Manzana, Apfel Term Definition de ha refers to tes na symbolizes sig s Concept, Information Altered triangle for the use in modeling 〚. 〛 Representation, Symbol 林檎 Real-world Objekt Definition Term stands for I Object describes in: Ogden, Richards. The meaning of Meaning. Routledge & Kegan Paul, London (1923). MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 9

Stacking semiotic layers: meta-modeling taught by the example of the Meta Object Facility (MOF)

Stacking semiotic layers: meta-modeling taught by the example of the Meta Object Facility (MOF) • Models defining the modeling facility / M 3 properties and power of the meta(meta-meta layer) • Abstract layer M 2 (meta-modeling layer) • Meta-models defining shape and properties of the system models • Layer which defines UML M 1 (modeling layer) M 0 (concrete layer) MET Colloquium. Georg: "System Development Through Meta Modeling" • Models of data, processes, objects, etc. • UML layer • Actual, concrete, data • Program-code layer Excursus: UML 10/20/2010 10

Stacking semiotic layers: meta-modeling taught by the example of the Meta Object Facility (MOF)

Stacking semiotic layers: meta-modeling taught by the example of the Meta Object Facility (MOF) M 3 (meta layer) M 2 (metamodeling layer) Semiotic notation R Semantic scheme notation Term 〚. 〛 IR Object Term Definition Why is there no M 4 layer? Why is there no M 17 layer? 〚. 〛 M 1 (modeling layer) IR Object Term Definition 〚. 〛 M 0 (concrete layer) MET Colloquium. Georg: "System Development Through Meta Modeling" Definition I Object 10/20/2010 11

Behavior–Structure–Topology: Different perspectives of the same system In: Mesarovic, Mako, Takahara. Theory of Hierarchical,

Behavior–Structure–Topology: Different perspectives of the same system In: Mesarovic, Mako, Takahara. Theory of Hierarchical, Multilevel, Systems (1970). dynamic static Echolon/ Behavior, Dynamics System Stratum/ (Data-) Structures MET Colloquium. Georg: "System Development Through Meta Modeling" Layer/ Architecture 10/20/2010 12

Behavior–Structure–Topology: Different perspectives of the same system Program Echolon/ Data-flow Behavior, Processes Dynamics In:

Behavior–Structure–Topology: Different perspectives of the same system Program Echolon/ Data-flow Behavior, Processes Dynamics In: Mesarovic, Mako, Takahara. Theory of Hierarchical, Multilevel, Systems (1970) dynamic static Orchestration/Coordination Activity Diagram (UML) System Stratum/ Representation (Data-) Structures Static semantics Resource allocation Modularization Topology/Connectivity Layers/Tiers Component Diagrams (UML) Layer/ Architecture Class diagrams (UML) MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 13

Why bother? The concept of the model-driven approach (1) Start with a high-level, abstract,

Why bother? The concept of the model-driven approach (1) Start with a high-level, abstract, overview model (2) Keep Refining the model, adding information MET Colloquium. Georg: "System Development Through Meta Modeling" (3) When the model is specific enough, deploy it 10/20/2010 14

Why bother? The concept of the model-driven approach We distinguish: Model Based Design Model

Why bother? The concept of the model-driven approach We distinguish: Model Based Design Model Driven Design The models serve to plan the code Models serve to generate the code Code development is guided by the models The connection between models and code is loose Models can be partly reused Code development amounts to refining the models A change in the model is a change in the code and vice versa A model at the final stage is the deployable executable A model at the appropriate stage can be reused completely MET Colloquium. Georg: "System Development Through Meta Modeling" Excursus: OMG MDD 10/20/2010 15

Part II: Meta-modeling within the component-oriented paradigm using CADENA • Middleware-oriented component platforms •

Part II: Meta-modeling within the component-oriented paradigm using CADENA • Middleware-oriented component platforms • CADENA: Putting meta-modeling layers to practical use MDD PUT INTO PRACTICE: ARCHITECTURE IN CADENA MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 16

Cadena: MDD in practice – the project US Department of Defense Advanced Research Projects

Cadena: MDD in practice – the project US Department of Defense Advanced Research Projects Agency (DARPAPCES) Lockheed. Martin (Eagan) US Army Research Office (ARO) US National Science Foundation (NSF) Rockwell. Collins ATC Funding MET Colloquium. Georg: "System Development Through Meta Modeling" Intel 10/20/2010 17

Cadena: MDD in practice – the project PCES UAVDemo, Boeing plant, St Louis (Scan.

Cadena: MDD in practice – the project PCES UAVDemo, Boeing plant, St Louis (Scan. Eagle) CCM end-to-end development project Workshops and teaching Tiny. OS and Nes. C modeling for veterinary tele -medicine Application MET Colloquium. Georg: "System Development Through Meta Modeling" • Kansas State University • TU Dortmund • Universität Potsdam 10/20/2010 18

Component-oriented software architecture: Examples generic middleware frameworks aviation industries platforms CORBA Component Model (CCM)

Component-oriented software architecture: Examples generic middleware frameworks aviation industries platforms CORBA Component Model (CCM) Boeing Prism / Bold Stroke Enterprise Java Beans (EJB) AADL Microsoft COM und. Net project-specific middleware web-based interconnection standardization sensor networks Bonobo (Gnome) Nes. C (Embedded Systems) Service Component Architecture (SCA) DPOC (KDE) JSim (Komponenten Simulation) OSOA UNO (Open Office / Star. Office) XPCOM (Mozilla) MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 19

Real-life challenges of middleware component platforms Middleware platforms come in multiple versions • versioning,

Real-life challenges of middleware component platforms Middleware platforms come in multiple versions • versioning, updates, bug-fixes • changes to the API • deployment on various different hardware/OS-platforms Middleware platforms are rarely used “as is” • • mixed or hybrid systems “creative” use of available services development styles and conventions lacking or additional features Typical examples MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 20

Style–Module–Scenario: Activating the upper modeling tiers Meta-modell on top of the CADENA modeling hierarchie

Style–Module–Scenario: Activating the upper modeling tiers Meta-modell on top of the CADENA modeling hierarchie CALM metamodell • Meta-model of the component-oriented paradigm • Boxes („component meta-kinds“) • Dots („interface meta-kinds“) • Lines („connector meta-kinds“) Platform. Style Tier model • Shape of the platform building blocks: • Kinds of possible interfaces • Kinds of components with their potential interface connectivity • Kinds of connectors (middleware-services) Entwicklung/Definition der Typen Module Tier Scenario Tier konkrete Architektur MET Colloquium. Georg: "System Development Through Meta Modeling" • Types of building blocks: • Interface-types • Component-types • Topology of Instances: • concrete components • concrete interfaces • concrete connectors 10/20/2010 21

Style–Module–Scenario: Activating the upper modeling tiers CADENA Modeling Platform-design Style Tier • provides the

Style–Module–Scenario: Activating the upper modeling tiers CADENA Modeling Platform-design Style Tier • provides the infrastructure (execution environment, communication channels, services) • fixes the shape and possibilities/options of the components Component-development Platformdesign describes possible component and interface kinds Module Tier • individual functionality as building blocks • varying degrees of granularity System-integration provides the infrastructure for integration • realization of global requirements through integration MET Colloquium. Georg: "System Development Through Meta Modeling" Systemintegration Component development provides the buildingblocks for integration Scenario Tier 10/20/2010 22

Type-semantics and tool-support: integrated metamodeling Style Module Scenario clear, formal, semantics Model semantics is

Type-semantics and tool-support: integrated metamodeling Style Module Scenario clear, formal, semantics Model semantics is a three tiered, structural, type system Changes in the meta-model immediately impact the model MET Colloquium. Georg: "System Development Through Meta Modeling" Inconsistencies are caught by the type system 10/20/2010 23

Type-semantics and tool-support: integrated metamodeling Thorough realization through an integrated development environment (IDE) The

Type-semantics and tool-support: integrated metamodeling Thorough realization through an integrated development environment (IDE) The CADENA IDE implements the type system Editors dynamically adapt to the metamodel Changes to the metamodel are checked incrementally against the models Clear workflows help with the migration PIM→PSM Module Style MET Colloquium. Georg: "System Development Through Meta Modeling" Scenario 10/20/2010 24

Applying meta-modeling: a real-life example from aviation industry asynchronous notification of newly available data

Applying meta-modeling: a real-life example from aviation industry asynchronous notification of newly available data one logical connection GPS Airframe two technical connections synchronous RPC to fetch the data (1) asynchronous notification via the event service Modell in UML Syntax MET Colloquium. Georg: "System Development Through Meta Modeling" (2) RPC data transmission in the receiving thread The Event Channel 10/20/2010 25

Applying meta-modeling: a real-life example from aviation industry a realistic topology without additional abstractions

Applying meta-modeling: a real-life example from aviation industry a realistic topology without additional abstractions MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 26

Applying meta-modeling: a real-life example from aviation industry the same topology with additional abstractions

Applying meta-modeling: a real-life example from aviation industry the same topology with additional abstractions There are multiple strategies, conventions, creative uses, etc. that benefit from such tailored abstractions MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 27

Modeling over different levels of abstraction logical radiation sensor logical motion sensor alarm monitor

Modeling over different levels of abstraction logical radiation sensor logical motion sensor alarm monitor MET Colloquium. Georg: "System Development Through Meta Modeling" Global conceptual layer 10/20/2010 28

Modeling over different levels of abstraction logical motion sensor logical radiation sensor alarm monitor

Modeling over different levels of abstraction logical motion sensor logical radiation sensor alarm monitor Global conceptual layer RS 1 RS 2 … RSn Sensor-bank layer local network controler MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 29

Modeling over different levels of abstraction logical motion sensor logical radiation sensor alarm monitor

Modeling over different levels of abstraction logical motion sensor logical radiation sensor alarm monitor Global conceptual layer RS 1 RS 2 RSn … Sensor-bank layer local network controler Sensor internals sensor timer send MET Colloquium. Georg: "System Development Through Meta Modeling" buffer 10/20/2010 30

Modeling over different architectural layers logical radiation sensor logical motion sensor alarm monitor MET

Modeling over different architectural layers logical radiation sensor logical motion sensor alarm monitor MET Colloquium. Georg: "System Development Through Meta Modeling" Global conceptual layer 10/20/2010 31

Modeling over different architectural layers logical radiation sensor logical motion sensor alarm monitor Global

Modeling over different architectural layers logical radiation sensor logical motion sensor alarm monitor Global conceptual layer Network layer remote send MET Colloquium. Georg: "System Development Through Meta Modeling" remote receive 10/20/2010 32

Modeling over different architectural layers logical radiation sensor logical motion sensor alarm monitor Global

Modeling over different architectural layers logical radiation sensor logical motion sensor alarm monitor Global conceptual layer Network layer remote send remote receive timeout ack-rec Data link layer control queue transmit MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 33

Part III: What’s left to be done CADENA’s accomplished goals Mid-term challenges Visions and

Part III: What’s left to be done CADENA’s accomplished goals Mid-term challenges Visions and long-term goals SYNOPSIS AND FUTURE WORK MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 34

Accomplished goals in CADENA Inclusion of the metamodel as active part of the development

Accomplished goals in CADENA Inclusion of the metamodel as active part of the development Mixing of different platforms in the same model Guaranteed up- and downward compatibility throughout all levels of abstraction • introduction of hand tailored abstractions • clear workflows for migration or augmentation/refinement of models • hybrid platforms • hierarchic system transitions through encapsulation • single model for heterogeneous platforms (componentoriented paradigm) • structural properties are mechanically checkable through typing • end-to-end, adaptive, tool-support modular plug-in support complete glue-code and the structural stubs are for code-generation and • The generated synthesis MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 35

Short- and mid-term goals seamless integration of operational modeling • employing a service-oriented paradigm

Short- and mid-term goals seamless integration of operational modeling • employing a service-oriented paradigm • hierarchically constructed through Light-weight Process Coordination • use of the same graphic IDE guaranteed consistency between structural and behavioral modeling • hierarchic assignment of functionality to architectural elements and infrastructure • thorough application of the component-connector duality for modeling location-agnostic functionality (services) empiric comparison of top-down and bottom-up development • architecture patterns vs. functional blocks deployable models • Elimination of remaining coding by hand: replacement by hierarchic refinement MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 36

Leightweight Process Coordination as generic, variably grained, operational semantics GPS or cell-range localization (depending

Leightweight Process Coordination as generic, variably grained, operational semantics GPS or cell-range localization (depending on the device capabilities) Human intervention with active support by the system Immediate dispatch necessary? Synchronization of positional data with map service (e. g. , Google Maps) Alternatives? Consultation with a physitian, tele-diagnosis, tele-therapy MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 37

Supplemental theoretical research Elimination of the rigid tier principle in meta-modeling • use of

Supplemental theoretical research Elimination of the rigid tier principle in meta-modeling • use of domain theory to determine actual level of abstraction • solving the classification problem in multi-dimensional hierarchies • establishing of a closed system-development paradigm on top of theory of programming languages MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 38

Thanks. Questions? MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 39

Thanks. Questions? MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010 39