Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL...

48
Research & Technology Tutorial: MARTE: Also a UML profile for AADL SAE AADL meeting Seattle 2009 Madeleine FAUGERE

Transcript of Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL...

Page 1: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

Research & Technology

Tutorial: MARTE: Also a UML profile for AADL

SAE AADL meeting Seattle 2009Madeleine FAUGERE

Page 2: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

MARTE v.s. AADL

Modeling and analysis of real-time and embedded systems,including their software and hardware aspects

� MARTE:� Provides support for non-functional

property modeling� Adds rich time and resource models to

UML� Defines concepts for software and

hardware platform modeling� Defines concepts for allocation of

� AADL:� a core language providing full support

for � modeling the application tasks and

communication architecture,

� the hardware platform and the physical environment of embedded software-intensive systems,

predeclared properties to characterize task

2

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� Defines concepts for allocation of applications on platforms

� Provides support for quantitative analysis (e.g. scheduling, performance)

� Annexes: ARINC 653 API , OSEK APIs, AADL guidelines,…

� predeclared properties to characterize task execution and communication timing, as well as deployment of the application on the hardware platform.

� Annexes: a collection of standardized property to meet specific embedded system analysis needs such as � security analysis,

� dependability analysis,

� behavioral analysis,

� ARINC 653,

� support for automated generation and integration of systems.

Page 3: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

MARTE v.s. AADL

Similarities

� Cover the same objectives : languages for RTES design and analysis

� Provide software/hardware application design, binding, analysis capabilities,…

� Have semantic equivalencies

Differences

� UML/MARTE comes from the UML world,

� UML/MARTE covers a wide modeling range, with multiple abstraction layers, modeling

3

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� UML/MARTE covers a wide modeling range, with multiple abstraction layers, modeling capabilities from requirements, high level design, detail design, to code generation

� but in return …benefits from UML loose semantics, which becomes inconvenient for code generation and simulation aspects.

� AADL comes from the DSL world

� AADL address only the needed concepts

� Benefits from less concepts, addresses a specific abstraction layer (in terms of resources)

� Based on well defined and formalized execution semantics (AADL MoC)

Page 4: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Stakes of standards convergency

Tool based design

Interopérability

Langages, methods and tools interoperability

� Standard convergence

� Tool interoperability

4

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Capitalize executation

platform knowhow in

libraries

Standards

Page 5: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

MARTE status

OMG Acceptance:

�MARTE V1.0 : standard available at OMG

� MARTE has a dedicated Annex to AADL: AADL guidelines

� Ensure language interoperability between AADL and UML/MARTE

� Catch among UML/MARTE rich features the right AADL semantics and AADL abstraction level

� Explicit AADL implicit semantics

� Provides a good AADL features graphical abstraction

5

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� Provides a good AADL features graphical abstraction

� Provide User friendly design

� User will be placed in AADL code generation viewpoint

SAE acceptance:

� MARTE is the UML profile for AADL language

� SAE acceptance for AADL v2 specification (AS5506 01/09)

Page 6: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Mapping concepts

Components and packages

Software components

Execution platform components

Systems

Features and Shared access

Ports and Ports connections

Flows

6

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Flows

Modes and mode transition

� Each AADL explicit/implicit concept has been mapped on a MARTE concepts

� For each AADL predeclared property a MARTE property representation is proposed

Page 7: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Mapping Memory Map

� Software components

� Components and packages

AADL concept MARTE/UML concept for design

Abstract component

Prototype

7

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

AADL concept MARTE/UML concept for design

Process MARTE memoryPartition stereotype on UML Classifier

Thread MARTE swSchedulableRessource stereotype on UML Classifier

ThreadGroup

Data

• Uml DataType for a AADL primitive type,

• Uml DataType with attributes for a structured data type

• swMutualExclusionResource for a concurrent resource meaning

Data access UML2 port typed by UML interface composed of ONE attribute

Subprogram access UML2 port typed by UML interface composed of ONE operation

Feature group UML2 port typed by UML interface composed of at least two attributes or operations

Subprogram group + access

Page 8: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Mapping Memory Map

� System

� Execution platform components

AADL concept MARTE/UML concept for design

ProcessorhwProcessor stereotype on UML Classifier

Virtual processor

