36
Monterey Workshop, Paris - 2006, October 17 1 DTSI Component models for embedded systems: from UML to Autosar François Terrier with contributions from Sylvain Robert, Ansgar Radermacher, Frédéric Loiret CEA-List [email protected]

Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

  • Upload
    lammien

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 1DTSI

Component models for embedded systems: from UML to Autosar

François Terrier

with contributions fromSylvain Robert, Ansgar Radermacher, Frédéric Loiret

CEA-List

[email protected]

Page 2: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 2DTSI

Local context of researchs

Usine Logicielle

@

Page 3: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Design and control of complex systems

Page 4: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Multi domain tools for Model Driven EngineeringHeterogeneity & interoperability management

Usine Logicielle

@

Design and control of complex systems

Models

Verification,testing,

co-simulation

Heterogeneous modelingFormalisms

Bridges MARTEUML RTEDSL Plug

EMFReposit.

Scilab

ActionLanguage

DSL PlugScade

FormalismsBridges

UML2MetaM

Modeltransfortation

language

Execution infrastructure built through generation & librariesIntegration of fault tolerance services

Container

Component

www.usine-logicielle.org

Page 5: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

NUM@TEC

AUTOMOTIVENUM@TEC

AUTOMOTIVE Research program on embedded systemsfor automotive & transportation

AUTOMOTIVEAUTOMOTIVE

Requirementmodeling,

traceability& ADL

Executionplatform and

design for Safety

Performance analysison OSEK plateform

Heterogenoussystem

simulation

Usine Logicielle

@Automotive instanciation

Design and control of complex systems www.numatec-automotive.com

Page 6: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 6DTSI

UML & Component model

… Starting with a UML profile for RT!

Page 7: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 7DTSI

Building a MDE tool chain for RTES

a conceptual frameworka development process and method, a set to software engineering toolsan execution platform

to assist in developing applications from requirements to deployment

Req. documents

Accord|UML

Preliminary analysis rules

Prototyper Spec. valider

System Analyst

System Analyst

PAM DAM

Validation Model

Prototype Model

Testing Model

Accord|UML

Detailed analysis rules

Accord|UML

Validation rules

Accord|UML

Testing rules

Accord|UML

Prototyping rules

• UML and profile based approachUML modelsModelling rules

• UML 2.0 ProfilesFor RTE concepts

• Tools to support methodologyAutomated refinementPattern applianceModel validation

• Dedicated RT KernelCode generation

Page 8: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 8DTSI

Introduce High level conceptsRealTimeObject: extend UML active object aRealTimeObject

Selection &concurrency

control

Attributes

ope_1signal_1...

taskMethodcode

Memoryspace

UML stereotype

Chose way to model RealTimeObject behaviorUse of protocol state machines ( now in UML2, see DIPES’2000…)

Off On

C

initReg[cptVit->getSpeed()=<30]/display("ON");

stopReg/display("OFF");

tm(100)/tgSpeed = cptVit->getSpeed();

[carSpeed=<30]/display("OFF");

/delta=k1*atan(tgSpeed-cuSpeed);mot->sendCmd(coupleVariation);

tgSpeed : intinitReg()stopReg()

Regulator

LogicLogic AlgorithmicAlgorithmic&

Method behaviorAlgorithmic parts

start_ maintainSp()

/ endOf_maintainSp()

Begin

End

carSpeed = cptVit->getSpeed();delta=k1*atan(tgSpeed-cuSpeed);mot->sendCmd(coupleVariation);

Regulator

+tgSpeed : integer+initReg()+stopReg()+maintainSp()

Off OninitReg()

stopReg()

maintainSp()

Class behavior-Control logic (protocol of use)

Page 9: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 9DTSI

Fix execution modelSpecify queue management policySpecify signal managementSpecify concurrency constraints…

Refine UML protocolstatemachines

Attach selection criteria on each message in the queue

RealTimeFeature

Declare constraints instead to implement them for implementation/platform independence purpose…

Page 10: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 10DTSI

Building complete modelsSeparate control (object life cycle) from data processing:

Control mechanisms are modeled using state machinesData processing actions are modeled using UML activity diagrams

• Require addition of explicit notations and some basic actionsMathematical actions are modeled using MathML language syntax

• Accord|ALproposes two formalismsA textual (edited in the model)A graphic based on UML activity diagram

In the profile, each action is defined by 3 elements + examples:semantics, textual notation (in EBNF), graphic notation

Ada likeSDL like

….

Java like

Page 11: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 11DTSI

Modeling rules for preliminary model definition

