Brandenburgische Technische Universität Cottbus Brandenburg Technical University Cottbus Chair of...

Preview:

Citation preview

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

Recommended