Memory hwMemory stereotype on UML Classifier

BusHwBus stereotype on UML Classifier

Virtual Bus

Device hwDevice stereotype on UML Classifier

8

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� System

� Features and shared access

AADL concept MARTE/UML concept for design

System SysML Block on UML composite structure

AADL concept MARTE/UML concept for design

Data Port FlowPort typed by an UML Primitive type or Data type

Event Port ClientServerPort typed by UML signal without data attributes

EventDataPort ClientServerPort typed by UML signal with only ONE data attributes

Inverse of IsConjugated stereotyped attribute on “FlowPort” and “ClientServerPort” UML ports

Page 9: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Mapping Memory Map

� Connections and flows

� Mode

AADL concept MARTE/UML concept for design

Connections

UML delegation connectors between Ports and Parts on composite diagrams

UML assembly connectors between parts

Flows specifications

End-To-End Flows

9

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� Mode

AADL concept MARTE/UML concept for design

Mode

Page 10: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Concepts mapping

� Component, packages

10

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 11: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Declaration/implementation view simplification

� AADL language makes a distinction between declaration and implementation

concepts

� This distinction will be kept in UML (

� Extension will be represented by an UML Generalization link, implementation by UML realization links)

package example

public

system sys1

features

e: in event port;

system implementation

sys1.impl

subcomponents

s1: system sub_sysA;

end sys1.impl;

11

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

e: in event port;

end sys1;

system sys2 extends sys1

features

e2: in event port;

end sys2;

system sub_sysA

end sub_sysA; ….

….system sub_sysB

end sub_sysB;

end sys1.impl;

system implementation

sys2.impl extends sys1.impl

subcomponents

s2: system sub_sysB;

end sys2.impl;

end example;

Page 12: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Privat/Public

� AADL package is a namespace with private and public sections.

� Components, systems, subcomponents, properties and mode specifications can be made public/private in relation with other subcomponents or parents system.

� Public entities are visible to other components, while the private one are only accessible within the private section.

12

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� AADL “Private” and “Public” concepts have been mapped to the UML visibility concepts, represented as meta-attribute owned by every “NamedElement”.

Page 13: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Privat/Public (2)

package example

public

system sys1

features

e: in event port;

end sys1;

system implementation sys1.impl

modes

m1: initial mode;

m2: mode;

m1-[e]->m2;

m2-[e]->m1;

end sys1.impl;

13

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

end sys1.impl;

private

system sys2

end sys2;

system implementation sys1.impl

subcomponents

s1: system sys2;

s2: system sys2 in modes ( m2);

end sys1.impl;

end example;

Page 14: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Abstract component

�AADL abstract component category represents a component that can be refined into any concrete component categories. It will be represented as an abstract UML classifier, refined using “refined” UML abstraction according AADL constraintes (features, access)

abstract car

end car;

14

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

system carRT extends car

end carRT;

system implementation carRT.impl extends car.generic

subcomponents

PowerTrain : refined to system power_train;

ExhaustSystem : refined to system exhaust_system;

end carRT.impl;

abstract power_train

end power_train;

abstract exhaust_system

end exhaust_system;

abstract implementation car.generic

subcomponents

PowerTrain: abstract power_train;

ExhaustSystem: abstract exhaust_system;

end car.generic;

Page 15: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Prototype

Prototypes represent parameterization of component type, component implementation, and feature group type declarations.

�AADL provide also refinement capabilities (in/out, requires/provided, port kind, component category),

�UML’s template concept provides only “typing” capabilities

�Only this AADL subset will be considered in a first time

15

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 16: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Concepts mapping

� Component, packages

� Some software components concepts

16

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 17: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Data

� The AADL data component represents different AADL concepts:

� primitive data types,

� structured data types

� mutual exclusion resources within a System

17

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 18: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Primitive Types

package data_types

public

data integer

properties

data_model::data_representation => integer;

�Each AADL primitive type from the data_types packages will havean UML/MARTE primitive type equivalent.

18

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

end integer;

end data_types;

Page 19: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Structured Data Types

data my_struct

properties

data_model::data_repr=>struct;

data_model::enumeration=>(“pA”,”pB”);

�A structured data type will be represented by an UML Data Typewith corresponding attributes;

19

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

data_model::enumeration=>(“pA”,”pB”);

