Model based development for the RUNES component middleware platform Gabor Batori [email protected] Zoltan Theisz [email protected]
Jan 16, 2016
Slide titleIn CAPITALS
50 pt
Slide subtitle 32 pt
Model based development for the RUNES component middleware platform
Gabor [email protected]
Zoltan [email protected]
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-082 (29)
Model Driven Software Development
Architecture design plays a decisive role in the process Product line development style is essential Meta-modeling stands in the centre Application development concentrates on model
creation Architecture development concentrates on translator
creation Run-time platform features are heavily relied on Tool support is the enabler of the process
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-083 (29)
Architecture Design
Architecture defines the scope of the endeavor in the project
Well designed architecture provides wide scale applicability of the result
Architecture design enables easy interfacing among various work-packages in integrated projects.(RUNES is a multi-work-package project !!)
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-084 (29)
WP3 HW/RF SN, SRN, GWN, PDA/PC
WP4 NW WSN, MANET, WAN
WP5 MW CRTK, CFs
WP1
Architecture
Technical
requirements
User requirements
WP2,WP6 APPSWP7 Methods
and
Tools
WP8
Dissemination
Real Simulated
Architecture Design
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-085 (29)
Meta-modeling
Meta-modeling defines the domain knowledge formally providing an ontology with abstract syntax and static semantics
Meta-modeling creates Domain Specific Languages which can refer to each other It matches multi-work-package research and development processes well
Meta-modeling provides easy reasoning both for domain experts and domain users
In RUNES: Scenario-to-Application Development, Semi-Automatic Test Case Generation
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-086 (29)
RUNES Platform
RUNES Platform is an intermediate meta-model based on the RUNES middleware’s Component Run-Time Kernel abstraction
It is a UML-profile like classification based wrapping scheme.
Its run-time implementations provide a reflective causal meta-interface to the connected components deployed in a heterogeneous hardware and software environment on different scales of computer powers.
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-087 (29)
Run-time platform
One meta-model can be transformed onto different platforms providing various run-time features
Feature selection is important as it is the reason behind profiling
In RUNES:– Contiki CRTK in Telos motes (resource scarceness)– Java CRTK in laptops (easy portability)– C CRTK in gateways (efficiency)– Erlang CRTK in application servers (robustness,
redundancy)
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-088 (29)
Erlang CRTK
Robust– Fault tolerant, Highly available
Reconfigurable– Adaptability to environmental changes
Erlang– Ericsson’s preferred language– Language elements support robust, reconfigurable
behavior– Support for distributed deployment
Component– Separation of functionality– Structured, reusable code
System– Application neutral framework
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-089 (29)
Functional Model
Component, Composite Component – Functionality Owner Interface, Receptacle – Interaction Point Owner Binding – Communication Owner Component Framework – Constraint Owner
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0810 (29)
Deployment Model Capsule – Supervision Owner Caplet – Component Owner Component – Functionality Owner
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0811 (29)
ModelInterpretation
ApplicationDomain
App.1
App.2
App.3
Application Evolution
Environment Evolution
Meta-LevelTranslatio
n
MetaprogrammingInterface
Formal Specifications
Model Interpreters
Models
Design Environment
Model Builder
GME
Model Integrated Computing
Co
py
righ
t © 2
00
4 V
an
derb
ilt U
niv
ersity
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0812 (29)
Tool Integration
Metamodeling
Analysis
Execution
Metamodels
Domainmodels
Translation
Synthesis & Generation
Model-ModelTransformations
Domain-specific modeling
Model Integrated Computer Tool Chains
Co
py
righ
t © 2
00
4 V
an
derb
ilt U
niv
ersity
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0813 (29)
Decorator Decorator
GModel GMeta
CORE
MetamodelXML
Paradigm Definition
Storage Options… DB #nDB #1 XML …
UML / OCL
COM
COMCOM
XML
XML
ODBC
ConstraintManager
Browser
InterpretersAdd-ons
GME Editor
GME Architecture
Co
py
righ
t © 2
00
4 V
an
derb
ilt U
niv
ersity
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0814 (29)
Model Transformation
Metamodel of Source Metamodel of Target
Input
Instantiates Instantiates
Refers to
Refers to
Transformation Modeling
Transformation Execution
Transformation Engine
Source ModelTarget Model
ScenarioScenario toto
MatlabMatlab
ScenarioScenario toto
ComponentsComponents
Output
Slide titleIn CAPITALS
50 pt
Slide subtitle 32 pt
Metamodel of Source
Input
Instantiates
Metamodeling
Modeling
Interpreter
Engine
Source Model
Output
Input
Model Transformation
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0816 (29)
Why can the modeler not be used as a Operation and Maintenance tool for the running application?
– Source of the application is a model in GME– Code is reflective it knows its meta-model
Reflect the changes in the running application into the
model
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0817 (29)
Deployment Tool
Deploys components in a distributed system Stores the current configuration of the system Receives configuration change messages and modifies
the model accordingly If the current state of the system is saved it can be
redeployed accordingly later on Implementation platform (Erlang, C, Java) independent
storage of the system state
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0818 (29)
Decorator Decorator
GModel GMeta
CORE
ConstraintManagerBrowser
InterpretersAdd-ons
GME Editor
Deployment Tool in the GME Architecture
Co
py
righ
t © 2
00
4 V
an
derb
ilt U
niv
ersity
Deployment Tool Running
application
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0819 (29)
Behaviour of the Deployment Tool Co
py
righ
t © 2
00
4 V
an
derb
ilt U
niv
ersity
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0820 (29)
Behaviour of the Deployment Tool Co
py
righ
t © 2
00
4 V
an
derb
ilt U
niv
ersity
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0821 (29)
Behaviour of the Deployment Tool Co
py
righ
t © 2
00
4 V
an
derb
ilt U
niv
ersity
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0822 (29)
Demo
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0823 (29)
Node1(Laptop1)
Primary caplet
CalculatorComponent
Node2(Laptop2)
Primary caplet
AdderComponent
Binding
Node3(Laptop3)
Application
Initialization state
•Add•Mult
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0824 (29)
Node1(Laptop1)
Primary caplet
CalculatorComponent
Node2(Laptop2)
Primary caplet
AdderComponent
Binding
Node3(Laptop3)
Application
Meta Data
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0825 (29)
Node1(Laptop1)
Primary caplet
CalculatorComponent
Node2(Laptop2)
Primary caplet
AdderComponent
Binding
Node3(Laptop3)
Application
Dynamic Interception
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0826 (29)
Node3(Laptop3)
Application
Creating new components
Node1(Laptop1)
Primary caplet
CalculatorComponent
Node2(Laptop2)
Primary caplet
AdderComponent
Binding
Binding
MultComponent
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0827 (29)
Node1(Laptop1)
Primary caplet
CalculatorComponent
Node2(Laptop2)
Primary caplet
AdderComponent
Binding
Binding
MultComponent
Reconfiguration
Node3(Laptop3)
ApplicationCalculatorComponent
Binding
Binding
MultComponent
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0828 (29)
Questions ?
Top right corner for field-mark, customer or partner logotypes. See Best practice for example.
Slide title 40 pt
Slide subtitle 24 pt
Text 24 pt
Bullets level 2-520 pt
16th session of the Software Technology Forum, Budapest 2006-06-0829 (29)