42
Institut Mines-Telecom Virtual Prototyping from SysML Models Presentation and Demonstrations Ludovic Apvrille [email protected] Journ´ ee SysML France

Ludovic Apvrille [email protected] Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

InstitutMines-Telecom

Virtual Prototyping from SysMLModels

Presentation and Demonstrations

Ludovic [email protected]

Journee SysML France

Page 2: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Outline

Virtual prototyping in a nutshell

Partitioning with DIPLODOCUSMethodology

Deployment with AVATARVirtual prototyping from design modelsCustomizing code generation in TTool

2/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 3: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Outline

Virtual prototyping in a nutshell

Partitioning with DIPLODOCUS

Deployment with AVATAR

3/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 4: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Definition

Generic definitionI From greek: πρωτoτuτoυ

I A prototype is an early sample, model or release of aproduct built to test a concept or process or to act as athing to be replicated or learned from (Wikipedia)

In our contextI Prototyping = experimenting a functional model mapped onto

a concrete hardware architectureI Virtual prototyping = experimenting a functional model

mapped onto a hardware modelI Hardware model can be more or less abstract/concrete

I Example : CPUs emulated with Instruction Set Simulator,abstract instructions, etc.

4/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 5: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Abstraction Level

(Source: Peek and Poke, July, 2013)5/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 6: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Developing an Embedded System:Methodology and Abstraction levels

6/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 7: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual Prototyping at Two Abstraction Levels

Partitioning

I Hardware highly abstractedI Goal: Analyzing various

functionally equivalentimplementation alternatives

I Mapping of functions andcommunications

I Metrics:I CPU loadI Bus occupationI Silicon area

Deployment

I Functions to besoftware-implemented havebeen designed

I Hardware target is not yetavailable

I Or not easy/practical touse

I Goal: Determining precisetiming and control issues

I Scheduling policyI LatenciesI Missed deadlines

7/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 8: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

TTool: A Multi Profile Platform

TToolI Open-source toolkit mainly developed by

Telecom ParisTech / COMELECI Multi-profile toolkit

I DIPLODOCUS, AVATAR, . . .

I Support from academic (e.g. INRIA, ISAE)and industrial partners (e.g., Freescale)

Main ideas

I Lightweight, easy-to-use toolkit

I Simulation with model animation

I Formal proof at the push of a button

8/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 9: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

Outline

Virtual prototyping in a nutshell

Partitioning with DIPLODOCUSMethodology

Deployment with AVATAR

9/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 10: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

DIPLODOCUS in a Nutshell

DIPLODOCUS = UML ProfileI System-level Design Space Exploration

I Y-Methodology

Main featuresI High level of abstraction

I Exchanged data are unvaluedI Complexity operatorI Parametrized hardware nodes

I Formal semantics

I Very fast simulation support

10/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 11: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

Partitioning with the Y-Methododology

11/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 12: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

Application Modeling

12/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 13: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

Architecture Modeling

13/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 14: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

Mapping

14/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 15: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

Browsing the DIPLODOCUS Methododology

15/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Application structure

Application behavior

Formal verification

Architecture model

Mapping model

Simulation

Formal verification

Page 16: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

Application Structure (Smart Card system)

16/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Back to methodology

Page 17: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

Application Behavior

Activity Diagram of the SmartCard component

17/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Back to methodology

Page 18: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

Formal Verification at Application Level

I No assumption on the underlying architecture

I All possible interleavings between actions are consideredI Formal verification is based on LOTOS/CADP or UPPAAL

I Press-button approach

18/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Back to methodology

Page 19: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

Architecture

I Given in terms of parameterized nodes

I CPU, HWA, Bus, Memory, Bridge, etc.

I CPU parameters: scheduling policy, cache miss ratio,miss-branching prediction, pipeline size, etc.

19/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Back to methodology

Page 20: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

Mapping

I Task are mapped on execution nodes (e.g., CPUs, HWAs)

I Channels are mapped on communication and storage nodes

20/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Back to methodology

Page 21: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

After-Mapping Simulation

I TTool Built-in simulator

I Extremely fast

I Diagram animation

I Step-by-step execution,breakpoints, etc.

21/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 22: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

After-Mapping Simulation (Cont.)

<<CPU>>

CPU0

AppC::SmartCard

AppC::Application

AppC::TCPIP

50%

195 pW

<<CPURR>>

HW1

AppC::InterfaceDevice

66%

230 pW<<CPURR>>

HW2

AppC::Timer

0%

90 pW

<<BUS>>

Bus0

0%

<<MEMORY>>

Memory0

22/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Back to methodology

Page 23: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

After-Mapping Formal Verification

I TTool built-in simulator can compute all possible executionpaths

I Graph analysis and visualization

23/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 24: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

After-Mapping Coverage-EnhancedSimulation

Possibility to select a given part of the model to be explored

I Minimum percentage of operators coverage

I Minimum percentage of branch coverage

Implementation: TTool built-in model-checking techniques

24/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Back to methodology

Page 25: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATARMethodology

A Few Case Studies ...

I MPEG coders and decoders (Texas Instruments)

I LTE SoC (Freescale)

I Partitioning in vehicle embedded systems (EVITA project)

I Partitioning and code generation for Software-Defined Radiosystems (SACRA project)

25/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 26: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Outline

Virtual prototyping in a nutshell