data_model::base_types=>(classifier integer, classifier float);

end my_struct;

data logs

end logs;

Page 20: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Mutual Exclusion Resources (1)

�A MutualExclusion Resource on data declaration will be representedby a MARTE concurrency concept.

data my_data

properties

concurrency_control_protocol => (PIP, PCP,No….);

end my_data;

data my_struct

UML Primitive type also stereotyped

«MutualExclusionResource »

20

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

properties

data_model::data_repr=>struct;

data_model::enumeration=>(“pA”,”pB”);

data_model::base_types=>(classifier integer, classifier

float);

concurrency_control_protocol => (PIP,

PCP,No….);

end my_struct;

UML Data Type also stereotyped

«MutualExclusionResource »

Prerequisite:

An AADL property project with MARTE concurrency_protocols (PIP,PCP,No, etc ) shall exist

Page 21: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� AADL Data instance considered as « mutual exclusion resource »

data logs

end logs;

system my_system

end my_system;

system implementation my_system.I

Mutual Exclusion Resources (2)

UML Data Type part also stereotyped

«MutualExclusionResource »

21

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

system implementation my_system.I

subcomponents

l: data logs; {

concurrency_control_protocol => PIP;}

end my_system.I;

Page 22: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Different types of features, different usages

� AADL Data port

� Interfaces for typed state data transmission among components without queuing.

� Connections between data ports are either immediate or delayed

� AADL Event port

� Interfaces for the communication of events raised by subprograms, threads, processors and devices (examples: trigger for the dispatch of aperiodic thread, initiator of mode switch, alarm communications,…).

� Events may be queued. Event such alarms may be queued by the recipient, and the recipient may process the queue content.

� AADL Event Data port

22

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� AADL Event Data port

� Interfaces for message transmission with queuing. Enables the queuing of data associated with an event.

� Message arrival may cause dispatch of the recipient and allow the recipient to process one or more messages.

� Data access

� Modeling of shared access to a common data area or static data

� Subprogram access

� Access to subprogram component in enclosing thread group, process, or system. Execution by calling thread.

� Bus access

� Connectivity of execution platform components through buses whose access they share.

Page 23: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Data ports

� AADL Data port

� AADL Data Ports will be represented as MARTE “Flow Ports” typed by an UML

Primitive type or Data Type

� Their will be no queuing information associated to the MARTE Flow Port

process control

features

speed: in data port raw_speed;

thorttle_command: out data port Command_data;

23

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

end control;

Page 24: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

AADL Event Data ports

� AADL Event Data port:

� AADL Event Data Ports will be represented as MARTE ClientServerPort typed by

an UML signal with only ONE AADL data attribute

data raw_set_speed;

end raw_set_speed;

24

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

process control

features

set_speed: in event data port raw_set_speed;

set_speed2: in data port raw_set_speed;

end control;

Page 25: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

AADL Event ports

� AADL Event port

� AADL Event Ports will be represented as MARTE ClientServerPorts typed by an

UML signal WITHOUT data attributes

process control

features

control: in event port;

end control;

25

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

end control;

Page 26: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

AADL Data access

� AADL Data access will be represented by

� UML 2 ports typed by a UML interface

� UML delegation/assembly connection represents AADL data access connections and UML provided/required interface concept the AADL provides/requires data access

� UML Interface composed of an UML attribute representing the access to ONE AADL data

26

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

System global_system

end global_system;

System implementation global_system.I

subcomponents

sys1 : system my_system1.i;

sys2 : system my_system2.i;

connections

data access sys1.dp -> sys2.dp;

end global_system.I;

System my_system1

features

dp : provides data access D;

end my_system1;

System implementation my_system1.I

subcomponents

d : data D;

connections

data access d -> dp;

end my_system1.I;

System my_system2

features

dp : requires data access D;

end my_system2;

System implementation my_system2.I

subcomponents

proc1 : process my_process;

connections

data access dp -> proc1.data_access;

end my_system2.I;

Process my_process

features

data_access : requires data access D;

end my_process;

Data D

end D;

Page 27: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Subprogram access

� AADL Subprogram access will be represented by

� UML 2 ports typed by a UML interface

� UML Interface composed of an UML

operations representing the access to

ONE subprogram

