system development through meta-modeling

39
Assoc Prof Georg Jung Dept for Media Engineering & Technology System Development Through Meta- modeling 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

Upload: christmas

Post on 23-Feb-2016

42 views

Category:

Documents


1 download

DESCRIPTION

System Development Through Meta-modeling. 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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: System Development Through Meta-modeling

Assoc Prof

Georg JungDept for Media Engineering & Technology

System Development Through Meta-modeling

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 semanticsTool support through adaptive, integrated, development environment

Page 2: System Development Through Meta-modeling

MET Colloquium. Georg: "System Development Through Meta Modeling" 210/20/2010

“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)

Page 3: System Development Through Meta-modeling

Outline

• 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 I: Essentials of Modeling and Model Driven Development

• Middleware-oriented component platforms• CADENA: Putting meta-modeling layers to practical use

Part II: MDD put into practice: Architecture in CADENA

• CADENA’s accomplished goals• Mid-term challenges• Visions and long-term goals

Part III: Synopsis and future work

MET Colloquium. Georg: "System Development Through Meta Modeling" 310/20/2010

Page 4: System Development Through Meta-modeling

ESSENTIALS OF MODELING AND MODEL DRIVEN DESIGN

MET Colloquium. Georg: "System Development Through Meta Modeling" 4

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

10/20/2010

Page 5: System Development Through Meta-modeling

The principle of abstraction

MET Colloquium. Georg: "System Development Through Meta Modeling" 5

real-world object

concept, notioninformation

representation, symbol

Formation of conceptsAbstraction

Depiction

Understanding

Interpretation

10/20/2010

Page 6: System Development Through Meta-modeling

actual, concrete apple

fruit of the Malus Domestica tree,Apple, Manzana, Apfel