Partitioning with DIPLODOCUS

Deployment with AVATARVirtual prototyping from design modelsCustomizing code generation in TTool

26/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 27: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Deployment: Overview

______

Code

Local platform Virtual prototyping platform(e.g., SoCLib)

Target

27/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 28: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

AVATAR Design

I Block Definition and Internal Block diagrams are merged

I Synchronous and asynchronous communications

I Interactive simulation

I Formal verification of safety and security properties

<<block>>RemotelyControlledMicrowave

~ in wirelessChannelRead(Message msg)~ out wirelessChannelWrite(Message msg)

<<block>>MicroWaveOven

~ in remoteStart(int value)<<block>>

WirelessInterface

<<block>>Door

<<block>>Magnetron

- power = 0 : int;

~ ON()~ OFF()

~ in startM()~ in stopM()

<<block>>Controller

- duration = 5 : int;- remainingTime = 0 : int;

~ startCooking(int duration)~ durationModified(int duration)

~ in start(int duration)~ in closed()

<<block>>ControlPanel

- duration = 9 : int;

~ in LEDOn()~ in LEDoff()

<<block>>Bell

<<block>>RemoteControl

- duration = 12 : int;- msg1 : Message;- PSK : Key;

~ Message encrypt(Message msg, Key k)

<<datatype>>Key

- data : int;

<<datatype>>Message

- data : int;

<<block>>ObserverProp1

Heating

DoorOpenedWhileHeating

DoorOpened

closed()

closed()

startMagnetron()

startMagnetron()

stopMagnetron()

stopMagnetron()

start(duration)

Idle

open()

ringBell()

Heating(entry code)

open()

remoteStart(duration)

Starting(entry code)

obs_open()

obs_closed()

obs_magnetronStart()

obs_open()

obs_closed()

after (5,9)

remainingTime=durationstartCooking(remainingTime)

[ remainingTime==0 ]

[remainingTime > 0 ]after (1,1)remainingTime=remainingTime -1durationModified(remainingTime)

[ remainingTime>0 ]after (1,1)remainingTime= remainingTime -1durationModified(remainingTime)

28/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 29: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Principle of Code Generation

I Only AVATAR design diagrams are taken into accountI Generated code relies on POSIX threads

I One thread per block

I Synchronous communications between blocks is implementedin the AVATAR runtime with POSIX mutex

I Asynchronous communications relies on linked lists managed inthe AVATAR runtime

I Time is handled based on POSIX clock gettime() withCLOCK REALTIME option

I . . .

29/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 30: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Method

30/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 31: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Steps

1. Model refinement

2. Selection of an OS, setting of options of this OS (schedulingalgorithm, . . . )

3. Selection of a hardware platform, and selection of a taskallocation scheme

4. Code generation (press-button approach)

5. Manual code improvement - Code might also be manuallyadded at model level

6. Code compilation and linkage with OS

7. Simulation platform boots the OS and executes the code

8. Execution analysis: directly in TTool (sequence diagram) orwith debuggers (e.g., gdb)

31/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 32: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Support: SoCLib and MutekH

Hardware platform simulator:SoCLib (www.soclib.fr)

I Virtual prototyping of complexSystems-on-Chip

I Supports several models ofprocessors, buses, memories

I Example of CPUs: MIPS,ARM, SPARC, Nios2,PowerPC

I Two sets of simulation models:I TLM = Transaction Level

ModelingI CABA = Cycle Accurate Bit

Accurate

Embedded OperatingSystem: MutekH(www.mutekh.fr)

I Natively handlesheterogeneousmultiprocessor platforms

I POSIX threads support

I Note: any OperatingSystem supporting POSIXthreading and that can becompiled for SoCLib couldbe used

32/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 33: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Graphical Environment

33/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 34: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

(Virtual) Prototyping: Code Generation

34/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 35: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Virtual Prototyping: SocLib Simulation

35/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 36: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Virtual Prototyping: Console

36/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 37: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

(Virtual) Prototyping: Trace

TTooldisplays

executiontraces in asequencediagram

37/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 38: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Customizing Generated Code with Your OwnCode: Application and Block Code

I Global codeof theapplication

I Inclusionof headerfiles,globalvariables,. . .

I Code globalto one givenblock

Global code

Code specific to the block under edition

38/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 39: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Customizing Generated Code with Your OwnCode: State Entry Code

I Code executed whenever a state is reached

States with entry code

Entry Code Use of block variables

39/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 40: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Use of Customized Generated Code

Console debug

I Using e.g. printf() function

Connection to a graphical interface

I Piloting the code with a graphical interface

I Visualizing what’s happening in the executed code

I Connection to graphical interface via, e.g., sockets

40/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 41: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

Use of Customized Generated Code (Cont)

Graphical interface for the microwave oven

I Socket connection to a graphical interface programmed inJava

41/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models

Page 42: Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Journ ......6.Code compilation and linkage with OS 7.Simulation platform boots the OS and executes the code 8.Execution analysis:

Virtual prototyping in a nutshellPartitioning with DIPLODOCUS

Deployment with AVATAR

Virtual prototyping from design modelsCustomizing code generation in TTool

To Go Further ...

TTool, DIPLODOCUS, AVATAR

ttool.telecom-paristech.fr

42/42 06/02/2014 Institut Mines-Telecom Virtual prototyping from SysML Models