� UML delegation/assembly connection

represents AADL subprogram access

connections and UML provided/required

27

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

connections and UML provided/required

interface concept the AADL

provides/requires data access

System implementation

global_system.I

subcomponents

sys1 : system my_system1.i;

sys2 : system my_system2.i;

connections

subprogram access sys1.sp ->

sys2.sp;

end global_system.I;

System my_system2

features

sp : requires subprogram access

sub_p1;

end my_system2;

Subprogram sub_p1

end sub_p1;

System my_system1

features

sp : provides subprogram access

sub_p1;

end my_system1;

System global_system

end global_system;

Page 28: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Bus access

� AADL Bus access will be represented by

� MARTE HwBus provides bus access services through a bus_access interface (without passing through ports)

� UML delegation/assembly connection represents AADL

bus access connections

28

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 29: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Feature group

� An AADL feature group

� is represented by an UML interface composed by at least of two attributes

or two subprogram access

� By default, the interface is provided

� Subprogram access et Data access are

Feature Group particular cases

� UML delegation/assembly connection

29

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� UML delegation/assembly connection

represents AADL feature group access

System implementation global_system.I

subcomponents

sys1 : system my_system1.i;

sys2 : system my_system2.i;

connections

feature group sys1.share -> sys2.share;

end global_system.I;

System global_system

end global_system;

System my_system2

features

share : inverse of feature group multi_access;

end my_system2;

Subprogram sp1 end sp1;

Subprogram sp2 end sp2;

Data D end D;

Data E end E;

System my_system1

features

share : feature group multi_access;

end my_system1;

Feature group multi_access

features

d : provides data access D;

e : provides data access E;

sp1 : provides subprogram access sp1;

sp2 : provides subprogram access sp2;

end multi_access;

Page 30: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Subprogram group

� Subprogram groups represent subprogram libraries accessible to other components through subprogram group access features and subprogram group access connections

Subprogram group stored

30

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Subprogram group stored

in « modelLibrary » Packages

Page 31: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Thread group illustration

� A thread group represents an

organizational component to logically group threads contained

in processes. � Thread group types and

implementations specifies the features , required subcomponent access , contained thread connectivity

� A thread group will be represented as

31

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� A thread group will be represented as

an abstract UML classifier stereotyped

“swSchedulable Resource” (used to

made de distinction with abstract

component)

Page 32: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Concepts mapping

� Component, packages

� Some software components concepts

� Some hardware mapping concepts

32

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 33: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Virtual Bus

�A virtual bus component represents logical bus abstraction such asa virtual channel or communication protocol. It will be represented atresource level as a MARTE “CommunicationMedia” stereotyped UMLconnection or classifier allocated to the physical HWBus.

� If the communication media represents a bus, and the clock is the bus speed,

"element size" would be the width of the bus, in bits.

� If the communication media represents a layering of protocols, "element size"

would be the frame size of the uppermost protocol.

33

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 34: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Virtual processor

� A virtual processor represents a logical resource that is capable of

scheduling and executing threads and other virtual processors bound to them.

It will be represented as a MARTE “swSchedulingResource” AND“ProcessingResource” stereotyped UML Classifier

Processor

34

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

ARINC Partitions

« swSchedulableRes. »

ARINC Processes

« swSchedulableRes »

« ProcessingRes. »

Page 35: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Binding

� AADL Binding

� MARTE

“Allocated” concept

35

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 36: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Concepts mapping

� Component, packages

� Some software components concepts

� Some hardware mapping concepts

� Modes representation

36

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 37: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

AADL Mode

An operational mode can represent different things:

� A phase of a system operation e.g., starting, stopping, reconfiguring switchers, in a supervisory control system of an electric grid.

� An operational system (or subsystem) state that is managed by

reconfiguration mechanisms (e.g., fault-tolerance management middleware) according to fault conditions.