Interactions with the developed system seen as a black box

Focuss on use case definitionand collaboration specifications

Page 12: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 12DTSI

Assistance and automation:generation (& trace) of the detailed model squeleton

Page 13: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 13DTSI

Model translation into formal modelBehavior analysis through symbolic execution

Formal analysis of system behavior from its

UML model

Page 14: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 14DTSI

Feedback for behaviour representation

Test sequencesautomatically generatedand imported in modeler

Page 15: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 15DTSI

UML for RTES: a set of ongoing actions

Formalise an action language

UML 2

MOF

XMI

ExecutableUML

foundation

Autosar 2

Time model(clock/synchr)Characteristics

Ressources

Aligmentof timing

infos

Page 16: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 16DTSI

Overview of the tool set

Component Based Execution infrastructurebuilt through generation & libraries

UML back

bone

UML2MetaM

MARTE

Accord1 prof

ActionLang. Ed.

Comp. ADL prof.

Platform models

Code, wrapper

generator

Form

al te

chni

ques

Testgeneration

Scheduling analysis

Requirement validation

Sched. profAccordn prof

Test. prof

Req. prof

Method support

EMFReposit.

Page 17: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 17DTSI

Component diagram

Model the system architecture identifying

• Modular and replaceable parts of a systemContent is encapsulatedCan be replaced during design time or execution time

• Provided and required interface describing:Some structural points (attributes, associations, …)Its behaviour (operation, reception, state-machine, …)

• Two possible viewsExtern (“black box”): contract of use, visible behaviourIntern (“white box”)

Shows elements being purely intern to the component (« private »)Shows how behaviour defined by the interface are implemented

• Connexion mechanismsInterface dependencies (association, use, realization)

Page 18: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 18DTSI

UML 2.0 InterfaceSpecify operation, signal, attribute, behaviour

No instances (~abstract class)

“Provided” realized by a classifier (Class, Component…)A classifier can realize several interfaces

Required used by a classifier

« Interface »Starter

start()stop()« reception »OnOffmaxSp: float

Starter Display

« component »SpeedRegulator

Figure2: condensed notation

Provided Providedprovidedoperation

providedsignal

reaction

provideddata

Page 19: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 19DTSI

Interface can have constraint of use• Conformance between Interface / Realisation

protocol state-machine conformanceState invariant, pre- and post-conditions of interface

protocol apply on realization state-machineTorqueManager

+start()+stop()

« reception »+OnOff

+maxSp: float

-calcTorque()

-targetSp: float

waiting

running

startstop

OnOff

OnOff

{protocol}

calcTorque

New states,transitions, operations, receptionsare allowed

« Interface »Starter

start()stop()« reception »OnOffmaxSp: float

waiting

running

startstop

OnOff

OnOff

{protocol} Possible formal interpretation:- Real. state Inv. ⇒ Interf. state Inv.- For each mapped operation

Interf. Pre ⇒ Real. PreReal. Post ⇒ Interf. Post

Page 20: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 20DTSI

Connectors• Delegation connector links interfaces

of a component with contained parts

DisplayStarter

« component »SpeedRegulator

SpM_I

DispSp

« component »SpeedSensorManager

TorqueManager

mySSM 0..1

Used to model behaviourimplementation in nested componentsImplementation conformity required

• Assembly connector linksrequired and provided interfaces

Conformity of the interfaces required

Starter Display

« component »SpeedRegulator

« component »RegulatorScreen

Implicit assembly connector

Page 21: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 21DTSI

Ports

• Ports to structure usages of the interfaces

Display

Starter

« component »SpeedRegulator

SpM_I

DispSp

« component »SpeedSensorManager

TorqueManager

mySSM 0..1

ErrorOut

ErrorIn

• Ports making explicit communication links

« component »SpeedRegulator

« component »RegulatorScreen

{CCM RPC}

Page 22: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 22DTSI

• From Models to Implementation:Use of a MW component model

Page 23: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 23DTSI

A CCM component and its container

• Principle of CCM component definition

IDLinterfacedescr.

CCMComponent

Life cycle management

Eventsink

Receptacles

Eventsource

Facets

AttributescomponentMgt

CIDLcomponentdeploymentdescr.

• CCM component model

Page 24: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 24DTSI

Container/Component model

• Container associated to component aims toLocalise functional product upgrade in the componentLocalise dependencies to platforms in the containerProvide acces to infrastructure services

Execution Infrastructure

Component

Container

Component

• Separation of concerns:business logic'technical' properties

• Explicit description of:provided services to other componentsrequested services from other components