‘A’, ‘p’, ‘p’, ‘l’, ‘e’; 林檎 (Ux #: 6797, 6a8e)

The principle of abstraction

MET Colloquium. Georg: "System Development Through Meta Modeling" 6

real-world object

representation, symbol

Formation of conceptsAbstraction

Depiction

Understanding

Interpretation

concept, notioninformation

10/20/2010

Page 7: System Development Through Meta-modeling

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 ✕ I is a semantic relation

(interpretation)

MET Colloquium. Georg: "System Development Through Meta Modeling" 7

Example: Semantic scheme

10/20/2010

Page 8: System Development Through Meta-modeling

concept, notion,information

Bird’s eye view on semantics: semantic scheme

MET Colloquium. Georg: "System Development Through Meta Modeling" 8

i ∈ I, i = 〚 r 〛 (real-world object)

r ∈ R (representation, symbol)

Formation of conceptsAbstraction

Depiction

Understanding

Interpretation

〚林檎〛 =

10/20/2010

Page 9: System Development Through Meta-modeling

Original semiotic triangle by Ogden, Richards

Concept, Information

Real-world Objekt

Representation, Symbol

Altered triangle for the use in modeling

Term

ObjectDefinition

MET Colloquium. Georg: "System Development Through Meta Modeling" 9

Semiotics: Structure of the model to object relation

Definition

Apple,Manzana,

Apfel

林檎 stands for

refers tosymbolizes has

describes

designates

Term

I〚 . 〛

R

in: Ogden, Richards. The meaning of Meaning.Routledge & Kegan Paul, London (1923).

10/20/2010

Page 10: System Development Through Meta-modeling

MET Colloquium. Georg: "System Development Through Meta Modeling" 10

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

• Models defining the modeling facility / properties and power of the meta-layer

• Abstract layer

M3(meta-

meta

layer)

• Meta-models defining shape and properties of the system models

• Layer which defines UMLM2

(meta-modeling layer)

• Models of data, processes, objects, etc.

• UML layerM1

(modeling layer)

• Actual, concrete, data • Program-code layerM0

(concrete layer)

10/20/2010Excursus: UML

Page 11: System Development Through Meta-modeling

MET Colloquium. Georg: "System Development Through Meta Modeling" 11

Term

ObjectDefinition Term

ObjectDefinition Term

ObjectDefinition

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

M3

(meta-meta layer)

M2(meta-

modeling layer)

M1(modeling layer)

M0(concrete layer)

10/20/2010

Semioticnotation

Semantic schemenotation

〚 . 〛

R

〚 . 〛

R

I〚 . 〛

RI

IWhy is there no

M4 layer?

Why is there no M17 layer?

Page 12: System Development Through Meta-modeling

Behavior–Structure–Topology: Different perspectives of the same system

MET Colloquium. Georg: "System Development Through Meta Modeling" 1210/20/2010

Systemdynamicstatic

Echolon/Behavior, Dynamics

Layer/Architecture

Stratum/(Data-) Structures

In: Mesarovic, Mako, Takahara. Theory of Hierarchical, Multilevel, Systems (1970).

Page 13: System Development Through Meta-modeling

Behavior–Structure–Topology: Different perspectives of the same system

MET Colloquium. Georg: "System Development Through Meta Modeling" 1310/20/2010

Systemdynamicstatic

In: Mesarovic, Mako, Takahara. Theory of Hierarchical, Multilevel, Systems (1970)

Echolon/Behavior, Dynamics

Layer/Architecture

Stratum/(Data-) StructuresRepresentation

Static semanticsClass diagrams (UML)

Resource allocationModularizationTopology/ConnectivityLayers/TiersComponent Diagrams (UML)

ProgramData-flowProcessesOrchestration/CoordinationActivity Diagram (UML)

Page 14: System Development Through Meta-modeling

MET Colloquium. Georg: "System Development Through Meta Modeling" 14

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

(3) When the model is specific enough, deploy it

10/20/2010

Page 15: System Development Through Meta-modeling

Model Based Design

The models serve to plan the code

Code development is guided by the models

The connection between models and code is loose

Models can be partly reused

Model Driven Design

Models serve to generate the code

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" 15

Why bother? The concept of the model-driven approachWe distinguish:

Excursus: OMG MDD10/20/2010

Page 16: System Development Through Meta-modeling

MDD PUT INTO PRACTICE: ARCHITECTURE IN CADENA

Part II: Meta-modeling within the component-oriented paradigm using CADENA• Middleware-oriented component platforms• CADENA: Putting meta-modeling layers to practical use

MET Colloquium. Georg: "System Development Through Meta Modeling" 1610/20/2010

Page 17: System Development Through Meta-modeling

Cadena: MDD in practice – the project

FundingUS National

Science Foundation

(NSF)

US Army Research Office

(ARO)

US Department of Defense Advanced Research

Projects Agency (DARPA-PCES)

Lockheed-Martin

(Eagan)

Rockwell-Collins ATC

Intel

MET Colloquium. Georg: "System Development Through Meta Modeling" 1710/20/2010

Page 18: System Development Through Meta-modeling

Cadena: MDD in practice – the project

Application

TinyOS and NesC modeling for veterinary tele-medicine

PCES UAV-Demo, Boeing plant, St Louis (ScanEagle)

CCM end-to-end development

project

Workshops and teaching• Kansas State

University• TU Dortmund• Universität Potsdam

MET Colloquium. Georg: "System Development Through Meta Modeling" 1810/20/2010

Page 19: System Development Through Meta-modeling

Component-oriented software architecture: Examples

generic middleware frameworks

CORBA Component

Model (CCM)

Enterprise Java Beans (EJB)

Microsoft COM und .Net

aviation industries platforms

Boeing Prism / Bold Stroke

AADL

project-specific middleware

Bonobo (Gnome)

DPOC (KDE)

UNO (Open Office /

StarOffice)

XPCOM (Mozilla)

sensor networks

NesC (Embedded Systems)

JSim (Komponenten

Simulation)

web-based interconnection standardization

Service Component Architecture

(SCA)

OSOA

MET Colloquium. Georg: "System Development Through Meta Modeling" 1910/20/2010

Page 20: System Development Through Meta-modeling

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

MET Colloquium. Georg: "System Development Through Meta Modeling" 20

Typical examples10/20/2010

Page 21: System Development Through Meta-modeling

Style–Module–Scenario: Activating the upper modeling tiers

• Meta-model of the component-oriented paradigm• Boxes („component meta-kinds“)• Dots („interface meta-kinds“)• Lines („connector meta-kinds“)

CALM meta-modell

• Shape of the platform building blocks:• Kinds of possible interfaces• Kinds of components with their potential

interface connectivity• Kinds of connectors (middleware-services)

Platform- model

• Types of building blocks:• Interface-types• Component-types

Entwicklung/Definition der Typen

• Topology of Instances:• concrete components• concrete interfaces• concrete connectors

konkrete Architektur

MET Colloquium. Georg: "System Development Through Meta Modeling" 21

Style Tier

Module Tier

Scenario Tier

Meta-modell on top of the CADENA modeling hierarchie

10/20/2010

Page 22: System Development Through Meta-modeling

Scenario Tier

Style Tier

Module Tier

Style–Module–Scenario: Activating the upper modeling tiers

MET Colloquium. Georg: "System Development Through Meta Modeling" 22

Platform-design• provides the infrastructure

(execution environment, communication channels, services)

• fixes the shape and possibilities/options of the components

Component-development• individual functionality as building

blocks• varying degrees of granularity

System-integration• realization of global requirements

through integration

Platform-design

Componentdevelopment

System-integration

CADENA Modeling

describes possiblecomponent andinterface kinds

provides the building-blocks for integration

provides the infrastructurefor integration

10/20/2010

Page 23: System Development Through Meta-modeling

Scenario

Style

Module

Type-semantics and tool-support: integrated meta-modeling

MET Colloquium. Georg: "System Development Through Meta Modeling" 23

clear, formal, semantics

Scenario

Style

Module

Model semantics is a three tiered, structural, type

system

Changes in the meta-model

immediately impact the model

Inconsistencies are caught by the type

system

10/20/2010

Page 24: System Development Through Meta-modeling

Type-semantics and tool-support: integrated meta-modeling

The CADENA IDE implements the type

system

Editors dynamically adapt to the meta-

model

Changes to the meta-model are checked

incrementally against the models

Clear workflows help with the migration

PIM→PSM

MET Colloquium. Georg: "System Development Through Meta Modeling" 24

Style

Module

Scenario

Thorough realization through an integrated development environment (IDE)

10/20/2010

Page 25: System Development Through Meta-modeling

Applying meta-modeling: a real-life example from aviation industry

two technical connections

(1) asynchronous notification via the event service

(2) RPC data transmission in the receiving thread

one logical connection

MET Colloquium. Georg: "System Development Through Meta Modeling" 25

GPS Airframe

asynchronous notificationof newly available data

synchronous RPC tofetch the data

Modell in UML Syntax The Event Channel10/20/2010

Page 26: System Development Through Meta-modeling

Applying meta-modeling: a real-life example from aviation industry

MET Colloquium. Georg: "System Development Through Meta Modeling" 26

a realistic topology without additional abstractions

10/20/2010

Page 27: System Development Through Meta-modeling

There are multiple strategies, conventions, creative uses, etc. that benefit from such

tailored abstractions

Applying meta-modeling: a real-life example from aviation industry

MET Colloquium. Georg: "System Development Through Meta Modeling" 27

the same topology with additional abstractions

10/20/2010

Page 28: System Development Through Meta-modeling

Modeling over different levels of abstraction

logical radiation sensor

logical motion sensor

monitoralarm

Global conceptual layer

28MET Colloquium. Georg: "System Development Through Meta Modeling" 10/20/2010

Page 29: System Development Through Meta-modeling

logical motion sensor

Sensor-bank layer

controler

local network

Modeling over different levels of abstraction

logical radiation sensor

monitoralarm

RS1 RS2 RSn…

29MET Colloquium. Georg: "System Development Through Meta Modeling"

Global conceptual layer

10/20/2010

Page 30: System Development Through Meta-modeling

logical motion sensor

controler

local network

Modeling over different levels of abstraction

logical radiation sensor

monitoralarm

RS1 RS2 RSn

timersensor

send buffer

Sensor internals

30MET Colloquium. Georg: "System Development Through Meta Modeling"

Global conceptual layer

Sensor-bank layer

10/20/2010

Page 31: System Development Through Meta-modeling

logical radiation sensor

monitor

Modeling over different architectural layers

logical motion sensor alarm

31MET Colloquium. Georg: "System Development Through Meta Modeling"

Global conceptual layer

10/20/2010

Page 32: System Development Through Meta-modeling

logical radiation sensor

monitor

Modeling over different architectural layers

logical motion sensor alarm

remote send

remote receive

Network layer

32MET Colloquium. Georg: "System Development Through Meta Modeling"

Global conceptual layer

10/20/2010

Page 33: System Development Through Meta-modeling

logical radiation sensor

monitor

Modeling over different architectural layers

logical motion sensor alarm

remote send

remote receive

timeout

control

queue

ack-rec

transmit

Data link layer

33MET Colloquium. Georg: "System Development Through Meta Modeling"

Global conceptual layer

Network layer

10/20/2010

Page 34: System Development Through Meta-modeling

SYNOPSIS AND FUTURE WORK

Part III: What’s left to be doneCADENA’s accomplished goalsMid-term challengesVisions and long-term goals

MET Colloquium. Georg: "System Development Through Meta Modeling" 3410/20/2010

Page 35: System Development Through Meta-modeling

Accomplished goals in CADENA

•introduction of hand tailored abstractions•clear workflows for migration or augmentation/refinement of models

Inclusion of the meta-model as active part of the development

•hybrid platforms•hierarchic system transitions through encapsulation•single model for heterogeneous platforms (component-oriented paradigm)

Mixing of different platforms in the same

model

•structural properties are mechanically checkable through typing•end-to-end, adaptive, tool-support

Guaranteed up- and downward compatibility throughout all levels of

abstraction

•The complete glue-code and the structural stubs are generated

modular plug-in support for code-generation

and synthesis

MET Colloquium. Georg: "System Development Through Meta Modeling" 3510/20/2010

Page 36: System Development Through Meta-modeling

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" 3610/20/2010

Page 37: System Development Through Meta-modeling

MET Colloquium. Georg: "System Development Through Meta Modeling" 37

Leightweight Process Coordination as generic, variably grained, operational semantics

GPS or cell-range localization (depending on the device capabilities)

Synchronization of positional data with map service (e.g., Google Maps)

Human intervention with active support by the system

Immediate dispatch necessary?

Alternatives?Consultation with a physitian, tele-diagnosis, tele-therapy

10/20/2010

Page 38: System Development Through Meta-modeling

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 the theory

of programming languages

MET Colloquium. Georg: "System Development Through Meta Modeling" 3810/20/2010

Page 39: System Development Through Meta-modeling

MET Colloquium. Georg: "System Development Through Meta Modeling" 39

Thanks. Questions?

10/20/2010