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