� A state of system operation with a given level of QoS that can be handled by resource management infrastructures (e.g., middleware that assign

37

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

resource management infrastructures (e.g., middleware that assign

resources at run time according to load demand, timing constraints, or resource usage).

Page 38: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Mode concepts

MARTE has been enhanced with mode concepts

CommonBehavior

BehavioredClassifierModeBehavior

Behavior

{subsets context}

composite*

« profile »

CoreElements

Mode ModeTransition ModeBehavior

UML::StateMachines:::

BehaviorStateMachines::

State

UML::StateMachines::

BehaviorStateMachines::

Transition

UML::StateMachines::

BehaviorStateMachines::

StateMachine

38

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

BehavioredClassifier

Mode

ModeTransition

/outgoing

1source

* /incoming

1 target

*

ModeBehavior

*

mode *

Triggertrigger

0..1*

mode

0..1

*

transition

0..1

*

Configuration

participatingEntity*

activeIn

*

{subsets ownedBehavior}

modeBehavior

0..1

Configuration

UML::CompositeStructures::

InternalStructures::

StructuredClassifier

*mode

UML::Classes::Kernel::

Package

Page 39: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Configuration example

� A UML Composite structure will represent the mode specific typology

39

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 40: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

ModeBehavior

state machine sys1 sys1[ ]

initial_mode

� A UML State Machine, State and Transition will be used to represent the reconfiguration mechanism

40

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

<<Mode>>

m2

<<Mode>>

m1

guard: from etp

<<ModeTransition>>

et2

<<ModeTransition>>

, et

Page 41: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Data access in modes

41

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 42: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Concepts mapping

� Component, packages

� Some software components concepts

� Some hardware mapping concepts

� Modes representation

� Flow representation

42

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� Flow representation

Page 43: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

AADL Flows

�Flow Path

� A logical flow of data and control through a sequence of threads, processors, devices and port connections and data access

connections

� Flow path will be represented by “UML InformationItems”,

represented by UML Dependencies stereotyped “flows”. Flow Sinks and Flow Source will be implicit, they are represented by UML ports

staying for event, event data, data, and data access and feature group.

43

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

group.

Flow declaration:

Flow path flow1 : ep� ep2

Flow path flow2 : dp � ep2 ;

Flow implementations:

Flow path flow1 : ep�C1�B.F3�C3�C.F4�C4�ep2;

Flow path flow2 : ep�C2�B.F3�C3�C.F4�C4�ep2;

ep�C1�B.F3�C3�C.F4�C4�ep2

Page 44: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

AADL end-to-end flow

�An end-to-end flow represents a logical flow of data and control from a source to a destination through a sequence of threads that process and possibly transform the data.

�Two ways of representation:

� Sequence diagrams

44

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� Sequence diagrams

� Activity diagrams

Page 45: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Sequence Diagram representation

ETE1: end to end flow B.F3����C3����C.F4;

45

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Page 46: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Activity diagram representation

� The use of activity diagrams for end-to-end flows representation makes explicit the different objects transmitted between the various actions (allocated one of the threads instances).

� These objects properties

46

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� These objects properties intrinsically take into account timing aspects like queueing policies and dequeue protocols, impacting the final end-to-end latency.

Page 47: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Object Nodes represent queue between 2 tasks� Event/ event-Data ports -> Central Buffer Nodes

� Dequeued policy: Implicitly OneItems Protocol supported in UML

� QueueSize: Lower/Upperbound property

� Data ports -> DataStore

� UpperBound set to one, data never dequeud

47

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

<<CentralBuffer>>

Page 48: Tutorial: MARTE: Also a UML profile for AADL - … · Tutorial: MARTE: Also a UML profile for AADL ... Modeling and analysis of real-time and embedded systems, ... Data • Uml DataType

You a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

©T

HA

LE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

Ongoing work and conclusion

� MARTE v1.0 has to be aligned with AADL v2 new features

� New MARTE issues will be raised

� Mapping currently in validation process (Lambda project, Ellidiss)

� Objectives

48

The in

form

ation c

onta

ined in

this

docum

ent and a

ny a

ttachm

ents

are

the p

ropert

y o

f T

HA

LE

S. Y

ou a

re h

ere

by n

otified th

at any r

evie

w, dis

sem

ination, d

istr

ibution, c

opyin

g o

r oth

erw

ise u

se

of th

is d

ocum

ent is

str

ictly p

rohib

ited w

ithout T

hale

s pri

or

wri

tten a

ppro

val. ©

TH

ALE

S 2

008. T

em

pla

te t

rtp v

ers

ion 7.0

.5

� Objectives

� Commit (OMG, SAE) the tutorial by the end of Q1 2010