brandenburgische technische universität cottbus brandenburg technical university cottbus chair of...

38
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 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

Post on 19-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 2: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 3: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 4: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 5: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 6: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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”

Page 7: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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?

Page 8: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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)

Page 9: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 10: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 11: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

11

PSM: an examplePSM: an example

Page 12: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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>>

Page 13: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

13

MDA in a SnapshotMDA in a Snapshot

Core Core TechnologieTechnologie

ss

Core Target Core Target PlatformsPlatforms

Pervasive Pervasive ServicesServices

Vertical Vertical DomainsDomains

Page 14: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 15: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 16: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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..

Page 17: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 18: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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 ..

Page 19: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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.

Page 20: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

20

Example of a communication protocol

eXample Data Transfer Protocol Transfer large amount of data over unreliable media

Faults Predictable and Unpredicatable faults

Page 21: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 22: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 23: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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.

Page 24: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 25: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 26: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 27: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 28: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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.

Page 29: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 30: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 31: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 32: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 33: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 34: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 35: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

35

Page 36: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 37: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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

Page 38: Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of Computer Networks and Communication Systems BTU Cottbus,

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