Multi-objective optimization and meta-modeling of tape-wound transformers
System Development Through Meta-modeling
description
Transcript of 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
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)
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
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
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
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
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
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
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
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
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?
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).
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
MET Colloquium. Georg: "System Development Through Meta Modeling" 39
Thanks. Questions?
10/20/2010