brandenburgische technische universität cottbus brandenburg technical university cottbus chair of...
Post on 19-Dec-2015
218 views
TRANSCRIPT
BTU Cottbus, LS Rechnernetze und Kommunikationssysteme, Lehrstuhlinhaber: Prof. Dr.-Ing. H. König03013 Cottbus, Postfach 10 13 44,Telefon: 0355/69-2236 Fax: 0355/69-2127
Brandenburgische Technische Universität Cottbus
Brandenburg Technical University Cottbus
Chair of Computer Networks and Communication Systems
Embedded software generation using model driven development(A vision with the „State of the Art“)
Prabhu Shankar Kaliappan
2
Outline
Session I
Background Introduction about Model Driven Development (MDD)
Session II
Embedded systems and communication protocols State of the Art Survey results Conclusion
3
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.
Program
Leads
Problem domain
Program
ProgramProblem domain
4
Background (2/2)
The solution A middleware called modeling can be used as a bridge.
By ModelingStandard way for
☞Design, Develop, Verify and Deploy.
Program
Problem domain
Model
analyse and design
code
Abstracts from implementation details
Abstracts from irrelevant details
5
Introduction about Model driven development
Model Driven Development
Represents the artifact from design to the deployment (code).
Platform specificationAuto map into platform and deploy
Method Model Driven Architecture
Uses a set of standard specifications for development
6
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, deployment, operation, maintenance and modification
“Design once, build it on any platform”
7
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?
8
Basic concepts of MDABasic concepts of MDA
A model is a formal specification of the function, structure and/or behaviour of a system
Examples:Source code is a modelAn 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)
9
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
10
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
11
PSM: an examplePSM: an example
12
MDA metamodelMDA metamodel
MOF
Other languages
UML
Metamodel
PIM Mapping techniques
PSM Mapping techniques
PIM
PSM
Infrastructure
<<expressed <<expressed with>>with>>
<<expressed <<expressed with>>with>>
<<expressed <<expressed with>>with>>
<<based <<based on>>on>>
1..n1..n
<<based <<based on>>on>>
1..n1..n
Refactoring Refactoring from PSM to from PSM to PIMPIM
<<described <<described with>>with>>
1..n1..n
<<described <<described with>>with>>
1..n1..n
Mapping Mapping from PIM to from PIM to PIMPIM
1..n1..n
Mapping Mapping from PIM to from PIM to PSMPSM
1..n1..n
Mapping Mapping from PSM to from PSM to PSMPSM
1..n1..n
<<depends <<depends on>>on>>
<<independant <<independant of>>of>>
13
MDA in a SnapshotMDA in a Snapshot
Core Core TechnologieTechnologie
ss
Core Target Core Target PlatformsPlatforms
Pervasive Pervasive ServicesServices
Vertical Vertical DomainsDomains
14
MDA based design
CIM
Task
Model
Platform Independent Model (PIM)
Computational Independent
Model
Platform Specific
Model (PSM)
Specific Platform
Code Generation / Simulation
QVT
Queries/Views/Transformations
- OMG
Top Down Approach
Bottom Up Approach
Request
PIM
PSM
Code
C++ / Java / SystemC
+
Libraries
15
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
BTU Cottbus, LS Rechnernetze und Kommunikationssysteme, Lehrstuhlinhaber: Prof. Dr.-Ing. H. König03013 Cottbus, Postfach 10 13 44,Telefon: 0355/69-2236 Fax: 0355/69-2127
Brandenburgische Technische Universität Cottbus
Brandenburg Technical University Cottbus
Chair of Computer Networks and Communication Systems
Questions on MDA..
17
Outline
Session I
Background Introduction about Model Driven Development (MDD)
Session II
Embedded systems and communication protocols State of the Art Survey results Conclusion
18
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
QoSFault tolerant systems ..
19
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.
20
Example of a communication protocol
eXample Data Transfer Protocol Transfer large amount of data over unreliable media
Faults Predictable and Unpredicatable faults
21
Development of communication protocols
Communication protocols Set of procedure(s) used to transfer „n“ byte(s) of data between two
nodes.
Three ways
Structured design methodology + C
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
Advantage
- Efficient Implementation
Dis-advantage
- resuability & flexibility
Dis-advantage
- resuability & implementation
is limited
Advantage
- Standard specifications
BTU Cottbus, LS Rechnernetze und Kommunikationssysteme, Lehrstuhlinhaber: Prof. Dr.-Ing. H. König03013 Cottbus, Postfach 10 13 44,Telefon: 0355/69-2236 Fax: 0355/69-2127
Brandenburgische Technische Universität Cottbus
Brandenburg Technical University Cottbus
Chair of Computer Networks and Communication Systems
State of the Art
MDA based approaches for embedded systems
23
Various approaches
Tools for Application specific hardware/software Co-design (TACO) // [Marcus 04] 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 // [Cade 07] University of Nebraska–Lincoln, USA.
Model-Integrated Computing (MIC) // [Mic 07] Object Management Group
Component Synthesis with Model Integrated Computing (CoSMIC) // [Cosm 07] Institute for S/w integrated systems @ Vanderbilt university, Tennessee, USA.
24
TACO protocol processing architecture
Idea
AdvantagesEfficient ImplementationFlexibility
DisadvantagesLimited validationQVT is an general mapping profile
Requirement Specification
PIM PSM
Domain Informationfor hw/sw
Mapping rules from QVT
25
Generic Modeling Environment
Idea
Framework is based on Metamodel (PIM‘s and PSM‘s) Advantages
Efficient implementation, flexibility, validation (thru tool)UML profilesDomain Specific
DisadvantagesGeneral approach for all embedded softwares
Requirement Specification
PIM PSM
Domain Specific Mapping
GME tool
26
DaRT - Dataparallelism for Real-Time
Idea Advantages Efficiency UML profile for SoC Simulation results
Disadvantages Common approach Explicit verification Less semantics Focus only on simulation
Requirement Specification
PSM
PIM PIM
TLM RTL
Interop Bridge PSM
27
The Cadena project
Idea
Advantages Efficient code generation Proper validation of model
Disadvantages Lack of domain specific language semantics
Requirement Specification
PIM PSM
Model Checkers
UML Profiles : MARTE
28
MIC & CoSMIC
MIC Idea
Based UML profiles from OMGSpecification support for domain specific modeling languagesUses 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.
29
Survey results based on the development
Lack of specification profiles (for protocols) Protocol needs early stage of validation
Challenge TACO GME DaRT Cadena MIC CoSMIC
Design Y Y Y Y Y Y
Mapping Y Y Y N Y Y
Verification and
Validation
Early N Y N N N YFinal Y N Y Y Y Y
Code generation Y Y Y Y Y YTesting thru Profiles N Y N Y N YDomain Specific Languages Y (L) N Y (L) N Y (L) Y (L)
Legend: Y - Yes, N - No, (L) – Limited support
30
Survey results based on the development
Lack of specification profiles (for protocols) Protocol needs early stage of validation
Challenge TACO GME DaRT Cadena MIC CoSMIC
Design Y Y Y Y Y Y
Mapping Y Y Y N Y Y
Verification and
Validation
Early N Y N N N YFinal Y N Y Y Y Y
Code generation Y Y Y Y Y YTesting thru Profiles N Y N Y N YDomain Specific Languages Y (L) N Y (L) N Y (L) Y (L)
Legend: Y - Yes, N - No, (L) – Limited support
31
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
32
Template for modeling
Model Checker
ModelVerifier
System Mapper DomainSpecifier
Transformation Rules (QVT)
UML Profiles
System Modeler
S/W Model H/W Model
Computational Independent Model
.Net , C++ , Java , SystemC
REFINEMENT S
System Generator / System Validator
Integrated Model
EXPLICIT
SEM A N T I C S
Target Model
Libraries
PluginsCode Generator / Translator
XMI
UML Models
Verification and
Validation
A Template based on MDA technique
Domain Specific Language
for communication
protocols
33
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
34
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
35
36
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
37
Some of the OMG members:Some of the OMG members:
AT&TAT&T BEABEA BorlandBorland BoeingBoeing CACA CitigroupCitigroup CompaqCompaq EricssonEricsson FordFord FujitsuFujitsu
GlaxoGlaxo HPHP HitachiHitachi HyperionHyperion IBMIBM IONAIONA io io
SoftwareSoftware KabiraKabira KCKC John John
DeereDeere
MicrosoftMicrosoft MITREMITRE MSC SoftMSC Soft NASANASA NECNEC NetGenicNetGenic
ss NTTNTT OASISOASIS OracleOracle PfizerPfizer
RationalRational SAGASAGA SAPSAP SASSAS SecantSecant SiemensSiemens SprintSprint SunSun UnisysUnisys VertelVertel
38
UML ProfileUML Profile // [Omg 08]// [Omg 08]
A standardized set of extensions (stereotypes and tagged values)A standardized set of extensions (stereotypes and tagged values) Defines an UML environment tailored to a particular use, such as Defines an UML environment tailored to a particular use, such as
modeling for a specific platformmodeling 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