Transcript Slide 1
Brandenburg Technical University Cottbus
Chair of Computer Networks and
Communication Systems
Brandenburgische Technische Universität
Cottbus
Embedded software generation using model driven development
(A vision with the „State of the Art“)
Prabhu Shankar Kaliappan
BTU Cottbus, LS Rechnernetze und Kommunikationssysteme, Lehrstuhlinhaber: Prof. Dr.-Ing. H. König
03013 Cottbus, Postfach 10 13 44,Telefon: 0355/69-2236 Fax: 0355/69-2127
Outline
Session I
Background
Introduction about Model Driven Development (MDD)
Session II
Embedded systems and communication protocols
State of the Art
Survey results
Conclusion
2
Background(1/2)
The issue
People schedule 60% of their research time in the programming.
Design becomes more complexity in the heterogeneous project.
Need to focus about the platform specifications rather than the
problem.
Problem
domain
Problem
domain
Program
Leads
Program
Program
3
Background (2/2)
The solution
A middleware called modeling can be used as a bridge.
By Modeling
Standard way for
☞Design, Develop, Verify and Deploy.
Problem
domain
Abstracts from irrelevant
details
analyse
and
design
Abstracts from
implementation details
Program
Model
code
4
Introduction about Model driven development
Model Driven Development
Represents the artifact from design to the deployment
(code).
Platform specification
Auto map into platform and deploy
Method
Model Driven Architecture
Uses a set of standard specifications for development
5
Overview of the OMG Model Driven Architecture (MDA)
An approach to IT system specification that separates the
specification of system functionality from the specification of the
implementation.
MDA is a development paradigm that applies domain specific
modeling languages systematically to engineer computing
systems
Small scale real-time and embedded systems to large scale
distributed enterprise applications
It is model driven because it uses models to direct the course of
Understanding, design, construction,
maintenance and modification
deployment,
operation,
“Design once, build it on any platform”
6
The Object Management Group (OMG)
An open membership and no-profit consortium
Produces and mantains computer industry specifications for
interoperable enterprise applications
Who are OMG?
7
Basic concepts of MDA
A model is a formal specification of the function, structure and/or
behaviour of a system
Examples:
Source code is a model
An UML-based specification is a model
Models of different systems are structured explicitly into:
Computational Independent Models (CIM)
The goal of CIM is to bridge the gap between domain experts and
developers
Platform Independent Models (PIM)
Platform Specific Models (PSM)
8
MDA Model Types
Platform-independent models (PIMs)
A “formal” specification of the structure and function of a system
that abstracts away technical detail
Expressed using UML
PIM: an example
9
MDA Model Types
Platform-specific models (PSMs)
Specifies how the functionality specified in a PIM is realized on a
particular platform
Expressed using UML extended with platform specific UML profiles
solves the following issues:
Platform integration
The uncertainty of changing platform technology
10
PSM: an example
11
MDA metamodel
Infrastructure
PIM Mapping
techniques
<<based on>>
Mapping from
PIM to PIM
UML
1..n
<<expressed with>>
MOF
1..n
<<described with>>
Metamodel
<<expressed with>>
1..n
<<independant of>>
1..n
1..n
Mapping from
PIM to PSM
<<expressed with>>
Other
languages
PIM
Refactoring from
PSM to PIM
<<based on>>
<<described with>>
1..n
PSM
PSM Mapping
techniques
<<depends on>>
1..n
Mapping from
PSM to PSM
12
MDA in a Snapshot
Vertical
Domains
Core
Technologies
Core Target
Platforms
Pervasive
Services
13
MDA based design
Computational
Independent
Model
CIM
Platform
Independent
Model (PIM)
Task
Request
+
Model
PIM
Queries/Views/
Transformations
- OMG
QVT
Specific Platform
Platform
Specific
Model (PSM)
Libraries
Code
Generation / Simulation
C++ / Java / SystemC
Top Down Approach
PSM
Code
Bottom Up Approach
14
Benefits of MDA
Programming platform independence
Synthesize code ability which is highly dependable
Rapidly prototype new concepts and applications
Reduce cost in design and maintenance
Minimum of 5% efficiency can be tuned through MDA technique
15
Brandenburg Technical University Cottbus
Chair of Computer Networks and
Communication Systems
Brandenburgische Technische Universität
Cottbus
Questions on MDA..
BTU Cottbus, LS Rechnernetze und Kommunikationssysteme, Lehrstuhlinhaber: Prof. Dr.-Ing. H. König
03013 Cottbus, Postfach 10 13 44,Telefon: 0355/69-2236 Fax: 0355/69-2127
Outline
Session I
Background
Introduction about Model Driven Development (MDD)
Session II
Embedded systems and communication protocols
State of the Art
Survey results
Conclusion
17
Role of Embedded systems....
Applications
Automotive electronics
Aircraft electronics
Telecommunication
Medical Systems
Authentication Systems
Robotics
Consumer electronics.....
Aspects
Communication is one of
the factor to be considered
in dependable systems
Communication protocols to
be desgined and validated
systematically
Well communication
protocol leads to
QoS
Fault tolerant systems ..
18
Communication Protocols
May vary from domains
Network (PC to PC communication)
Process (Inter Process Communication)
Protocol basis..
Sender and Receiver : Transparent to the user
Problem
☞What happens when the data is discarded?
☞What happens when the data is lost?
☞What happens when the system is crashed?
☞What happens when the communication medium is lost?
☞What happens when the data has extra bits?
Solution
☞Design/Develop a self-intelligence based protocol.
19
Example of a communication protocol
eXample Data Transfer Protocol
Transfer large amount of data over unreliable media
Faults
Predictable and Unpredicatable faults
20
Development of communication protocols
Communication protocols
Set of procedure(s) used to transfer „n“ byte(s) of data between two
nodes.
Advantage
Dis-advantage
Three ways
--Efficient
resuability &
Implementation
flexibility
Structured design methodology + C
Advantage
Dis-advantage
- Standard
- resuability &
specifications
implementation
is limited
Formal description technique + Target code (SDL, Estell, Lotos)
Object Oriented Aproach + Target code (UML Profiles)
increased modularity, flexibility, extensibility and reusability
☞Model Driven Architecture techniques
21
Brandenburg Technical University Cottbus
Chair of Computer Networks and
Communication Systems
Brandenburgische Technische Universität
Cottbus
State of the Art
MDA based approaches for embedded systems
BTU Cottbus, LS Rechnernetze und Kommunikationssysteme, Lehrstuhlinhaber: Prof. Dr.-Ing. H. König
03013 Cottbus, Postfach 10 13 44,Telefon: 0355/69-2236 Fax: 0355/69-2127
Various approaches
Tools for Application specific hardware/software Co-design (TACO)
Software construction and embeded systems laboratories, Finland.
Generic Modeling Environment
// [Gme 07]
Institute for S/w integrated systems @ Vanderbilt university, Tennessee, USA.
Dataparallelism for Real-Time Systems (DaRT)
// [Jean 05]
The French National Institute for Research in Computer Science, France.
The Cadena project
University of Nebraska–Lincoln, USA.
// [Cade 07]
Model-Integrated Computing (MIC)
Object Management Group
// [Mic 07]
Component Synthesis with Model Integrated Computing (CoSMIC)
// [Cosm 07]
Institute for S/w integrated systems @ Vanderbilt university, Tennessee, USA.
// [Marcus 04]
23
TACO protocol processing architecture
Idea
Mapping rules
from QVT
PIM
Requirement
Specification
PSM
Domain Information
for hw/sw
Advantages
Efficient Implementation
Flexibility
Disadvantages
Limited validation
QVT is an general mapping profile
24
Generic Modeling Environment
Idea
Domain Specific
Mapping
PIM
Requirement
Specification
PSM
GME tool
Framework is based on Metamodel (PIM‘s and PSM‘s)
Advantages
Efficient implementation, flexibility, validation (thru tool)
UML profiles
Domain Specific
Disadvantages
General approach for all embedded softwares
25
DaRT - Dataparallelism for Real-Time
Idea
TLM
Advantages
Efficiency
UML profile for SoC
Simulation results
Disadvantages
Common approach
Explicit verification
Less semantics
Focus only on simulation
RTL
PIM
PIM
Requirement
Specification
Interop
PSM Bridge PSM
26
The Cadena project
Idea
Model Checkers
PIM
Requirement
Specification
PSM
UML Profiles : MARTE
Advantages
Efficient code generation
Proper validation of model
Disadvantages
Lack of domain specific language semantics
27
MIC & CoSMIC
MIC
Idea
Based UML profiles from OMG
Specification support for domain specific modeling languages
Uses GME as base + model checking
CoSMIC
Combination of GME and MIC: Component based
Advantages
Formal verification techniques
Model interpreter are used for application domain
Disadvantages
Very general approach
Not suitable for protocol specification.
28
Survey results based on the development
Challenge
TACO
GME
DaRT
Cadena
MIC
CoSMIC
Design
Y
Y
Y
Y
Y
Y
Mapping
Y
Y
Y
N
Y
Y
Early
N
Y
N
N
N
Y
Final
Y
N
Y
Y
Y
Y
Code generation
Y
Y
Y
Y
Y
Y
Testing thru
Profiles
N
Y
N
Y
N
Y
Y (L)
N
Y (L)
N
Y (L)
Y (L)
Verification
and
Validation
Domain Specific
Languages
Lack of specification profiles (for protocols)
Protocol needs early stage of validation
Legend: Y - Yes, N - No, (L) – Limited support
29
Survey results based on the development
Challenge
TACO
GME
DaRT
Cadena
MIC
CoSMIC
Design
Y
Y
Y
Y
Y
Y
Mapping
Y
Y
Y
N
Y
Y
Early
N
Y
N
N
N
Y
Final
Y
N
Y
Y
Y
Y
Code generation
Y
Y
Y
Y
Y
Y
Testing thru
Profiles
N
Y
N
Y
N
Y
Y (L)
N
Y (L)
N
Y (L)
Y (L)
Verification
and
Validation
Domain Specific
Languages
Lack of specification profiles (for protocols)
Protocol needs early stage of validation
Legend: Y - Yes, N - No, (L) – Limited support
30
How to improve
Appropriate methodology for communication protocol design
and specifiations (as Domain Specific Language)
Incorporating the Verification Validation techniques in early
stage of the development
Through Formal Verification Techniques
Introducing enhanced model checkers with proper semantics
Probably UML based profiles
UML profile for dependable systems (MARTE – Modeling and
Analysis for Real-Time Embedded systems)
UML profile for System on a Chip
UML profile for SystemC
31
Template for modeling
Computational Independent Model
R
E
F
I
N
E
M
E
N
T
S
E
X
P
L
I
C
I
T
System Modeler
S/W Model
H/W Model
Model
Checker
Integrated Model
Verification
and
Validation
UML Models
S
E
M
AN
T
I
CS
Domain
Specifier
System Mapper
Target
Model
Model
Verifier
Transformation Rules
(QVT)
Domain Specific
Language
for
communication
protocols
UML Profiles
XMI
System Generator /
System Validator
Libraries
Code Generator / Translator
Plugins
.Net , C++ , Java , SystemC
A Template based on MDA technique
32
Summary
Model Driven Development
Communication protocol
State of the art
Model Driven Techniques
Importance
☞Domain specific language for protocol design
☞Requirement of validation techniques
Design Template
Early validation for models
33
Future Work
Verification and Validation Techniques
Communication Protocols
Design specification for communication protocols
UML based specification
Incorporate V&V with design template
Spin tool + formal verification techniques
Case Study
Implementation
Efficiency comparison
34
35
References
[Marc 04]
Marcus, A.; Johan, L.; Ivan, P.; Dragos, T.: “MDE Support in a Protocol Processing Design
Method”, Proceedings of Model-Driven Architecture: Foundations and Applications 2004,
page(s): 234-247, Reseach Center for Intergrational Software Engineering, Department of
Computer and Information Science, Linköping, Sweden, Jun, 2004.
[Gme 07]
“Generic Modeling Environment”, http://www.isis.vanderbilt.edu/projects/gme/.
[Jean 05]
Jean-Luc, D.; Philippe, M.; Samy, M.; Cédric, D.; Pierre, B.; Smail, N.: “Why to do without
Model Driven Architecture in embedded system codesign?”, The first annual IEEE
BENELUX/DSP Valley Signal Processing Symposium, (SPS-DARTS 2005), Antwerp,
Belgium, April 2005.
[Cade 07]
http://cadena.projects.cis.ksu.edu/
[Mic 07]
“Model Integrated Computing”, http://mic.omg.org/.
[Cosm 07]
http://www.dre.vanderbilt.edu/cosmic/
[Mda 08]
www.omg.org/mda/
[Omg 08]
www.omg.org
36
Some of the OMG members:
AT&T
BEA
Borland
Boeing
CA
Citigroup
Compaq
Ericsson
Ford
Fujitsu
Glaxo
HP
Hitachi
Hyperion
IBM
IONA
io Software
Kabira
KC
John Deere
Microsoft
MITRE
MSC Soft
NASA
NEC
NetGenics
NTT
OASIS
Oracle
Pfizer
Rational
SAGA
SAP
SAS
Secant
Siemens
Sprint
Sun
Unisys
Vertel
37
UML Profile
// [Omg 08]
A standardized set of extensions (stereotypes and tagged values)
Defines an UML environment tailored to a particular use, such as
modeling for a specific platform
OMG Systems Modeling Langauge (SysML)
UML Profile for CORBA
UML Profile for CORBA® Component Model (CCM)
UML Profile for CORBA® & CORBA® Component Model (CCM)
UML Profile for DoDAF and MODAF (aka UPDM)
UML Profile for Enterprise Application Integration (EAI)
UML Profile for Enterprise Distributed Object Computing (EDOC)
UML Profile for Modeling and Analysis of Real-time and Embedded Systems
(MARTE) (Dependable Systems)
UML Profile for Modeling QoS and Fault Tolerance Characteristics and
Mechanisms
UML Profile for Schedulability, Performance and Time
UML Profile for Software Radio
UML Profile for System on a Chip (SoC)
UML Profile for Voice
UML Testing Profile
38