Containers are provided as part of the infrastructureBased on descriptors move from programmatic to declarativeEasier deployment and reuse, needed for reconfiguration

Page 25: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 25DTSI

Containter limitation on interactions

• CCM interactions extensions:Complex RTE interactions (Streaming, Event passing with priorities, Buffering, Various pub/sub, Deferred synchronous call, Blackboard)Modular, extensible interactions

• Make interactions independent from CORBAEmbedded Constrained HW platforms

• Have minimal impact on CCMReuse of existing items

• Methodological benefits:Interactions management peculiar to business domainExpertise capitalization

Page 26: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 26DTSI

Introducing connectors: C3MComponent-Container-Connector Model

• Software entity managing inter-components interaction:May be considered as part of the containerFragmentedCommunication layer specific to the connector(potentially) complex intermediary processing

Node A

container

component

Node B

container

component

Communication layer – connector specific (e.g. OSEKcom)

Interaction Connector

Client connectorfragment

Server connectorfragment

Page 27: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 27DTSI

Introducing connectors: C3M

• Conceptual mapping with UML components

Node A

container

component

Node B

container

componentInteraction Connector

Client connectorfragment

Server connectorfragment

« component » « component »

{Genric: Deleyed synchronous} {Domain: “Aloha” protocol}

Communication layer – connector specific (e.g. OSEKcom)

Page 28: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 28DTSI

Illustration with the OSEK platform

• Execution infrastructure for highly constrained hardware platforms

an operating system (OSEK-OS)multi-tasking operating systemhighly static, all resources declared at compile time (OIL file)

coupled with a communication environment (OSEK-COM)simple message-based communication

From CCM to OSEK: Mapping a (highly dynamic) component-based approach (CCM) on a basic (and highly static) RT/OS!

How preserving the CCM development process?

Page 29: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 29DTSI

Illustration with OSEK - Execution model

• Activities instead of componentsIdentification of activities (control flows) in application architecture

Basically linked to application entry pointsActivities timing features description (e.g. end-to-end deadline)

• Mapping to tasksComponents are design-time development artifacts,

with no runtime counterpartComponent code is kept intact

Task2Task1

CF1

CF2

Page 30: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 30DTSI

Illustration with OSEK - Communications

• Each Interaction mechanism is realized by a connector. Ex: synchronous call:

The connector fragment at caller side sends an eventThe connector fragment at target side receives this event

Infinite loop

TASK

WAIT EVENT

CLEAR EVENT

CALL ACTIVITY

C1

C2

providedasynchronous

Enqueue request+ SetEvent required

Page 31: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 31DTSI

Illustration with OSEK - container services

C1

• Periodic activation:Achieved through the use of alarms and countersInteraction with a timer module (part of framework)

Alarm_C1Period = P_C1

Callback

Timer

Periodicincrement

BaseCounter

Callback

Alarm_C2Period = P_C

C2

Page 32: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 32DTSI

Illustration with OSEK – complete generation chain

C

IDL

C

IDLC

IDL

ArchitectureDeployment

generated

makefile

OILDesc.

ContainerSRC

ComponentOBJ or LIB

(COTS)

Init.

ComponentSRC

(App. specific)CFG.

Generation tool

Compile and Link tool• Mapping from IDL to Embedded C++• Connector gen. for asynch invocations• Integrated into OSEK develop. Chain

• Achieved small footprint (1 component)• component ROM : 2,71 kBytes RAM : 17 Bytes• container ROM : 23,8 kBytes RAM : 1,43 kBytes

ApplicationCPU 1

ApplicationCPU 2

ApplicationCPU N…

Page 33: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 33DTSI

Conclusion

• The (MDE) process is similarto several approaches such as (e.g.)

AADL & toolsFractal / ThinkAutosar + tools

Page 34: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 34DTSI

Component interface

description« Fractal IDL »

Component deployment description

“Fractal ADL”

MW&OS generation

MW&OS assembly

Page 35: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 35DTSI

Component interface

description« Autosar IDL »

Component deployment description

“Autosar ADL”

Autosar MW (RTE)and task parameters

generation

Page 36: Component models for embedded systems: from UML to … · Component models for embedded systems: from UML to Autosar ... extend UML active object aRealTimeObject ... Java like. DTSI

Monterey Workshop, Paris - 2006, October 17 36DTSI

Starting action…

FractalC3M

UMLLwCCM

PolyORB OASISCEA

UML profile for RT-ADL

MARTEUML

Common component model

Think µCCM

PolyORB OASISCEA

Try to push someconvergence oncomponent Modelsand technologies