8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 1/243
www.omgmarte.org
Copyright©
Thales,C
EAandINRIA2007Allrig
htsreserved,c
ommercialusestrictlypro
hiited!
MARTE Tutorial
"# %&' ()*#+*,+- .&/ 0,12345 )1 +565410 75*4893:5 *#+ ;:<5++5+ (=()5:(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 2/243
>
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
r s i o n
C ! C
www.omgmarte.org
Acknowledgment
This presentation reuses and extends material prepared by the
ProMARTE partners for the OM RTE!! PT" meeting in !an #iego$ onMarch %&th %''(
This tutorial has been designed in the context of )ORTE!! pro*ectwithin the )ARRO++ research program D))0-EEFFFGH*,,1448,5(5*,HDG1,IE
"ollowing persons ha,e contributed to this tutorial J;" /KL9 M H1#)*H)- (5<*()35#GI5,*,+NH5*G2, O
PQ*(H*, ;(03#1R*S LT<*()35# 'T,*,+S L*21Q*# 9*D* *#+ U,T+T,3H 9D1:*(G
KV7K" MH1#)*H)- 71<5,)GW5X(3:1#5N(10D3*G3#,3*G2, O JD*,45( "#+,TS 71<5,) +5 L3:1#5S Y35,,5 Z1Q45)
9D*45( 979 MH1#)*H)- /*Q,5#)G,31Q[N)D*45(I,1Q0GH1:O &*+5453#5 U*QI\,5S /*Q,5#) 731Q[S L5<*()35# W5:*)D35Q
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 3/243
]
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
r s i o n
C ! C
www.omgmarte.org
-ow to read this tutorial
ithin next slides$ we may shown models at different le,elsof abstraction. e will clarify each le,el through following
pictograms
U1, W1:*3# ^35F 45654
U1, .&/ Y,12345 ^35F /5654
U1, .(5, &1+54 ^35F /5654
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 4/243
_
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
r s i o n
C ! C
www.omgmarte.org
Agenda
Part /
0ntroduction to M## for RT1E systems 2 MARTE in a nutshell
Part %
V1#82Q#H)31#*4 0,105,)35( :1+543#I
%Q)43#5 12 )D5 ^*4Q5 L05H323H*)31# /*#IQ*I5 M^L/O
Part 3
9D5 )3:3#I :1+54
Part 4
" H1:01#5#) :1+54 21, 79E;
Part 5
Y4*)21,: :1+543#I
Part 6
7505)3)365 (),QH)Q,5 :1+543#I
Part (
&1+548<*(5+ *#*4=(3( 21, 79E;
Part & &"79; *#+ ""W/
Part 7
J1#H4Q(31#(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 5/243 `
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
r s i o n
C ! C
www.omgmarte.org
Models in Traditional Engineering
Probably as old as engineering
Extracted from B. Selic presentation during Summer School MDD
For DRES 2004 (Brest, September 2004)
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 6/243 a
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
r s i o n
C ! C
www.omgmarte.org
hat is a Model in M##
One definition " ,5+QH5+E*<(),*H) ,50,5(5#)*)31# 12 (1:5 (=()5: )D*) D3ID43ID)( )D5
0,105,)35( 12 3#)5,5() 2,1: * I365# 013#) 12 635FG
9D5 013#) 12 635F +523#5( H1#H5,# *#+ (H105 12 )D5 :1+54G
Inspired from B. Selic presentation during Summer School MDD
For DRES 2004 (Brest, September 2004)
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 7/243b
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
r s i o n
C ! C
www.omgmarte.org
The Model
Map is based on a legend (explicit orimplicit) Here the map of bicycle roads of Seattle
As a map, the legend is defined in agraphical language, it means also thelegend is declared with a similarformalism.
If the Map is a Model, the legend is themeta-model defining the subset ofgraphical language used to build the model
The Legend is necessary to interpret themap.
If the legend is not shown, this mean werefer to a standard legend and implicit.
The Legend
U,1: cG Z5R363# E KV7K"
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 8/243d
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
r s i o n
C ! C
www.omgmarte.org
A Model without its meta8model has no meaning
PercentageOf town
infested of termites
Candidates at thePresidential election
In France in 2002
U,1: cG Z5R363# E KV7K"
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 9/243e
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
r s i o n
C ! C
www.omgmarte.org
The Model help to understand the system
Functional modelSystem to model
"or "unctional ,iewpoint and its design
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 10/243
fg
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
r s i o n
C ! C
www.omgmarte.org
hy Model #ri,en Engineering is 9eeded:
To deal with complexity of systems de,elopment
"<(),*H) * 0,1<45: )1 21HQ( 1# (1:5 0*,)3HQ4*, 013#)( 12 3#)5,5() 3:0,165 Q#+5,()*#+*<343)= 12 * 0,1<45: Y1((3<45 (5) 12 #5*,4= 3#+505#+5#) 635F( 12 * :1+54
L50*,*)31# 12 H1#H5,#( M5GIG h"(05H) %,35#)5+ &1+543#IiO
K)5,*)365 :1+543#I :*= <5 5[0,5((5+ *) +3225,5#) 45654 12 *<(),*H)31#
To minimi;e de,elopment risks 9D,1QID *#*4=(3( *#+ 5[05,3:5#)*)31# 05,21,:5+ 5*,4= 3# )D5 +5(3I# H=H45 ;#*<45 )1 3#65()3I*)5 *#+ H1:0*,5 *4)5,#*)365 (14Q)31#(
To impro,e communication ... ... to foster information sharing and reuse<
" I11+ :1+54 3( <5))5, )D*# * 41#I (055HD j
To reduce de,elopment flaws "Q)1:*)3H :1+54 ),*#(21,:*)31# 3( 45(( 5,,1,80,1#5 )D*# <Q34+3#I * (05H323H
H1:0345, Extracted from S.Gerard (ECRTS07)
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 11/243
ff
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
r s i o n
C ! C
www.omgmarte.org
hy= Pro,ide )ontinuum in de,elopment process
Re>uirements
!ystem #esign
!ub8system #esign
!oftware
Re>uirements
!oftware #esign
"Q)1:*)31#
"Q)1:*)31#
"Q)1:*)31#
"Q)1:*)31#
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 12/243
f>
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
)haracteristics of ?seful Models
Abstract
;:0D*(3R5 3:01,)*#) *(05H)( FD345 ,5:163#I 3,,5456*#) 1#5(
?nderstandable
;[0,5((5+ 3# * 21,: )D*) 3( ,5*+34= Q#+5,()11+ <= 1<(5,65,(
Accurate
U*3)D2Q44= ,50,5(5#)( )D5 :1+545+ (=()5:
Predicti,e J*# <5 Q(5+ )1 *#(F5, kQ5()31#( *<1Q) )D5 :1+545+ (=()5:
0nexpensi,e
&QHD HD5*05, )1 H1#(),QH) *#+ ()Q+= )D*# )D5 *H)Q*4 (=()5:
To be useful, engineering models must satisfy all of thesecharacteristics!
M;[),*H)5+ 2,1: ZG L543H 0,5(5#)*)31# +Q,3#I LQ::5, LHD114 &WW U1, W7;L >gg_ MZ,5()S L50)5:<5, >gg_O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 13/243
f]
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
SC_MODULE(producer) {
sc_outmaster<int> out1;
sc_in<boo> start; !! "ic"#start
$oid %enerate_data () {
&or(int i '; i <1; i) {
out1 'i ; !!to in$o"e sa$e;
*
*
SC_C+O,(producer) {
SC_ME+-OD(%enerate_data);
sensiti$e << start;
**;SC_MODULE(top) { !! container producer ./1; consumer .01; sc_in"_mp<int> in"1; SC_C+O,(top) { /1 ' ne producer(2/13); /14out1(in"1); 01 ' ne consumer(2013); 014in1(in"1); **;
SC_MODULE(consumer) { sc_insa$e<int> in1; int sum; !! state $ariabe
$oid accumuate (){ sum ' in1; cout << 2Sum ' 2 << sum << end; * SC_C+O,(consumer) { SC_SL/5E(accumuate6 in1); sum ' ; !! initiai7e*
*;
A @it of Modern !oftware
Can you spot the architecture?Can you spot the architecture?
M;[),*H)5+ 2,1: ZG L543H 0,5(5#)*)31# +Q,3#I LQ::5, LHD114 &WW U1, W7;L >gg_ MZ,5()S L50)5:<5, >gg_O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 14/243
f_
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
and its ?M+ Model
«sc_module»«sc_module»
consumer consumer «sc_module»«sc_module»
producer producer
«sc_link_mp»
link1
Can you spot the architecture?Can you spot the architecture?
M;[),*H)5+ 2,1: ZG L543H 0,5(5#)*)31# +Q,3#I LQ::5, LHD114 &WW U1, W7;L >gg_ MZ,5()S L50)5:<5, >gg_O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 15/243
f`
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
refine
NotStarted
Started
start
producer
Model E,olution= Refinement
Models can be refined continuously until the specification iscomplete
«sc_module»
producer start out1
NotStarted
Started
start
producer
St1 St2
void generate_data!"
for int i#$% i&1$% i''!"
out1 # i%
((
)generate_data !
M;[),*H)5+ 2,1: ZG L543H 0,5(5#)*)31# +Q,3#I LQ::5, LHD114 &WW U1, W7;L >gg_ MZ,5()S L50)5:<5, >gg_O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 16/243
fa
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7 B e r s
i o n
C ! C
www.omgmarte.org
Model8#ri,en !tyle of #e,elopment BM##C
An approach to de,elop systems and softwares in which the focus
and primary artifacts of de,elopment are models Bas opposed to
programsC
@ased on two time8pro,en methods
SC_MODULE(producer){
sc_inslave<int> in1;
int sum; //
void accumulate () {
sum += in1;
cout << Sum =
<< sum <<
endl;}
«sc_module»«sc_module»
producer producer start out1
B/C A@!TRA)T0O9 B%C A?TOMAT0O9
«sc_module»«sc_module»
producer producer start out1
SC_MODULE(producer) {
sc_inslave<int> in1;
int sum; //
void accumulate (){
sum += in1;
cout << Sum =
<< sum <<
endl;}
*ealm ofmodelinglanguages *ealm of tools
M;[),*H)5+ 2,1: ZG L543H 0,5(5#)*)31# +Q,3#I LQ::5, LHD114 &WW U1, W7;L >gg_ MZ,5()S L50)5:<5, >gg_O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 17/243
fb
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7 B e r s
i o n
C ! C
www.omgmarte.org
Profiling ?M+ for a #omain
Ad,antages of ?M+ Profiles 75Q(5 12 4*#IQ*I5 3#2,*(),QH)Q,5 M)114(S (05H323H*)31#(O
75kQ3,5 45(( 4*#IQ*I5 +5(3I# (l344(
"441F 21, #5F MI,*0D3H*4O #1)*)31# 12 5[)5#+5+ ()5,51)=05(
" 0,12345 H*# +523#5 :1+54 635F013#)(
;GIGS .&/ *H)363)= +3*I,*: 5[)5#+5+ )1 (05H32= :Q4)3)*(l <5D*631,
#isad,antage J1#(),*3#5+ <= .&/ :5)*:1+54
Extracted from S.Gerard (ECRTS07)
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 18/243
fd
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
?M+% Extension Mechanisms
Profiles
W523#5 43:3)5+ 5[)5#(31#( )1 * ,525,5#H5 :5)*:1+54 F3)D )D5 0Q,01(5 12*+*0)3#I )D5 :5)*:1+54 )1 * (05H323H 04*)21,: 1, +1:*3#G
J1#(3()( 12 ()5,51)=05( )D*) 5[)5#+ )D5 :5)*:1+54 H4*((5( M:5)*H4*((5(OG
!tereotypes
W523#5 D1F * (05H323H :5)*H4*(( :*= <5 5[)5#+5+
Y,163+5 *++3)31#*4 (5:*#)3H( 3#21,:*)31#S <Q) 1#4= 21,-
L5:*#)3H( ,5(),3H)31# 1, H4*,323H*)31# 12 5[3()3#I H1#H50)
V5F 25*)Q,5( M<Q) H1:0*)3<45 F3)D 5[3)3#I 1#5jO
;#(Q,5 3#),1+QH)31# 12 +1:*3# (05H323H )5,:3#141I=
;GIGS ;"L98"W/>S * .&/ 0,12345 21, *Q)1:1)365 ;J.( MD))0-EEFFFG*)5(()G1,IO
&*= +523#5 (05H323H #1)*)31# E.g.$ new icons or shapes
&*= D*65 6*4Q5( )D*) *,5 Q(Q*44= ,525,,5+ )1 *( )*II5+ 6*4Q5(Extracted from S.Gerard
(ECRTS07)
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 19/243
fe
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
Profile 9otation
Profile is a stereotyped package
Applying a profile "44 5[)5#(31#( *,5 )D5# *6*34*<45 21, :1+543#I
K2 :Q4)3045 0,12345( *,5 *00435+- 7525,5#H5+ &&( D*65 )1 <5 3+5#)3H*4m
m *#+ )D5 :1+54 D*( *4(1 )1 ,525, )D5 (*:5 &&G
9D53, H1#(),*3#) (5)( +1 #1) D*65 )1 H1#243H)
K# H*(5 12 #*:3#I H1#243H)S Q(5 #*:5(0*H5 #1)*)31# DProfile9ame==D!tereotype9ame
e.g. FMyProfile/==nameG 2 FMyProfile%==nameG
«profile» MyProfile
« profile »
GenOfCodeC
apply»MyModel
Extracted from S.Gerard (ECRTS07)
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 20/243
>g
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
The Profile )oncept Bcont.C
A profile package may import external packages
nV1,:*4n 0*Hl*I5( 5GIG 5[)5,#*4 0lI( +523#3#I (05H323H )=05( 21, * 0,12345
nY,12345n 0*Hl*I5(
"44 3:01,)5+ 545:5#)( :*= <5 Q(5+ 3# 0lI( *004=3#I )D5 0,12345
C_Types« profile »
GenCodeC
«import»
« profile »
MyRT_Profile
p3:01,)q « profile »
SPT_Profile
Extracted from S.Gerard (ECRTS07)
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 21/243
>f
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
#esign Pattern Adopted for the MARTE Profile
!tage / #escription of MARTE +1:*3# :1+54( MW1:*3# ^35FO YQ,01(5- U1,:*4 +5(H,30)31# 12 )D5 H1#H50)( ,5kQ3,5+ 21, &"79;
95HD#3kQ5(- &5)*8:1+543#I
!tage % Mapping of MARTE domain models towards ?M+%= M.&/ 750,5(5#)*)31#O YQ,01(5- &"79; +1:*3# :1+54( +5(3I# *( * .&/> 5[)5#(31#( 95HD#3kQ5(- .&/> 0,12345
F metamodel G
Marte domain model
F profile G
Marte profile ?M+% metamodel
p ,525,5#H5 q
p ,523#5 q
Extracted from S.Gerard (ECRTS07)
E l # i d l P fil ?
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 22/243
>>
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
Example= #omain model Profile ?sage
p :5)*H4*(( qJ1::1#Z5D*631,--Z*(3HZ5D*631,(--
Z5D*631,5+J4*((3235,
3(W=#*:3H- Z1145*# rfs t ),Q53(&*3#- Z1145*#
0114L3R5- K#)5I5, 0114Y143H=- Y114&I)Y143H=u3#+0114v*3)3#I93:5- VUYXWQ,*)31#105,*)31#*4&1+5- Z5D*631, :*3#- %05,*)31#:5:1,=L3R5- VUYXW*)*L3R5
F stereotypeGRt?nit
H1#HY143H=- J*44J1#HQ,,5#H=u3#+:5:1,=L3R5- VUYXW*)*L3R5
F stereotypeGPp?nit
3#23#3)5v*3))3:5+v*3)+=#*:3H5[H50)31#1)D5,
p 5#Q:5,*)31#q
PoolMgtPolicyHind
(5kQ5#)3*4IQ*,+5+H1#HQ,,5#)
)all)oncurrencyHind
&"79;--J1,5;45:5#)(--J*Q(*43)=--J1::1#Z5D*631,--
Z5D*631,5+J4*((3235,
H1#HY143H=- J*44J1#HQ,,5#H=u3#+:5:1,=L3R5- VUYX+*)*L3R5
Pp?nit
Rt@eha,ior <5D*631,(1F#5,
f w
(5kQ5#)3*4IQ*,+5+H1#HQ,,5#)
p 5#Q:5,*)31#q)all)oncurrencyHind&"79;--'7&--75(1Q,H59=05(
--L=#HD75(1Q,H5
Rt!er,icew f
(5,63H5(x(Q<(5)( 0L5,63H5(y
9 t ti f !t t # fi iti B? l R t ti C
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 23/243
>]
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
9otation for !tereotype #efinition B?ml RepresentationC
!tereotype definition
Re>uired stereotype
;[)5#+5+ :5)*8H4*(( :*= 1#4= <5 3#()*#)3*)5+ Q#+5, 3)( ()5,51)=05+ 21,:
!tereotype properties
Interface« stereotype »
ProvidedInterface
{re!ired"
« stereotype »ProvidedInterface
« metaclass » Interface
« stereotype »#ersion
a!t$or % Strin&
Extracted from S.Gerard (ECRTS07)
9otation for !tereotype ?sage Buser model le,elC
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 24/243
>_
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
9otation for !tereotype ?sage Buser model8le,elC
Applying a stereotype
Applying se,eral stereotypes
!pecifying ,alues of a stereotype
.(5 #*:5 12 ()5,51)=05( FD5# 01((3<45 H1#2Q(31#
« providedInterface »
MyInterface
« providedInterface' version »
MyInterface
« providedInterface»' «version »
MyInterface1,
a!t$or ( )myname*«version»
MyInterface
«version»a!t$or ( )myname*
«stat!s»
val!e ( tested
«version' stat!s»
MyClass
Extracted from S.Gerard (ECRTS07)
?M+ P fil f RTE!
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 25/243
>`
R e
? e r e n c e
@ A R T E
T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
?M+ Profiles for RTE!
!PT was the first OMIs ?M+ profile for Real8Time!ystems= LQ001,) 21, !HD5+Q4*<343)= "#*4=(3( F3)D 7&"8)=05 )5HD#3kQ5( LQ001,) 21, P5,21,:*#H5 "#*4=(3( F3)D zQ5Q3#I 9D51,= *#+ Y5),3 V5)( " ,3HD :1+54 21, h:5),3Hi T3:5 *#+ 93:5 &5HD*#3(:(
!e,eral impro,ements were re>uired= &1+543#I Pv *#+ Lv 04*)21,:(S /1I3H*4 93:5S &1JJ(S JZL;m "43I#:5#) )1 .&/>S z1L{U9S &W"Sm LY9 H1#(),QH)( F5,5 H1#(3+5,5+ )11 *<(),*H) *#+ D*,+ )1 *004= m
!PT
B%''58adoptedC
9114 LQ001,)
93:5 "#*4=(3(LQ001,)
P5#H5S * 75kQ5() U1, Y,101(*4 21, * #5F 0,12345 F*( 3((Q5+G
Extracted from S.Gérard (ECRTS07)
Th P MARTE T
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 26/243
>a
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
The ProMARTE Team
w LQ<:3))5, )1 %&' .&/ Y,12345 21, &"79; 7UY
0ndustrials "4H*)54w /1HlD55+ &*,)3#w
9D*45(w U,*#H589545H1:
Tool ,endors "79KL"V L12)F*,5 9114(w K#)5,#*)31#*4 ZQ(3#5(( &*HD3#5(w &5#)1, ',*0D3H( J1,01,*)31#w L12)5*:w 954541I3H "Z MK8/1I3[wO
9,38Y*H323H L12)F*,5 U,*#H5 9545H1: V1 &*I3H &*)DF1,l(
Academics J*,45)1# .#365,(3)= J1::3((*,3*) | 4};#5,I35 ")1:3kQ5 ;L;%
;VLK;9" KV7K" KVL" 2,1: /=1# L12)F*,5 ;#I3#55,3#I K#()3)Q)5 MJ*,#5I35 &5441# .#365,(3)=O .#365,(3+*+ +5 J*#)*<,3*
Public website=
FFFG1:I:*,)5G1,I
Relationships with other OM !tandards
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 27/243
>b
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
Relationships with other OM !tandards
Relationships with generic OM standards
Y,12345 )D5 .&/> (Q05,(),QH)Q,5 :5)*8:1+54
7504*H5 .&/ Y,12345 21, LY9 MLHD5+Q43#IS Y5,21,:*#H5 *#+ 93:5O
.(5 %J/> M%<~5H) J1#(),*3#)( /*#IQ*I5O
Relationships with RT2E specific OM standards
;[3()3#I ()*#+*,+(
9D5 .&/ 0,12345 21, &1+543#I z1L *#+ U9 JD*,*H)5,3()3H( *#+ &5HD*#3(:( Addressed through MARTE 9"P package Bin a way detailed in the 9"P presentationC
9D5 .&/ 0,12345 21, L1J ML=()5: %# JD30O More specific than MARTE purpose
9D5 75*4893:5 J%7Z" 0,12345 Real8Time )OR@A based architecture can be annotated for analysis with Marte
9D5 .&/ 0,12345 21, L=()5:( ;#I3#55,3#I ML=(&/O !peciali;ation of !ysM+ allocation concepts and reuse of flow8related concepts
Ongoing discussion to include J!+ in next !ysM+ ,ersion
O,erlap of team members
MARTE O,er,iew
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 28/243
>d
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
MARTE O,er,iew
MARTE domain model
Marte"oundations
MarteAnalysisModelMarte#esignModel
U1Q#+*)31#( 21, 79E; (=()5:(
:1+543#I *#+ *#*4=(3(-
J1,5;45:5#)(
VUY( 93:5 '5#5,3H ,5(1Q,H5 :1+543#I '5#5,3H H1:01#5#) :1+543#I "441H*)31#
L05H3*43R*)31# 12 21Q#+*)31#( 21,
*##1)*)3#I :1+54 21, *#*4=(3(
0Q,01(5-
'5#5,3H kQ*#)3)*)365 *#*4=(3(
LHD5+Q4*<343)= *#*4=(3(
Y5,21,:*#H5 *#*4=(3(
L05H3*43R*)31# 12 &"79; 21Q#+*)31#( 21,
:1+543#I 0Q,01(5 M(05H323H*)31#S +5(3I#S
mO-
79; :1+54 12 H1:0Q)*)31# *#+H1::Q#3H*)31#
L12)F*,5 ,5(1Q,H5 :1+543#I P*,+F*,5 ,5(1Q,H5 :1+543#I
Extracted from S.Gerard (ECRTS07)
Agenda
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 29/243
>e
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
Agenda
Part /
K#),1+QH)31# )1 &WW 21, 79E; (=()5:( { &"79; 3# * #Q)(D544
Part %
9on8functional properties modeling
Outline of the Jalue !pecification +anguage BJ!+C
Part 3
9D5 )3:3#I :1+54
Part 4
" H1:01#5#) :1+54 21, 79E;
Part 5
Y4*)21,: :1+543#I
Part 6
7505)3)365 (),QH)Q,5 :1+543#I
Part (
&1+548<*(5+ *#*4=(3( 21, 79E;
Part &
&"79; *#+ ""W/
Part 7
J1#H4Q(31#(
9on "unctional Properties B9"PsC
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 30/243
]g
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7 B
e r s
i o n
C ! C
www.omgmarte.org
9on8"unctional Properties B9"PsC
9ature of 9"Ps
zQ*#)3)*)365- :*I#3)Q+5 • Q#3) M;GIGS 5#5,I=S +*)* (3R5S +Q,*)31#O
zQ*43)*)365 M;GIGS 05,31+3H 1, (01,*+3H 565#) *,,36*4 0*))5,#(O
9"P ,alues need to be >ualified ;GIG (1Q,H5S ()*)3()3H*4 :5*(Q,5S 0,5H3(31#Sm
9"Ps need to be parametric and deri,able ^*,3*<45(- 04*H5D14+5,( 21, Q#l#1F# 6*4Q5(
;[0,5((31#(- :*)DG *#+ )3:5 5[0,5((31#(
9"Ps need clear semantics Y,5+523#5+ VUY( M;GIGS 5#+8)185#+ 4*)5#H=S 0,1H5((1, Q)343R*)31#O
.(5,8(05H323H VUY( M<Q) ()344 Q#*:<3IQ1Q(4= 3#)5,0,5)5+jO
V1#82Q#H)31#*4 0,105,)35( +5(H,3<5 )D5 h23)#5((i 12 (=()5:( <5D*631,
M;GIGS 05,21,:*#H5S :5:1,= Q(*I5S 01F5, H1#(Q:0)31#O
0ntroduction to the MARTEIs 9"Ps "ramework
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 31/243
]f
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
0ntroduction to the MARTE s 9"Ps "ramework
!tructured Jalues: ^*,3*<45(€
J1:045[ )3:5 5[0,5((31#(€
W*)* 9=05 L=()5:€
^*4Q5 kQ*43235,(€
.&/ 4*Hl( :1+543#I H*0*<343)35( 21, VUY( jj
VUY /3<,*,35(€
&5*(Q,5(€
.&/ Y,12345 21, VUY(
^*4Q5 L05H323H*)31#
/*#IQ*I5 M^L/O
"#+ .&/ 5[0,5((31# (=#)*[ 3( *4(1 #1) (Q223H35#)jj
"##1)*)31# :5HD*#3(:€
The MARTEIs 9"P sub8profile
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 32/243
]>
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
pDFY,1H5((1,qMyProcessor
pDFY,1H5((1,q(055+U*H)1, t f
(055+U*H)1,- K#)5I5, rgGGfs
MyProcessor
(055+U*H)1, t f
proc/ = MyProcessor
MyProcessor p#20J1#(),*3#)q(055+U*H)1, t f
The MARTE s 9"P sub8profile
Three mechanisms to annotate ?M+ models= ^*4Q5( 12 ()5,51)=05 0,105,)35(
L41) 6*4Q5( 12 H4*((3235, 3#()*#H5(
J1#(),*3#)(
.&/ Y,12345 21, VUY(
Annotating 9"Ps in Tagged Jalues
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 33/243
]]
R e
? e r e n c e
@ A R T
E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
p:1+54/3<,*,=q9fpTypes
p:1+54/3<,*,=qMeasurement?nits
p:1+54/3<,*,=q@asic9fpTypes
6*4Q5- 75*45[0,- ̂ L/X;[0,5((31#Q#3)- WQ,*)31#.#3)u3#+(1Q,H5- L1Q,H5u3#+GGG
p#209=05q9"PK#uration
5[*:045
pQ#3)q (pQ#3)q :( xH1#6U*H)1,tf;8]S
GGG <*(5.#3) t(y
p 5#Q:5,*)31#q#uration?nitHind
5 [ * : 0 45
Annotating 9"Ps in Tagged Jalues
p3:01,) q
p0,12345q!chedAnalysisp0,12345q
!chedAnalysisp0,12345qLAM M*#*4=(3(O
p 3:01,) q
p3:01,) q
,5(09- VUYXWQ,*)31#
GG G
p()5,51)=05q!cenario
5 [ * : 0
4 5
?serModel
p*004= q
&"79; 0,58+523#5+
>O W523#5 VUY843l5 5[)5#(31#(
fO W5H4*,5 VUY )=05(
]O L05H32= VUY 6*4Q5(
8 W523#5 ()5,51)=05( *#+ )D53,
*)),3<Q)5( Q(3#I VUY )=05(
8 "004= ()5,51)=05( *#+ (05H32=)D53, )*I 6*4Q5( Q(3#I ^L/
8 W523#5 :5*(Q,5:5#) Q#3)( *#+
H1#65,(31# 0*,*:5)5,(
8 W523#5 VUY )=05( F3)D kQ*43235,(
*H) p(H5#*,31q #ataAc>
x ,5(09t M_bS :(S H*4HO y
*Hf5 [* : 0 4
5*H>
Annotating 9"Ps in !lots
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 34/243
]_
R e
? e r e n c e
@ A R T
E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
p#20q +5*+43#5- VUYXWQ,*)31#
GG G
Task
5 [ * : 0 45
0nstanceModel
+5*+43#5 t M`G`S :(S ,5kOGGG
)f-9*(l
5[*:045
Annotating 9"Ps in !lots
p:1+54/3<,*,=q9fpTypes
p:1+54/3<,*,=qMeasurement?nits
p:1+54/3<,*,=q@asic9fpTypes
6*4Q5- 75*4
5[0,- ^L/X;[0,5((31#
Q#3)- WQ,*)31#.#3)u3#+
(1Q,H5- L1Q,H5u3#+
GGG
p#209=05q9"PK#uration
5[*:045
p3:01,) q
)lassifierModel
&1+548(05H323H VUY(
>O W5H4*,5 VUY( 3# Q(5, :1+54(
fO W5H4*,5 VUY )=05(
]O L05H32= VUY 6*4Q5(
8 W523#5 H4*((3235,( *#+ )D53,
*)),3<Q)5( Q(3#I VUY )=05(
8 LQHD *)),3<Q)5( *,5 )*II5+ *( p#20q
8 K#()*#)3*)5 H4*((3235,( *#+ (05H32=)D53, (41) 6*4Q5( Q(3#I ^L/
8 W523#5 :5*(Q,5:5#) Q#3)( *#+H1#65,(31# 0*,*:5)5,(
8 W523#5 VUY )=05( F3)D kQ*43235,(
pQ#3)q (pQ#3)q :( xH1#6U*H)1,tf;8]S
GGG <*(5.#3) t(y
p 5#Q:5,*)31#q#uration?nitHind
5 [ * : 0 45
Annotating 9"Ps in )onstraints
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 35/243
]`
R e
? e r e n c e
@ A R T
E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Annotating 9"Ps in )onstraints
p:1+54/3<,*,=q9fpTypes
p:1+54/3<,*,=qMeasurement?nits
p:1+54/3<,*,=q@asic9fpTypes
0nstanceModel
p3:01,) q
)lassifierModelp#20q Q)343R*)31#- V UYXY5,H5#)*I5
p#20q H 41HlU,5k- VUYXU,5kQ5#H=
GGG
Processor
5 [ * : 0 4 5
>O W5H4*,5 VUY(
fO W5H4*,5 VUY )=05(
]O L05H32= VUY 6*4Q5(
8W523#5 H4*((3235,( *#+ )D53,
*)),3<Q)5( Q(3#I VUY )=05(
-J,5*)5 J1#(),*3#)( )1 +523#5 *((5,)31#(1# VUY 6*4Q5( Q(3#I ^L/
-p#20J1#(),*3#)q 3( * required S offered S 1,
contract H1#(),*3#) 12 VUY(
8 W523#5 :5*(Q,5:5#) Q#3)( *#+H1#65,(31# 0*,*:5)5,(
8 W523#5 VUY )=05( F3)D kQ*43235,(
0f-Y,1H5((1,
p#20J1#(),*3#)q xl3#+t H1#),*H)y
x Q)343R*)31#MegS‚O € H41HlU,5kttMagS&PRO -H41HlU,5kttM>gS&PRO y
5 [ * : 0 4 5
pQ#3)q PRpQ#3)q &PR xH1#6U*H)1,tf;•aS
GG G <*(5.#3)tPRy
p 5#Q:5,*)31#q"re>uency?nitHind
5 [ * : 0 4 5
6*4Q5- 75*45[0,- ^L/X;[0,5((31#Q#3)- U,5kQ5#H=.#3)u3#+(1Q,H5- L1Q,H5u3#+
GG G
p#209=05q9"PK"re>uency
5[*:045
The MARTEIs 9"P Modeling "ramework
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 36/243
]a
R e
? e r e n c e
@ A R T
E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
The MARTE s 9"P Modeling "ramework
9D,55 :*3# 4*#IQ*I5 5[)5#(31#( )1 .&/ (=#)*[ ',*::*, 21, 5[)5#+5+ 5[0,5((31#(
L)5,51)=05( 21, 5[)5#+5+ +*)* )=05( J1:045[ )3:5 5[0,5((31#(
^*4Q5 L05H323H*)31#
/*#IQ*I5 M^L/O
@asic Textual Expressions in J!+
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 37/243
]b
R e
? e r e n c e
@ A R T
E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
as c e tua p ess o s !
io$var1 //input/output variable declaration
var1 //variable call expression.
Variable declaration &
Call
+(5.0,var1) //”add” operation on Real datatypes5.0+var1 //infix operator notation
Arithmetic OperationCall
((var1!.0)"(10#!)1) //if true return 10 exp !,else 1Conditional Expression
1.%&' //scientific notationReal Number
1%/01/0! 1%0000 //calendar date ti*eDateTime
1..%51 //upper opened interval beteen inte-ers
$1..$% //interval beteen variables
Interal
(value%.0, unit *s) //duration tuple value
periodic(period%.0, itter.) //arrival pattern
Tuple and choice
21, %, 33, 5, %4 //seuence, ba-, ordered set..
221,%,4, 2,%44 //collection of collections
Collection
;[*:045(^*4Q5 L05HG
LH105 12 )D5 0,101(5+ 5[)5#(31#( ;[)5#+5+ Y,3:3)365 ^*4Q5(
;[)5#+5+ J1:01(3)5 ^*4Q5(
;[)5#+5+ ;[0,5((31#(
J!+ Extended #ata Types
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 38/243
]d
R e
? e r e n c e
@ A R T
E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
MARTEK#ataTypes
yp
J!+ reuses ?M+ #ataType constructs$ but adds
Z1Q#+5+LQ<)=05
K#)5,6*49=05
J1445H)31#9=05
9Q0459=05
JD13H59=05
F bounded!ubtypeGx <*(59=05 t K#)5I5, S
:3#^*4Q5 t 8_dggggS:*[̂ *4Q5 t •_dgggg y
+ong
65H)1,;45:5#)- K #)5I5, rgGG ws
F collectionTypeGx H1445H)31#")),3< t 65H)1,;45:5#) y
0ntegerJector
:*),3[;45:5#)- K#)5I5, 5̂H)1, rgGG ws
F collectionTypeGx H1445H)31#")),3< t :*),3[;45:5#) y
0ntegerMatrix
<1Q#+- K#)5I5, r>s
F dataTypeG
F inter,alTypeGx 3#)5,6*4")),3< t <1Q#+ y
0nteger0nter,al
Examples==#ataTypes?se
6*4Q5- 75*4
5[0,- ^L/X;[0,5((31#Q#3)- Y1F5,.#3)u3#+(1Q,H5- L1Q,H5u3#+
F tupleTypeGPower
05,31+3H- Y5,31+3HY*))5,#(01,*+3H - L01,*+3HY*))5,#
F choiceTypeGArri,alPattern
05,31+- 75*4 ~3))5,- 75*4
F tupleTypeG
PeriodicPattern
:3#K#)5,*,,36*4- 75*4:*[K#)5,*,,36*4- 75*4
F tupleTypeG
!poradicPattern
45#I)D- /1#I0,31,3)=7*#I5- K#)5I5,K#)5,6*401(3)31#- K#)5I5, 5̂H)1,
(D*05- K#)5I5,&*),3[H1#(Q:0)31#- Y1F5, *,,36*4- ",,36*4Y*))5,#
My)lass
45#I)D t >f>]]]0,31,3)=7*#I5 t rgG G>s01(3)31#t x>S]y
(D*05 t xx>S]ySxfS`yyH1#(Q:0)31# t M8S 5[0t[w6fS Q#3)t :vS (1Q,H5t H*4HO*,,36*4t 05,31+3H M05,31+t fgS ~3))5,t gGfO
cl= My)lass
L 5 H 3 3 H
* ) 3 1 # 5 [ * :
4 5
W5H4*,*)31#
5[*:045m
Examples of Time Expressions with J!+
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 39/243
]e
R e
? e r e n c e
@ A R T
E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
p p
!d #ataAc>uisition
-J1#),1445, -L5#(1,
*HkQ3,5MO x +fƒtMfS :(O y
(5#+W*)* M+*)*O x rMgS :(OGGMfgS :(Os y
*HlMO
N)>
x r+fGG]gw+fs y
{+f
H1#(),*3#)ft x M)gr3•fs 8 )gr3sO MfggS :(O yH1#(),*3#)>t x M)] FD5# +*)*ƒ G̀gO ƒ )>•M]gS :(O y
()*,)MO x ~3))5,M)gOƒM`S Q(O y
N)g
x s)fGG)f•MdS :(Os y
N)]
N)f
K#()*#) K#)5,6*4
J1#(),*3#)
;[)5#+5+
+Q,*)31#
3#)5,6*4( F3)D
<1Q#+ p r s q(05H323H*)31#
c3))5, H1#(),*3#)
WQ,*)31# 5[0,5((31#
<5)F55# )F1 (QH5((365
1HHQ,,5#H5(
J1#(),*3#) 3# *#
1<(5,6*)31# F3)D H1#+3)31#
5[0,5((31#L05H323H*)31# 5[*:045 3# L5kQ5#H5 +3*I,*:(m
WQ,*)31#
%<(5,6*)31#
)onclusions on MARTE==9"Ps
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 40/243
_g
R e
? e r e n c e
@ A R T
E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
!ynthesis of best modeling practices %J/- 2Q44 H1#(),*3#) 4*#IQ*I5S <Q) D*,+ )1 Q(5 *#+ #1) ,5*48)3:5 1,35#)5+
LY9 Y,12345- <Q34)83# 9^/ 4*#IQ*I5 3( (3:045,S <Q) #1) 245[3<45
z1L{U9 Y,12345- *##1)*)31# :5HD*#3(: 3( 245[3<45S <Q) H1:045[
VUY { ^L/ ,5Q(5 (545H)5+ :1+543#I 25*)Q,5(S FD345 ()344 0,163+3#I (3:043H3)= *#+245[3<343)=
"oundations 75Q(5 %J/ H1#(),QH)(- I,*::*, 21, 6*4Q5( *#+ 5[0,5((31#(
'5#5,3H +*)* )=05 (=()5:- M<*(5+ 1# KL%}( '5#5,*48YQ,01(5 W*)*)=05(O
^L/ 5[)5#+( .&/ L3:045 93:5 :1+54 M5GIG 1HHQ,,5#H5 3#+5[S ~3))5,(O
U1,:*44= +523#5+ <= *<(),*H) *#+ H1#H,5)5 (=#)*[5( MI,*::*,O
Agenda
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 41/243
_f
R e
? e r e n c e
@ A R T
E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
g
Part /
K#),1+QH)31# )1 &WW 21, 79E; (=()5:( { &"79; 3# * #Q)(D544
Part % V1#82Q#H)31#*4 0,105,)35( :1+543#I
%Q)43#5 12 )D5 ^*4Q5 L05H323H*)31# /*#IQ*I5 M^L/O
Part 3
The timing model
Part 4
" H1:01#5#) :1+54 21, 79E;
Part 5
Y4*)21,: :1+543#I
Part 6
7505)3)365 (),QH)Q,5 :1+543#I
Part (
&1+548<*(5+ *#*4=(3( 21, 79E;
Part &
&"79; *#+ ""W/
Part 7
J1#H4Q(31#(
Time in MARTE O,er,iewTime in MARTE O,er,iew
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 42/243
_>
R e
? e r e n c e
@ A R T
E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
!PT$ ?M+ % and Time!PT$ ?M+ % and Time
.&/--J1::1#Z5D*631,(--L3:04593:5.&/--J1::1#Z5D*631,(--L3:04593:5
the MARTE Time domain ,iewthe MARTE Time domain ,iew *GlG*G )D5 &"79; 93:5 :5)*8:1+54*GlG*G )D5 &"79; 93:5 :5)*8:1+54
J1#H50)( *#+ ,54*)31#(D30(J1#H50)( *#+ ,54*)31#(D30(
the MARTE Time sub8profilethe MARTE Time sub8profile *GlG*G .&/ 635F*GlG*G .&/ 635F
?sage of the Time sub8profile?sage of the Time sub8profile
?M+ profile for !chedulability$ Performance$ and Time B!PTC?M+ profile for !chedulability$ Performance$ and Time B!PTC
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 43/243
_]
R e
? e r e n c e
@ A R T
E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
p y B C
OM ?M+ profile formal1'58'/8'% B,/./COM ?M+ profile formal1'58'/8'% B,/./C
@ased on ?M+ /.4@ased on ?M+ /.4
#ealing with#ealing with timetime andand resourcesresources
Luantitati,eLuantitati,e time informationtime information
)oncepts)oncepts
K#()*#)S +Q,*)31#K#()*#)S +Q,*)31#
;65#);65#) <1Q#+ )1 )3:5S ()3:Q43<1Q#+ )1 )3:5S ()3:Q43
TimingTiming mechanismsmechanisms 22 ser,icesser,ices
To be aligned to UML 2
Metric time
?M+==)ommon@eha,iors==!impleTime?M+==)ommon@eha,iors==!impleTime
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 44/243
__
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
pp
?M+% adds?M+% adds new metaclassesnew metaclasses to representto represent 93:593:5
WQ,*)31#WQ,*)31#
%<(5,6*)31#%<(5,6*)31# M12 )3:5 0*((3#IOM12 )3:5 0*((3#IO
L1:5 21,:( 12L1:5 21,:( 12 )3:5 H1#(),*3#)()3:5 H1#(),*3#)(
!imple!imple Be,en simplisticC model of timeBe,en simplisticC model of time
Ad,ice= Use a more sophisticated model of time providedby an appropriate profile$ if needed. ?M+ superstructure$ chapter/3N
e.g., MARTE
!impleTime==TimeE,ent!impleTime==TimeE,ent
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 45/243
_`
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
pp
Co mmon Beh aviors::
Co mmun icatio ns::
Event
Classes::Kernel::
ValueSpecification3(754*)365- Z1145*#
TimeE,entFD5#gGGf
f
Time specification
Absolute/relativespecification
TimeE,ent usage B/CTimeE,ent usage B/C
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 46/243
_a
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
g B C
On Off
*2)5, fg
*2)5, fg
stm <43#l5,
UML state machine behavior
!pecification of a time"trigger
#nformal semantics
TimeE,ent usage B%CTimeE,ent usage B%C
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 47/243
_b
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Metaclasses involved in the modeling of a transition triggered b$ a TimeEvent
Classes::Kernel::NamedElement
@eha,ior!tateMachines==Transition
)ommon@eha,io rs==)ommunications==
Trigger
Classes::Kernel::PackaeableElement
CommonBehaviors::
Communication s::
Event
),3II5,
gGGf
gGGw
3(754*)365- Z1145*#
)ommon@eha,iors==!impleTime==
TimeE,ent
Classes::Kernel::
ValueSpecification
Classes::Kernel::
!ypedElement
f
565#)
FD5#
gGGf
f
!imple annotation →comple% implied structure
Meaning of after /'Q
!impleTime==Obser,ation!impleTime==Obser,ation
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 48/243
_d
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
"bservation
23,();65#)- Z1145*#
TimeObser,ation
23,();65#)- Z1145*#rgGG>s
#urationObser,ation
Classes::
Kernel::NamedElement
f 565#)
565#)fGG>
Obser,ation usage B/CObser,ation usage B/C
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 49/243
_e
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
sd .(5,"HH50)5+
-.(5, -"JL=()5:
J1+5
%u
J*,+%Q)xgGGf]y
x +GG]w+ y
{+
N)
x )GG)•+ y
.#41Hl
ƒ&%L )I)J1+5
ƒ&%L (,HJ*,+%Q)
ƒ&%L (,H%u
ƒ&%L)I)J*,+%Q)
&%L ()*#+( 21, &5((*I5%HHQ,,5#H5L05H323H*)31#
WQ,*)31#%<(5,6*)31#
93:5%<(5,6*)31#
WQ,*)31#J1#(),*3#)
93:5J1#(),*3#)
E%ample of se&uence diagram
9ote that red and blue annotations are not part of the ?M+ notation.
Obser,ation usage B%CObser,ation usage B%C
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 50/243
`g
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
J*,+%Q)-&5((*I5 %u-&5((*I5 J1+5-&5((*I5
)I)J*,+%Q)-&%L
(,H%u-&%L
+-WQ,*)31#%<(5,6*)31#
)-93:5%<(5,6*)31#
9KX:3#-93:5;[0,5((31# n)n-^*4Q5L05H323H*)31#
(5#+;65#)
565#)
1<(5,6*)31#
9KX:*[-93:5;[0,5((31#
1<(5,6*)31#
1<(5,6*)31#
5[0,
n)•+n-^*4Q5L05H323H*)31#
5[0,
9J-93:5J1#(),*3#)
9K-93:5K#)5,6*4 :3#
,5H5365;65#)
(05H323H*)31#
H1#(),*3#5+;45:5#)
:*[
565#)
#nstance model of the time constraint' receive (ard)ut in *t .. t+d
!imple annotation →comple% implied structure
O,er,iewO,er,iew
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 51/243
`f
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
!PT$ ?M+ % and Time!PT$ ?M+ % and Time
.&/--J1::1#Z5D*631,(--L3:04593:5.&/--J1::1#Z5D*631,(--L3:04593:5
the MARTE Time domain ,iewthe MARTE Time domain ,iew *GlG*G )D5 &"79; 93:5 :5)*8:1+54*GlG*G )D5 &"79; 93:5 :5)*8:1+54
J1#H50)( *#+ ,54*)31#(D30(J1#H50)( *#+ ,54*)31#(D30(
the MARTE Time sub8profilethe MARTE Time sub8profile *GlG*G .&/ 635F*GlG*G .&/ 635F
?sage of the Time sub8profile?sage of the Time sub8profile
)oncepts in MARTE==Time)oncepts in MARTE==Time B/1%CB/1%C
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 52/243
`>
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Time structureTime structure
(5) 12 )3:5 <*(5( • )3:5 (),QH)Q,5 ,54*)31#((5) 12 )3:5 <*(5( • )3:5 (),QH)Q,5 ,54*)31#(
→ Y*,)3*44= 1,+5,5+ (5) 12 3#()*#)(Y*,)3*44= 1,+5,5+ (5) 12 3#()*#)(
Access to timeAccess to time )lock)lock
PrinciplePrinciple== associate )locks with model elementsassociate )locks with model elements
Z5D*631,*4 545:5#)(Z5D*631,*4 545:5#)( →→ 93:5+;65#)S 93:5+Y,1H5((3#I93:5+;65#)S 93:5+Y,1H5((3#I
J1#(),*3#)(J1#(),*3#)( →→ 93:5+J1#(),*3#)93:5+J1#(),*3#)
W*)* )=05(W*)* )=05(
*#+*#+
6*4Q5(6*4Q5(
→→
93:5+^*4Q593:5+^*4Q5
)oncepts in MARTE==Time)oncepts in MARTE==Time B%1%CB%1%C
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 53/243
`]
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
)oncepts
93:5 <*(5(&Q4)3045 93:5 Z*(5(K#()*#)(93:5 (),QH)Q,5 ,54*)31#(
)oncepts
J41Hl(/1I3H*4 H41Hl(JD,1#1:5),3H H41Hl(JQ,,5#) )3:5
)oncepts
93:5+ 545:5#)(93:5+ 565#)(93:5+ *H)31#(93:5+ H1#(),*3#)(
TimeJalue!pecification
TimeAccessTime!tructure Time?sage
-ot a UML diagram
Main concepts introduced in Time modeling
Time !tructureTime !tructure
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 54/243
`_
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
MultipleTime@ase
Time@ase
+*)5- 75*4
0nstant
x 1,+5,5+ y3#()*#)(
<*(5f
fGGw
:5:<5,9ZgGGw
!imeStructure#elation)(754*)31#(
gGGw
HQ,,5#)K#()*#)f
!imeBase#elation
!ime$nstant#elation
>GGwE,54*)5+K#()*#)(x Q#31#S 1,+5,5+ y
gGGw
gGGf 0*,5#)&9Z
(Q<&9Z
gGGw
f
1F#5+9Zx (Q<(5)( :5:<5,9Z y
>GGw
x Q#31#S 1,+5,5+ yE,54*)5+9Z
Timease oset of instants
MultipleTimease set of Timeases +
0ierarch$ +(onstraints
Relationships over
instants of differentTs
Relationships overTs
Access to Time= )lockAccess to Time= )lock
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 55/243
``
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Time@ase
#*)Q,5- 93:5V*)Q,5u3#+ ,5(14Q)31#- 75*4tfGg HQ,,5#)93:5- 75*4 :*[3:*4^*4Q5- 75*4rgGGfs
Clock f)3:5Z*(5
Event
?nit
gGGf
gGGf
H41Hl93Hl
*HH50)5+.#3)(
fGGw
+52*Q4).#3)x(Q<(5)(
*HH50)5+.#3)(y
f
Access to the timestructure
Units associated 1itha cloc
Event occurring ateach cloc ticing
)hronometric1+ogical )locks)hronometric1+ogical )locks
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 56/243
`a
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Clock
+ogical)lock
Event
+523#3#I;65#)gGGf()*#+*,+- 93:5L)*#+*,+u3#+ rgGGfs ()*<343)=- 75*4 rgGGfs 122(5)- WQ,*)31#^*4Q5 rgGGfs (l5F- 75*4 rgGGfs +,32)- 75*4 rgGGfs
)hronometric)lock
Physical!ime
gGGf
,525,5#H5J41Hl
#mplicit reference toph$sical time
3ossible reference toa repetitive event
-43s measured against areference cloc
Two kinds of clocks
Time JaluesTime Jalues
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 57/243
`b
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Clock
0nstant 0nstantJaluegGGw
+5#1)5+K#()*#)
Time0nter,al gGGw
+5#1)5+93:5K#)5,6*4
#*)Q,5- 93:5V*)Q,5u3#+
!imeValue
3(&3#%05#- Z1145*# rfs3(&*[%05#- Z1145*# rfs
Time0nter,alJalue
:3# f :*[ f
?nit Q#3)
gGGf
f
1#J41Hl
41F5, f Q005, f
#urationJalue
3#)5,6*4^*4Q5
f
#nstant/5uration t1odistinct concepts
A Time6alue mustreference a cloc
A Time6alue has a unit
7default cloc unit8
Timed Entities= TimedElementTimed Entities= TimedElement
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 58/243
`d
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Clock !imedElement fGGw
1#
%odelElement
The unif$ing concept' a TimedElement a ModelElement + a (loc
t
Timed Entities= TimedE,entTimed Entities= TimedE,ent
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 59/243
`e
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
TimedE,entOccurrence
0nstantJalue
*)
gGGf
fGGw!imultaneousOccurrence!et
!imedElement
1HHL5)gGGw
)oreElements==)ausality==
RunT ime)ontext==E,entOccurrence
3(754*)365- Z1145*#,505)3)31#- K#)5I5, rgGGfs
TimedE,ent
!imedElement
565,=gGGfFD5#f
Event
!imeValueSpecification &urationValueSpecification
3rovision forsimultaneit$
4acilit$ to specif$multiple occurrences
occurrences e,ents
www omgmarte org
Timed Entities= TimedProcessingTimed Entities= TimedProcessing
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 60/243
ag
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
!imedProcessin
gGGf()*,) gGGf23#3(DgGGf +Q,*)31#
!imedElement
!imedBehavior !imed'ction!imed%essae
#elay
Event &urationValueSpecification
CoreElements::Causality::
Common Beha vior::Behavior
CoreElements::Causality::
Common Beha vior:: 'ctio n
CoreElements::Causality::
Communication::#e(uest
www omgmarte org
Timed Entities=TimedObser,ationTimed Entities=TimedObser,ation
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 61/243
af
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
!imed"bservation
1<(u3#+-;65#)u3#+rgGGfs
Timed0nstantObser,ation
1<(u3#+-;65#)u3#+rgGG>s
Timed#urationObser,ation
51HHf
gGG>
51HH
)oreElements==)ausality==
RunTime)ontext==E,entOccurrence
!imedElement
)oreElements==)ausality==
)ommunication==Re>uest
)oreElements==)ausality==
RunTime)ontext==)omp@eha,iorExecution
1<(5,6*)31#J1#)5[)
gGGf
gGGf
5[H
CoreElements::Causality::
#un!imeConte)t ::BehaviorE)ecution
()3:gGGf()*,)23#3(D(5#+,5H5365H1#(Q:5
DDenumerationE,entHind
www omgmarte org
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 62/243
a>
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
http=11en.wikipedia.org1wiki10mage=TheKPersistenceKofKMemory.*pg!ee=
",)3()3H
www.omgmarte.org
O,er,iewO,er,iew
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 63/243
a]
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
!PT$ ?M+ % and Time!PT$ ?M+ % and Time .&/--J1::1#Z5D*631,(--L3:04593:5.&/--J1::1#Z5D*631,(--L3:04593:5
the MARTE Time domain ,iewthe MARTE Time domain ,iew *GlG*G )D5 &"79; 93:5 :5)*8:1+54*GlG*G )D5 &"79; 93:5 :5)*8:1+54
J1#H50)( *#+ ,54*)31#(D30(J1#H50)( *#+ ,54*)31#(D30(
the MARTE Time sub8profilethe MARTE Time sub8profile *GlG*G .&/ 635F*GlG*G .&/ 635F
?sage of the Time sub8profile?sage of the Time sub8profile
www.omgmarte.org
Pro,iding extensions to ?M+Pro,iding extensions to ?M+
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 64/243
a_
R e
? e r e n c e
@ A R
T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
g g
Through a ?M+ profileThrough a ?M+ profile
V5FV5F L)5,51)=05(L)5,51)=05(
"acilities"acilities
&1+54&1+54 43<,*,35(43<,*,35( W5+3H*)5+W5+3H*)5+ 4*#IQ*I5(4*#IQ*I5( M5(05H3*44= 21, 5[0,5((31#(OM5(05H3*44= 21, 5[0,5((31#(O
www.omgmarte.org
#ependencies#ependencies
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 65/243
a`
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
F profileG
9"Ps
F model+ibrary G
TimeTypes+ibrary
F profileG
Time
ƒƒ3:01,) ƒƒ3:01,)
F model+ibrary G
Time+ibraryƒƒ*004=
ƒƒ3:01,)
F profileG
J!+==#ataTypes
ƒƒ3:01,)
T1o other sub"profilesof MARTE
User9s model librar$
www.omgmarte.org
)entral stereotypes= )lockType 2 )lock)entral stereotypes= )lockType 2 )lock
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 66/243
aa
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
nature
is+ogical
+3(H,5)5 +5#(5
+ogicalclock
V1) Q(5+),Q5
)hronometric clock2*4(5
+3(H,5)5 +5#(5
S optional• set of properties
• set of operations
L)5,51)=05 0,105,)35( -L05H3*4 (5:*#)3H(
• Accepted units• #efault unit
)hronometric clock → n0D=(3H*4 n )3:5„ Q#3)( ∈x(S:(SQ(Smy
+ogical clock → *#= ,505)3)365 565#)„ Q#3)( ∈ x)3Hly . YD=(3H*4.#3)(
www.omgmarte.org
)lock and TimedElement)lock and TimedElement
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 67/243
ab
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
F stereotype G!imedElement
F metaclass G?M+==)lasses==Hernel==)lass
#*)Q,5- 93:5V*)Q,5u3#+ rfsQ#3)9=05- ;#Q:5,*)31# rgGGfs3(/1I3H*4- Z1145*# rfs t 2*4(5,5(14")),- Y,105,)= rgGGfs:*[ *̂4")),- Y,105,)= rgGGfs122(5)")),- Y,105,)= rgGGfsI5)93:5- %05,*)31# rgGGfs(5)93:5- %05,*)31# rgGGfs3#+5[91^*4Q5- %05,*)31# rgGGfs
F stereotype G)lockType
F metaclass G?M+==)lasses==Hernel==0nstance!pecification
F stereotype G)lock
F stereotype G9"Ps==?nit
F stereotype GTimed#omain
F metaclass G?M+==)lasses==Hernel==
Package
1# fGGwQ#3)
gGGf
)=05
f
-otice that this abstractstereot$pe has no base metaclass
www.omgmarte.org
TimedJalue!pecificationTimedJalue!pecification
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 68/243
ad
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
F metaclass GU%*::Classes::Kernel::
ValueSpecification
3#)5,0,5)*)31#- 93:5K#)5,0,5)*)31#u3#+ rgGGfs
F stereotypeG
TimedJalue!pecification
F stereotypeG!imedElement
: either #nstant: or 5uration
www.omgmarte.org
TimedE,entTimedE,ent
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 69/243
ae
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
,505)3)31#- K#)5I5, rgGGfs
F stereotypeG
TimedE,ent
F metaclass G
?M+==)ommon@eha,iors==!impleTime==
TimeE,ent
DDmetaclass
U%*::Classes::Kernel::ValueSpecification gGGf gGGf
565,=
F stereotypeG
!imedElement
E%tending theTimeEvent metaclass of
!impleTime
www.omgmarte.org
TimedProcessingTimedProcessing
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 70/243
bg
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
F stereotype GTimedProcessing
()*,)gGGf
23#3(D
gGGf
+Q,*)31#
gGGf gGGf
F metaclass GU%*::
Common Beha viors::Commun icatio n::
Event
F metaclass GU%*::'ctions::
'ctio n
F metaclass GU%*::CommonBehaviors::
Behavior
F metaclass G?M+==0n teract ions==@asic0n teract ions==
Message
F stereotype G!imedElement
F metaclass GU%*::Classes::Kernel::
ValueSpecification
www.omgmarte.org
TimedObser,ationTimedObser,ation
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 71/243
bf
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
F stereotypeG!imed"bservation
F stereotypeG!imedElement
F metaclass G?M+==)ommon@ eha,io rs==
!impleTime==TimeObser,ation
F metaclass G?M+==)ommon@ eha,io rs==
!impleTime==#urationObser,ation
1<(u3#+-;65#)u3#+ rgGGfs
F stereotypeGTimed0nstantObser,ation
1<(u3#+-;65#)u3#+ rgGG>s
DDstereotypeTimed#urationObser,ation
E%tending the !impleTime
)bservation metaclasses
www.omgmarte.org
Timed)onstraint 2 )lock)onstraintTimed)onstraint 2 )lock)onstraint
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 72/243
b>
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
F stereotype G9"Ps==
9fp)onstraint3#)5,0,5)*)31#- 93:5K#)5,0,5)*)31#u3#+
F stereotype GTimed)onstraint
F stereotype G)lock)onstraint
F stereotype G!imedElement
www.omgmarte.org
Time8related RM stereotypesTime8related RM stereotypes
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 73/243
b]
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
p ()5,51)=05 qResource
p ()5,51)=05 qTime==)lockType
p ()5,51)=05qTimingResource
+Q,*)31#-VUYX+Q,*)31#3(Y5,31+3H- Z1145*#
p ()5,51)=05 qTimerResource
p ()5,51)=05 q)lockResource
Resources for timemanagement
!terot$pes defined in the ;eneric Resource Modeling sub"profile
www.omgmarte.org
Time8related libraries= TimeTypes+ibraryTime8related libraries= TimeTypes+ibrary
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 74/243
b_
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
9"K.9J/1H*4GGG
'YL
p 5#Q:5,*)31# qTime!tandardHind
()*,)23#3(D(5#+,5H5365H1#(Q:5
p 5#Q:5,*)31#qE,entHind
+3(H,5)5 +5#(5
p 5#Q:5,*)31# qTime9atureHind
p :1+54/3<,*,= q
TimeTypes+ibrary
+Q,*)31#3#()*#)
p 5#Q:5,*)31#qTime0nterpretationHind
2
www.omgmarte.org
Time8related libraries= Time+ibraryTime8related libraries= Time+ibrary
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 75/243
b`
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
p :1+54/3<,*,=qTime+ibrary
HQ,,5#)93:5M O- 75*4
ƒƒH41Hl9=05x #*)Q,5 t +5#(5S Q#3)9=05 t 93:5.#3)u3#+S
I5)93:5 t HQ,,5#)93:5 y0deal)lock
p H41Hl qx Q#3) t ( y
3+5*4J4l-K+5*4J41HlpQ#3)q (
pQ#3)q :( x<*(5.#3)t(S H1#6U*H)1,tgGggfy
pQ#3)q Q( x<*(5.#3)t:(S H1#6U*H)1,tgGggfy
pQ#3)q #( x<*(5. #3)tQ(S H1#6U*H)1,tgGggfy
pQ#3)q :3# x<*(5.#3)t(S H1#6U*H)1,tagy
pQ#3)q D,( x<*(5.#3)t:3#S H1#6U*H)1,tagy
pQ#3)q +=( x<*(5.#3)tD,(S H1#6U *H)1,t>_yGGG
p 5#Q:5,*)31#qTime?nitHind
ƒƒQ#3) )3Hl
p 5#Q:5,*)31#q+ogicalTime?nitHind
6*4Q5- 75*45[0,- J41Hl5+ *̂4Q5L05H323H*)31#Q#3)- 9.u1#J41Hl- L),3#I
p )Q0459=05 qTimedJalueType
9.u
p 0,3:3)365 q)lockedJalue!pecification
Templated 5ataT$pe
T1o usual sets of Time
Units
Model of ideal <ph$sical time=
www.omgmarte.org
Time8related 9"P typesTime8related 9"P types
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 76/243
ba
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
F model+ibraryG
MARTEK+ibrary==@asic9"PKTypes
Q#3)- 93:5.#3)u3#+
0,5H3(31#- 75*4
F dataTypeG
F nfpTypeG
x Q#3)")),3<t Q#3) y
9"PK#uration
6*4Q5- 75*4
F dataTypeG
F nfpTypeG
x 6*4Q5")),3<t 6*4Q5 y
9"PKReal
6*4Q5- W*)593:5
F dataTypeG
F nfpTypeG
x 6*4Q5")),3<t 6*4Q5 y
9"PK#ateTime
5[0,- ^L/X;[0,5((31#
(1Q,H5- L1Q,H5u3#+()*)z- L)*)3()3H*4zQ*43235,u3#+
+3,- W3,5H)31#u3#+
F dataTypeG
F nfpTypeG
x 5[0,")),3<t 6*4Q5 y
9"PK)ommonType
Q#3)- U,5kQ5#H=.#3)u3#+
0,5H3(31#- 75*4
F dataTypeG
F nfpTypeG
x Q#3)")),3<t Q#3) y
9"PK"re>uency
Time"related t$pes.)ften used.
www.omgmarte.org
Time specific languages=)locked Jalue !pecificationTime specific languages=)locked Jalue !pecification
;[0,5((3#I )3:5 6*4Q5( F3)D ;†Y/KJK9 H41Hl(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 77/243
bb
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
ValueSpecificationClockedValueSpecification
$n st an tValu eSp ec if ic at io n & urat io nV alu eSp ec if ic at io n
(=:<14-L),3#I rgGGfs
0nstantExpression
x 1,+5,5+ y gGGw
gGGf
3%05,*#+
$nstantValueSpecification
3(/1F5,%05#- Z1145*#3(.005,%05#- Z1145*#
0nstant0nter,al!pecification
fgGGf
:3#
f
gGGf :*[
&urationValueSpecification
3(/1F5,%05#- Z1145*#3(.005,%05#- Z1145*#
#uration0nter,al!pecification
f
gGGf:3#
f gGGf
:*[
!pan
f
gGGf
<5I3# 5#+gGGf
f
3(Z*HlF*,+- Z1145*# rgGGfs
Translation
f
gGGf
()*,)
f
gGGf
122(5)
(=:<14-L),3#I rgGGfs
#urationExpression
+%05,*#+
gGGf
gGGw x 1,+5,5+ y
2*H)1,- 75*4
!caling
f
gGGf
+Q,*)31#
)J!
K#()*#)
…WQ,*)31#
www.omgmarte.org
Time specific languages=J!+Time specific languages=J!+ Time ExpressionsTime Expressions
;[0,5((3#I )3:5 6*4Q5( F3)D ;†Y/KJK9 H41Hl(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 78/243
bd
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
J!+==TimeExpressions
ValueSpecification
#urationExpression"bservation
!imeE)pressionw
x1,+5,5+y1<(;[0, )ompo siteJalu es==
0nter,al!pecification
#uration0nter,al
x,5+523#5( :3#y:3#
x,5+523#5( :*[y:*[
gGGf5[0,
0nstantExpression 0nstant0nter,al
x,5+523#5( :3#y:3#
x,5+523#5( :*[y:*[
itterExpression
gGGf1HHQ,K#+5[;[0,
gGG>H1#+3)31#;[0,
Obs)allExpression
f1<(5,6*)31#
;[)5#+5+ H*0*<343)35(-‡%HHQ,,5#H5 3#+5[‡93:5 3#)5,6*4(‡ ~3))5,
www.omgmarte.org
Time Jalues= )oncrete syntaxTime Jalues= )oncrete syntax
;[*:045( 12 J41Hl5+ 6*4Q5 5[0,5((31#(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 79/243
be
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
!imple time ,alues!imple time ,alues
M6*4Q5t]G`S Q#3)t:(S 1#J41HltˆM6*4Q5t]G`S Q#3)t:(S 1#J41Hltˆ3+5*4J4l3+5*4J4l}O„}O„
]G` :( 1#]G` :( 1# 3+5*4J4l3+5*4J4l„„
-omogemeous expressions-omogemeous expressions
M6*4Q5tfG`S Q#3)t:(S 1#J41HltˆM6*4Q5tfG`S Q#3)t:(S 1#J41Hltˆ3+5*4J4l3+5*4J4l}O •}O •
M6*4Q5tf`gS Q#3)tQ(S 1#J41HltˆM6*4Q5tf`gS Q#3)tQ(S 1#J41Hltˆ3+5*4J4l3+5*4J4l}O„}O„
→→ M6*4Q5tfa`gS Q#3)tQ(S 1#J41HltˆM6*4Q5tfa`gS Q#3)tQ(S 1#J41Hltˆ3+5*4J4l3+5*4J4l}O}O
-eterogeneous expressions-eterogeneous expressions
:3# Mf` )3Hl 1#:3# Mf` )3Hl 1# 0,J4l0,J4lS ` :( 1#S ` :( 1# 3+5*4J4l3+5*4J4lO„O„
Additional capabilities with J!+Additional capabilities with J!+ %HHQ,,5#H5 #Q:<5,S ~3))5,Sm%HHQ,,5#H5 #Q:<5,S ~3))5,Sm
<Q) 3:043H3)4= 1#<Q) 3:043H3)4= 1# 3+5*4J4l3+5*4J4l
tuple, a la 6!L
short form
(an be evaluated,because conv4actor
bet1een units
(loc relation bet1eenpr(l and ideal(l must
be provided
www.omgmarte.org
Time specific languages=J!+ Time )onstraintsTime specific languages=J!+ Time )onstraints
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 80/243
dg
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
sd W*)*"HkQ3(3)31#
-J1#),1445, -L5#(1,
*HkQ3,5MO x +f ƒt MfS:(O y
*HlMO
(5#+W*)*M+*)*O x rMgS:(OGGMfgS:(Os y
x r+fGG]w+fs y
{+f
N)]
x s)fGG)f•MdS:(Os y
()*,)MO x ~3))5,M)gO ƒ M`S:(O y N)g
N)>
H1#(),f t x M)gr3•fs8)gr3sO MfggS:(O yH1#(),> t x )] ƒ )> • M]gS:(O y
t>' observationof the message'
startt> is periodic,period ?>>ms
1ith a @itter lessthan ms
t>BiC denotes thei"th occurrence
of
www.omgmarte.org
Time specific languages=)lock )onstraint !pecificationTime specific languages=)lock )onstraint !pecification
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 81/243
df
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
)lock
)lockExpression
+52Z1+=
gGGf
gGGf
Event gGGf+523#3#I;65#)
)lockRelation
H41Hl( gGGw x 1,+5,5+ y 3#+5[- K#)5I5,
0nstantReference
H41Hl
f
,54*)31#- K#()*#)754*)31#u3#+
0nstantRelation
x 1,+5,5+ y >
gGGf
3#()*#)752(
'bst ractCo nstrain t
)hrono9"P
PredicategGGf
gGGf IQ*,+
)hronometric)lock
x 1,+5,5+ y fGGw HD,1#1(
)lock#efinition
41H*4J41HlgGGf
f
)lock)onstraint!pecificationfGGw
H1#(),*3#)(
))!
H13#H3+5#H50,5H5+5#H5
p 5#Q:5,*)31#q0nstantRelationHind
x 1,+5,5+ yfGGw
H41Hl(
gGGwx 1,+5,5+ y
gGGf
*#1#=:1Q(J41Hl(
;[0,5((31# 12
J41Hl+505#+5#H35(
www.omgmarte.org
)lock )onstraint !pecification)lock )onstraint !pecification
234)5,5+Z=
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 82/243
d>
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
)lock)onstraint
K#()*#)754*)31#
J41Hl754*)31#
H13#H3+5#)v3)D
0,5H5+5(
(),3H)4= 0,5H5+5(
J13#H3+5#H58<*(5+
Y,5H5+5#H58<*(5+
%)D5,(
J41HlVUY
5kQ*4
+3(~13#)
3(U3#5,9D*#
3(J1*,(5,9D*#
,5(),3H)5+91
+3(H,5)3R5+Z=LQ<H41Hl3#I
9F18H41Hl5+
:3#Q(
v3)D 3:043H3) H41Hl
3(U*()5,9D*#
3(L41F5,9D*#
:*[W,32)
:5,I5
:55)(3(Y5,31+3H%#
3(L01,*+3H%#
*4)5,#*)5(v3)D
(*:045+91
FD5#
D*(L)*<34)=
D*65Ll5F
D*65W,32)
D*65%22(5)
D*(L*:57*)5
3#)5,
9D,558H41Hl5+ 3(.#31#%2
"
R
2Q#H)31#*4
,54*)31#*4
Each relationhas amathematicalspecification
Y,58+523#5+J41Hl
J1#(),*3#)(
www.omgmarte.org
O,er,iewO,er,iew
!PT ?M+ % and Time!PT ?M+ % and Time
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 83/243
d]
R e
? e r e n c e
@ A
R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
!PT$ ?M+ % and Time!PT$ ?M+ % and Time .&/--J1::1#Z5D*631,(--L3:04593:5.&/--J1::1#Z5D*631,(--L3:04593:5
the MARTE Time domain ,iewthe MARTE Time domain ,iew *GlG*G )D5 &"79; 93:5 :5)*8:1+54*GlG*G )D5 &"79; 93:5 :5)*8:1+54
J1#H50)( *#+ ,54*)31#(D30(J1#H50)( *#+ ,54*)31#(D30(
the MARTE Time sub8profilethe MARTE Time sub8profile *GlG*G .&/ 635F*GlG*G .&/ 635F
?sage of the Time sub8profile?sage of the Time sub8profile
www.omgmarte.org
)hronometric )locks B/C)hronometric )locks B/C
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 84/243
d_
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
HQ,,5#)93:5M O- 75*4
,5(14Q)31#- 75*4 x,5*+%#4=y
p H41Hl9=05 qx #*)Q,5 t +3(H,5)5S Q#3)9=05 t 93:5.#3)u3#+S,5(14")),t,5(14Q)31#S I5)93:5 t HQ,,5#)93:5 y
)hronometric
HQ,,5#)93:5M O- 75*4
p H41Hl9=05 qx #*)Q,5 t +5#(5S Q#3)9=05 t 93:5.#3)u3#+S
I5)93:5 t HQ,,5#)93:5 y0deal)lock
0mported from
MARTE==Time+ibrary
An user9s defined(locT$pe
P1F )1 (05H32= HD,1#1:5),3H H41Hl(
www.omgmarte.org
)hronometric )locks B%C)hronometric )locks B%C
L05H32=3#I VUY 12 M#1# 3+5*4O
HD,1#1:5),3H H41Hl(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 85/243
d`
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0
7
B e r s
i o n
C ! C
,5(14Q)31# t gGgf
p H41Hl qx Q#3) t (S ()*#+*,+ t .9J y
HHf-JD,1#1:5),3H
,5(14Q)31# t gGgf
p H41Hl qx Q#3) t (S ()*#+*,+ t .9J yHH>-JD,1#1:5),3H
p H41HlJ1#(),*3#) q x l3#+ t ,5kQ3,5+ yx )lock H is 3+5*4J4l discreti;ed@y gGggfU
HHf isPeriodicOn H 0eriod fgU
HH> isPeriodicOn H periodfgU
HHf has!tability f;8_U
HH> has!tability f;8_U
HHf$HH> ha,eOffset rgGG`s :( wrt 3+5*4J4lU
y
pH41Hl qx Q#3) t ( y
3+5*4J4l-K+5*4J41Hl
p 93:5+W1:*3#q
ApplicationTime#omain
c' local idealdiscrete cloc D
?0T1o
instances
HD,1#1:5),3H H41Hl(
E%ists d such that for all 'cBd+?>F7"?8C+cc?BC,c-d./0123
4 gƒHHfrl•fs8HHfrlsƒ>g ms
Another -on"functional propert$'Offset
A -on"functional propert$'Stability?>">.>>?Gcc?B+?C"cc?BCG?>+>.>>? in
ms
www.omgmarte.org
+ogical )locks B/14C+ogical )locks B/14C
P1F )1 (05H32= 41I3H*4 H41Hl(-
fO L)*,) F3)D * ()*#+*,+ .&/ H4*(( +3*I,*:
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 86/243
da
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0
7
B e r s
i o n
C ! C
05,31+-VUYXWQ,*)31#
)ontroller
,5(14Q)31#-75*43#/1FY1F5,-Z1145*#
Processor fgGGw
H),4( 0,1H
Fopa>ueExpressionGpid)ode
FtimeE,entGte,
fgGGf
<5D
3eriod of the 3#5controller' uses a -43"
t$pe
E%plicit model elementsnot usual in (lass
5iagrams
A 6oltage"!caling processor. Assume 2 fre&uencies for
simplicit$
fO L)*,) F3)D * ()*#+*,+ .&/ H4*(( +3*I,*:
www.omgmarte.org
+ogical )locks B%14C+ogical )locks B%14C
>O "004= &"79; ()5,51)=05(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 87/243
db
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0
7
B e r s
i o n
C ! C
The class 3rocessor isstereot$ped b$
(locT$pe
05,31+-VUYXWQ,*)31#
)ontroller
,5(14Q)31#-75*43#/1FY1F5,-Z1145*#
FclockTypeGFep8allocatedG
Processor fgGGw
H),4( 0,1H
FtimedProcessingGx 1#t0,S ()*,)t)56S
+Q,*)31#t_` yFap8allocatedG
Fopa>u e@eha,iorGpid)ode
FtimedE,entGx 3(754*)365t),Q5S FD5#tgS1#t3+5*4J4lS 565,=t05,31+ y
FtimeE,entGte,
FallocateGf
gGGf
<5DThe pid code is
triggered b$ tev andtaes H c$cles of
3rocessor
Event tev is periodic onideal(loc, the period i
the value of thecontroller9s attribute
www.omgmarte.org
+ogical )locks B314C+ogical )locks B314C
]O K#()*#)3*)5 Q(5,}( :1+54 545:5#)(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 88/243
dd
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0
7
B e r s
i o n
C ! C
05,31+tM6*4Q5tfGgSQ#3)t:(O
Hf-J1#),1445,
05,31+tM6*4Q5t>GgSQ#3)t:(O
H>-J1#),1445,
,5(14Q)31#tfGg
0,-Y,1H5((1,
ctrl0nst
FclockG3+5*4J4l-K+5*4J41Hl
An instance of the s$stem 1ith an instance of 3rocessorsupporting t1o instances of (ontroller
Each controller instancehas its o1n period
www.omgmarte.org
+ogical )locks B414C+ogical )locks B414C
_O K#),1+QH5 H41Hl M<= ()5,51)=03#IO
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 89/243
de
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0
7
B e r s
i o n
C ! C
05,31+tM6*4Q5tfGgSQ#3)t:(O
Hf-J1#),1445,
05,31+tM6*4Q5t>GgSQ#3)t:(O
H>-J1#),1445,
,5(14Q)31#tfGg
FclockG0,-Y,1H5((1,
ctrl0nst
FclockG3+5*4J4l-K+5*4J41Hl
Fclock)onstraintG:*3#J4lJ), x )lock H is 3+5*4J4l discreti;ed@yf;8aU 0, H filtered@ygZMfGg‰feO if 0,G3#/1FY1F5,„ 0, t H filtered@ygZMfGg‰eO if not 0,G3#/1FY1F5,„ y
This instance of 3rocessor is usedas a logical cloc
This cloc constraint binds processorcloc c$cle to ph$sical time, taing
account of the po1er mode
www.omgmarte.org
Multiform time B/14CMultiform time B/14C
A t ti li ti
"#1)D5, 5[*:045 12 41I3H*4 H41Hl(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 90/243
eg
R e
? e r e n c e
@
A R T E T u
t o r i a
l
N o v e m
e r
2 0 0
7
B e r s
i o n
C ! C
Automotive application
4or ignition and in@ection, the position of the camshaft or the cranshaft is a <natural= reference frame for events and behaviors.
I 5efine logical clocs dealing 1ith angular positions.
ƒƒQ#3) ŠJ"&ƒƒQ#3) ŠJ7u
p 5#Q:5,*)31#qAngle?nitHind
*#I45Ml-K#)5I5,O- 75*4
,5(14Q)31#- 75*4122(5)- 75*4:*[3:*4̂ *4Q5- 75*4
p H41Hl9=05 qx #*)Q,5 t +3(H,5)5S 3(/1I3H*4S
)3:5.#3) t"#I45.#3)u3#+S,5(14")),3< t ,5(14Q)31#S
122(5)")),3< t 122(5)S:*[^*4")),3< t :*[3:*4^*4Q5S
3#+5[91^*4Q5 t *#I45 yAngle)lock
,5(14Q)31# tfGg122(5) t gGg:*[3:*4̂ *4Q5 t b>gGg
p H41Hl qx Q#3) t ŠJ7u y
H,lJ4l-"#I45J41Hl
x H1#)5[) "#I45J41Hl--*#I45Ml-K#)5I5,O- 75*4„*#I45 t M 122(5) • Ml ‹ fO w ,5(14Q)31# O
,:1+ :*[3:*4̂ *4Q5 y
,5(14Q)31# t fGg122(5) t gGg:*[3:*4̂ *4Q5 t ]agGg
p H41Hl qx Q#3) t ŠJ"& y
H*:J4l-"#I45J41Hl
MfO +523#5 * (5) 12Q#3)(
M>O +523#5 * H41Hl
)=05
M]O 10)31#*4
+523#5 )D5 4*<543#I
2Q#H)31#
M_O 3#()*#)3*)5 H41Hl(
-ote the possible useof an ocl rule
www.omgmarte.org
Multiform time B%14CMultiform time B%14C
;[*:045 12 Q(*I5 12 *# h"#I45J41Hli
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 91/243
ef
R e
? e r e n c e
@
A R T E T u
t o r i a
l
N o v e m
e r
2 0 0
7
B e r s
i o n
C ! C
0ntake
stm ƒƒ)3:5+Y,1H5((3#I _L),1l5;#I3#5J=H45x 1# t H*:J4l y
)ompression
)ombustionExhaust
*2)5, eg
after 7'
*2)5, eg
*2)5, eg
A transition
A trigger
Reference to a BlogicalC clock$ the
unit of which is V)AM Belsewhere
definedC
!tereotyped !tate Machine .
Makes reference to a )lock
!emantics=eg ŠJ"& *2)5,5#)5,3#I ()*)5
Compression 45*65)D3( ()*)5 *#+ 5#)5,()*)5 Combustion
0 I I
www.omgmarte.org
Multiform time B314CMultiform time B314C
"#1)D5, 5[*:045 12 Q(*I5 12 *# h"#I45J41Hli-
;#D*#H5+ )3:3#I +3*I,*: Q(5+ 3# (05H323H*)31#
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 92/243
e>
R e
? e r e n c e
@
A R T E T u
t o r i a
l
N o v e m
e r
2 0 0
7
B e r s
i o n
C ! C
V)RH
/&'' 36' 54' (%'
0T#)
"@#)
sd p )3:5+Y,1H5((3#I q _L),1l5J=H45
x 1# t H,lJ4l y
0ntake
)ompression
)ombustion
Exhaust
0)
EOE)
0O
OT#)
!@#)
H,lJ4l- H,*#l(D*2) J41HlŠJ7u- +5I,55 H,*#l ZWJ- Z1))1: W5*+ J5#)5, UZWJ- U3,() ZWJ
LZWJ- L5H1#+ ZWJ
9WJ- 910 W5*+ J5#)5, K9WJ- KI#3)31# 9WJ
%9WJ- %65,4*0 9WJ
KJ- K#)*l5 H41(5(
K%- K#)*l5 105#(
;J- ;[D*Q() H41(5(
;%- ;[D*Q() 105#(
W tOT#)S 5..%'N X
W t"@#) S 4'..6'N X
W t!@#)8 45..6'N X
W tOT#) 8 /'../6N XYt"@#)
YtOT#)
Yt!@#)
YtOT#)
OT#)
Extension to logical timeTiming diagram
!tate
o,erlapping
;#D*#H5+ )3:3#I +3*I,*: Q(5+ 3# (05H323H*)31#
www.omgmarte.org
Multiform time B414CMultiform time B414C
J1:<3#3#I 41I3H*4 H41Hl(-
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 93/243
e]
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0 0
7
B e r s
i o n
C ! C
ŠJ"&V)RH
p 5#Q:5,*)31#qAngle?nitHind
,5(14Q)31# t fGg122(5) t '.'
:*[3:*4̂ *4Q5 t b>gGg
p H41Hl qx Q#3) t ŠJ7u yHf-"#I45J41Hl
,5(14Q)31# t fGg122(5) t /&'.':*[3:*4̂ *4Q5 t b>gGg
p H41Hl qx Q#3) t ŠJ7u yH>-"#I45J41Hl
,5(14Q)31# t fGg122(5) t 54'.':*[3:*4̂ *4Q5 t b>gGg
p H41Hl qx Q#3) t ŠJ7u y
H]-"#I45J41Hl
,5(14Q)31# t fGg122(5) t 36'.'
:*[3:*4̂ *4Q5 t b>gGg
p H41Hl qx Q#3) t ŠJ7u yH_-"#I45J41Hl
,5(14Q)31# t fGg122(5) t gGg:*[3:*4̂ *4Q5 t b>gGg
p H41Hl qx Q#3) t ŠJ7u y
H-"#I45J41Hl
p H41HlJ1#(),*3#) qW c/ c%U c% c3Uc3 c4U c4 c/U
c is"inerThan c/U X9D5(5 6*4Q5( *,5 #1)3:01(5+S )D3( 3( *#*,<3),*,= M<Q) ,*)D5,#*)Q,*4O HD13H5G "#= H41Hl23#5, )D*# HfSH>SH]SH_ 3(
*441F5+
J1:<3#3#I 41I3H*4 H41Hl(-
Hl 3( *# "#I45J41Hl Q(5+ )1 (05H32= )D5 3I#3)31# 12 * H=43#+5,
H 3( )D5 H41Hl Q(5+ )1 (05H32= 3I#3)31#( 3# * _8H=43#+5, 5#I3#5
www.omgmarte.org
Agenda
Part /
K ) + )3 ) &WW 2 79E; ) { &"79; 3 ) D 44
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 94/243
e_
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0 0
7
B e r s
i o n
C ! C
K#),1+QH)31# )1 &WW 21, 79E; (=()5:( { &"79; 3# * #Q)(D544
Part %
V1#82Q#H)31#*4 0,105,)35( :1+543#I %Q)43#5 12 )D5 ^*4Q5 L05H323H*)31# /*#IQ*I5 M^L/O
Part 3
9D5 )3:3#I :1+54
Part 4
A component model for RT1E
Part 5
Y4*)21,: :1+543#I
Part 6
7505)3)365 (),QH)Q,5 :1+543#I
Part (
&1+548<*(5+ *#*4=(3( 21, 79E;
Part &
&"79; *#+ ""W/
Part 7
J1#H4Q(31#(
www.omgmarte.org
)omponent8based paradigms in theRTE domain
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 95/243
e`
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
)omponent architectures are increasingly used in RTE execution
platforms V55+ 21, :*#*I5*<45 *#+ ,5Q(*<45 035H5( 12 (12)F*,5
u5= 5[*:045(- /3ID)F53ID)8JJ&S LJ"S "Q)1(*,
)oncept of component also used to structure !ystem 1 !oftware
engineering processes
;#)3)35( Q#+5, *#*4=(3(E+5(3I# <,1l5# +1F# 3#)1 * (5,35( 12 H1:01#5#)(
"0043H*<45 *) +3225,5#) ()*I5( 12 )D5 0,1H5((
W3225,5#) l3#+- *H)365 6(G 0*((365 M5GIGS .&/ *H)365 H4*((5(O
;[*:045( 12 ,54*)5+ 4*#IQ*I5(- L=(&/S ""W/
9D5,5 3( * #55+ )1 0,163+5 :1+543#I H1#(),QH)( )1 (Q001,) )D5(5 H1#H50)( *)+3225,5#) 45654( 12 *<(),*H)31#
www.omgmarte.org
hat is a component in ?M+:
?M+ distinguishes the notions of structured class and component
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 96/243
ea
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
?M+ distinguishes the notions of structured class and component
9D5 l5,#54 12 )D5 4*#IQ*I5 +523#5( Class *#+ Interface
!tructuredClasses +523#5( "ort *#+Connector *#+ 0,163+5 )D5 *<343)= )1+5(H,3<5 * Class *( *# *((5:<4= 12 0*,)(
#asic *#+ "ac$a%in%Component +523#5)D5 #1)31# 12 H1:01#5#) ,5*43R*)31# *#+*++( 0*Hl*I3#I H*0*<343)35(
K# *#= H*(5S #1 (Q001,) 21, 241F81,35#)5+ H1::Q#3H*)31#(
www.omgmarte.org
eneral )omponent Model
0 t d d t ith i t b d d l
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 97/243
eb
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
0ntroduced to cope with ,arious component8based models
L=(&/S L03,3)S ""W/S /3ID)F53ID)8JJ&S ;"L98"W/>S "Q)1(*,
#oes not imply any specific model of computation
Relies mainly on ?M+ structured classes$ on top of which a support for
!ysM+ blocks has been added ")1:3H *#+ #1#8*)1:3H 241F 01,)(
U41F 0,105,)35( *#+ 241F (05H323H*)31#(
@ut also pro,iding a support for +ightweight8))M$ AA#+ and EA!T8
A#+%$ !pirit and Autosar
www.omgmarte.org
The MARTE )M subprofile
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 98/243
ed
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Example of component definition
")1:3H 241F 01,) )=05+ <= *
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 99/243
ee
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
L)*#+*,+ .&/ 01,) )=05+ <= * H4*(( )D*)Q(5( )D5 /1H*)31#"HH5(( 3#)5,2*H5
")1:3H 241F 01,) )=05+ <= *
J4*((3235,
J1:045[ 241F 01,) )=05+ <= *241F (05H323H*)31#
www.omgmarte.org
Example of component usage
%Q)I13#I *)1:3H
241F 01,)
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 100/243
fgg
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
.&/ +545I*)31# H1##5H)1, Q(5+F3)D *# *)1:3H 241F 01,)
241F 01,)K#H1:3#I *)1:3H
241F 01,)
.&/ +545I*)31# H1##5H)1, Q(5+
F3)D * #1#8*)1:3H 241F 01,)
www.omgmarte.org
RTE Model of )omputation and)ommunication
-igh le,el modeling concepts for RT1E design
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 101/243
fgf
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0
0 7
B e r s
i o n
C ! C
-igh8le,el modeling concepts for RT1E design
zQ*43)*)365 *(05H)( ;GIG H1#HQ,,5#H= *#+ <5D*631,
zQ*#)3)*)365 *(05H)( *( ,5*48)3:5 25*)Q,5
;GIG +5*+43#5 1, 05,31+
Allows expressing real8time constraints on component interfaces and
connectors
"0043H*<45 FD5)D5, H1:01#5#) *,5 *H)365 1, 0*((365
"or acti,e components$ introduces specific models of computation
JQ,,5#)4=S *H)365 1<~5H)( M5GIG 7D*0(1+=S 71(5 79S "JJ%7WO
"4)5,#*)365 &1JJ H*# <5 +523#5+ Q(3#I )D5 &"79; 21Q#+*)31#(
www.omgmarte.org
RTE Model of )omputation and)ommunication
Pro,ides high8le,el concepts for modeling >ualitati,e real8time features
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 102/243
fg>
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0
0 7
B e r s
i o n
C ! C
Pro,ides high8le,el concepts for modeling >ualitati,e real8time features
on classes 1 structured classes 1 components
75*4893:5 .#3) M79.#3)O
'5#5,*43R*)31# 12 )D5 "H)365 %<~5H)( 12 )D5 .&/ >
%F#( *) 45*() 1#5 (HD5+Q4*<45 ,5(1Q,H5
75(1Q,H5( *,5 :*#*I5+ 53)D5, ()*)3H*44= M0114O 1, +=#*:3H*44=
&*= D*65 105,*)31#*4 :1+5 +5(H,30)31# M(3:34*, )1 ""W/ :1+5(O
Y,1)5H)5+ Y*((365 .#3) MYY.#3)O
'5#5,*43R*)31# 12 )D5 Y*((365 %<~5H)( 12 )D5 .&/>
75kQ3,5( (HD5+Q4*<45 ,5(1Q,H5( )1 <5 5[5HQ)5+
LQ001,)( +3225,5#) H1#HQ,,5#H= 0143H35( M5GIG (5kQ5#)3*4S IQ*,+5+O
Y143H35( *,5 (05H3235+ 53)D5, 41H*44= 1, I41<*44= ;[5HQ)31# 3( 53)D5, 3::5+3*)575:1)5 1, +525,,5+
www.omgmarte.org
RTE Model of )omputation and)ommunication BcontIdC
Pro,ides high8le,el concepts for modeling >uantitati,e real8time features
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 103/243
fg]
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0
0 7
B e r s
i o n
C ! C
Pro,ides high8le,el concepts for modeling >uantitati,e real8time features
on classes 1 structured classes 1 components
75*4893:5 Z5D*631, M7)Z5D*631,O
&5((*I5 zQ5Q5 (3R5 *#+ 0143H= <1Q#+ )1 * 0,163+5+ <5D*631,
75*4893:5 U5*)Q,5 M79UO
;[)5#+( .&/ "H)31#S &5((*I5S L3I#*4S Z5D*631,*4U5*)Q,5
754*)365E*<(14Q)5E<1Q#+ +5*+43#5(S ,5*+= )3:5 *#+ :3(( ,*)31
75*4893:5 J1##5H)1, M7)5J1##5H)1,O
;[)5#+( .&/ J1##5H)1,
9D,1QID0Q)S ),*#(:3((31# :1+5 *#+ :*[ <41Hl3#IE0*Hl5) 9[ )3:5
www.omgmarte.org
?sage examples of the RTEMo))extensions
)ruise)ontrol!ystem
3(W=#*:3H t 2*4(5
J*# <5 1#5 12 )D5 21441F3#I-8 (5kQ5#)3*4
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 104/243
fg_
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0
0 7
B e r s
i o n
C ! C
act start
p ,)2 q)IL055+ t (0:8I5)L055+MO
N)g xl3#+t()*,)"H)31#y
1HHu3#+ t *05,31+3H MO
6*4Q5 t M)752t)gS ,54W4tMfgS :(OS :3((tMfS ‚S :*[OO
I5)L055+MO- L055+
F pp?nitGWconcPolicyguardedX
!peedometer
p,)L5,63H5q x5[5u3#+t+525,,5+y ()*,)MOp,)L5,63H5q x5[5u3#+t+525,,5+y ()10MO
)IL055+- L055+
F rt?nitG
)ruise)ontroler
f
(0:
F dataTypeG
!peed
()*,)W5)5H)31#MO()10W5)5H)31#MO
F rt?nitG
Obstacle#etector
f
(0:
3(W=#*:3H t 2*4(53(&*3# t 2*4(5
0114L3R5 t fg0114Y143H= t H,5*)5
3(&*3# t ),Q5
:*3# t ()*,)
(5kQ5#)3*48 IQ*,+5+
8 H1#HQ,,5#)
JD*,*H)5,3R5( )D5 <5D*631, F3)D
,5*48)3:5 25*)Q,5(
%<()*H45W5H)5H)1, H4*(( +5H4*,5+
*( h*H)365i
www.omgmarte.org
Modeling real8time features ofcomponents
zQ*43)*)365 25*)Q,5( 1# *
H1:01#5#) 3#)5,2*H5
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 105/243
fg`
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r
2 0
0 7
B e r s
i o n
C ! C
v3)D1Q) * p,).#3)q ()5,51)=05S )D5 H1:01#5#) 3(
H1#(3+5,5+ *( 0*((365
K) #55+( )1 <5 *441H*)5+ 1# * H1:0Q)3#I ,5(1Q,H5 M5GIGS
Q(3#I )D5 p*441H*)5q ()5,51)=05O
zQ*#)3)*)365 25*)Q,5( 1# *
H1:01#5#) 3#)5,2*H5
H1:01#5#) 3#)5,2*H5
Y,1)5H)5+ 0*((365 Q#3)
5[HD*#I5 <5)F55#
H1:01#5#)( F3)D *(5kQ5#)3*4 *HH5(( 0143H=
www.omgmarte.org
Modeling real8time features ofcomponents BcontIdC
zQ*43)*)365 25*)Q,5( +523#5+ 1#
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 106/243
fga
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r 2 0
0 7
B e r s
i o n
C ! C
zQ*43)*)365 25*)Q,5( +523#5+ 1#
)D5 /1H*)31#"HH5(( 3#)5,2*H5
*004=
zQ*43)*)365 25*)Q,5( +523#5+ 1#
*H)31#( 12 )D5
H1:0Q)59,*~5H)1,= <5D*631,
www.omgmarte.org
Modeling real8time features ofcomponents BcontIdC
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 107/243
fgb
R e
? e r e n c e @
A R T E T u
t o r i a
l
N o v e m
e r 2 0
0 7
B e r s
i o n
C ! C
www.omgmarte.org
Extensibility
All models of computation in the RTE domain not explicitly addressed by
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 108/243
fgd
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2 0
0 7
B e r s
i o n
C ! C
p p y y
MARTE
MARTE foundations B9"P$ Time$ RMC allow third8parties to specify
other model of computations that rely on the same semantic basis
"441F( 1#5 )1 Q(5 &"79; 25*)Q,5( *41#I F3)D )D3( Q(5,8+523#5+ &1JJ
www.omgmarte.org
Agenda
Part /
K#),1+QH)31# )1 &WW 21, 79E; (=()5:( { &"79; 3# * #Q)(D544
P t %
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 109/243
fge
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2 0
0 7
B e r s
i o n
C ! C
Part %
V1#82Q#H)31#*4 0,105,)35( :1+543#I
%Q)43#5 12 )D5 ^*4Q5 L05H323H*)31# /*#IQ*I5 M^L/O
Part 3
9D5 )3:3#I :1+54
Part 4
" H1:01#5#) :1+54 21, 79E;
Part 5
Platform modeling Part 6
7505)3)365 (),QH)Q,5 :1+543#I
Part (
&1+548<*(5+ *#*4=(3( 21, 79E;
Part &
&"79; *#+ ""W/
Part 7
J1#H4Q(31#(
www.omgmarte.org
Outlines of the RM package
Pro,ides basic concepts for modeling a general Bhigh8le,elC
platform for processing RTE applications
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 110/243
ffg
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2 0
0 7
B e r s
i o n
C ! C
0ncludes the features for modeling processing platforms at
different le,el of details.
9D5 45654 12 I,*#Q4*,3)= #55+5+ +505#+( 1# )D5 H1#H5,# :1)36*)3#I )D5
+5(H,30)31# 12 )D5 04*)21,:
;GIGS )D5 )=05 12 )D5 04*)21,:S )D5 )=05 12 )D5 *0043H*)31#S 1, )D5 )=05 12 *#*4=(3( )1 <5
H*,,35+ 1Q) 1# )D5 :1+54
@uild in a bottom8up process to abstract finer8le,el platforms
Y,1H5((3#I 04*)21,: 21, +5(3I# H1#H5,#
L55 P7& *#+ L7&
Y,1H5((3#I 04*)21,: 21, *#*4=(3( H1#H5,#
L55 'z"&8,54*)5+ 0)2 *#+ 2Q,)D5, ,523#5:5#)( 21, 05,21,:*#H5 *#+ (HD5+Q4*<343)=
*#*4=(3(
www.omgmarte.org
Essence of the RM Package
J4*((3235, H1#H5,#%<~5H) H1#H5,#
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 111/243
fff
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
3#()*#H5 )=05
fGGwgGGw75(1Q,H5K#()*#H5
Resource!ericeExecution
gGGw
fH1#)5[)
5[5L5,63H5(
3#()*#H5
)=05
fGGw
gGGw
,5(&Q4)- K#)5I5, rgGGfs
75(1Q,H5
75(1Q,H5L5,63H5
fGGw
fH1#)5[)
0L5,63H5(
1F#5+;45:5#)
1F#5,
gGGf
gGGw
J4*((3235, H1#H5,#%<~5H) H1#H5,#
www.omgmarte.org
RM
eneric Resource Modeling75(1Q,H5 1225,( L5,63H5( *#+ :*= D*65
VUY( 21, 3)( +523#3)31# *#+ Q(*I5
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 112/243
ff>
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
Resource)ore
ResourceTypes
ResourceManagement !cheduling
Resource?sages
LD*,5+ ,5(1Q,H5(S (HD5+Q43#I (),*)5I35( *#+
(05H323H Q(*I5( 12 ,5(1Q,H5( M43l5 :5:1,=
H1#(Q:0)31#S H1:0Q)3#I )3:5 *#+ 5#5,I=O:*= <5 *##1)*)5+G
" ,3HD H*)5I1,3R*)31# 3( 0,163+5+- L)1,*I5S
L=#HD,1#3R*)31#S J1#HQ,,5#H=S
J1::Q#3H*)31#S 93:3#IS J1:0Q)3#IS *#+W563H5 75(1Q,H5( :*= <5 +523#5+G
www.omgmarte.org
Example of ?M+ extensions for eneric Resources
p 0,12345 q'7&
p :5)*H4*(( q.&/--J4*((5(--u5,#54--
J4*((3235,
p :5)*H4*(( q.&/--J4*((5(--u5,#54--K#()*#H5L05H323H*)31#
p :5)*H4*(( q.&/--J4*((5(--u5,#54--
Y,105,)=
p :5)*H4*(( q.&/--K#)5,*H)31#--Z*(3H
K#)5,*H)31#(--/32543#5
p :5)*H4*(( q.&/--J1:01(3)5L),QH)Q,5(--
K#)5,#*4L),QH)Q,5(--J1##5H)*<45;45:5#)
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 113/243
ff]
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
,5(&Q4)- K#)5I5, t f3(Y,1)5H)5+- Z1145*#
3("H)365- Z1145*#
p ()5,51)=05q
75(1Q,H5
p ()5,51)=05 q
J1:0Q)3#I75(1Q,H5
545:5#)L3R5- K#)5I5,
p ()5,51)=05 q
J1::Q#3H*)31#&5+3*
(HD5+Y*,*:(- LHD5+Y*,*:5)5,( rgGGws
3("H)365-Z1145*# t ),Q5 xK(75*+%#4=y
p ()5,51)=05 qLHD5+Q4*<4575(1Q,H5
0,1)5H)u3#+- Y,1)5H)Y,1)1H14u3#+t0,31,3)=K#D5,3)*#H5H5343#I- K#)5I5,
1)D5,Y,1)5H)Y,1)1H14- L),3#I3(Y,1)5H)5+-Z1145*#t),Q5xK(75*+%#4=y
p ()5,51)=05 q&Q)Q*4;[H4Q(31#75(1Q,H5
p ()5,51)=05 q
W563H575(1Q,H5
0*Hl5)L3R5- K#)5I5,
p ()5,51)=05 qJ1::Q#3H*)31#;#+Y13#)
545:5#)L3R5- K#)5I5,
p ()5,51)=05 qL)1,*I575(1Q,H5
3(Y,55:0)3<45- Z1145*# t ),Q5(HD5+Y143H=- LHD5+Y143H=u3#+ t U3[5+Y,31,3)=1)D5,LHD5+Y143H=- L),3#I
(HD5+Q45- %0*kQ5;[0,5((31#
p ()5,51)=05 qLHD5+Q45,
(055+U*H)1,- VUYX75*4 t M6*4Q5 t fGgO
p ()5,51)=05 qY,1H5((3#I75(1Q,H5
p ()5,51)=05 qL5H1#+*,=LHD5+Q45,
p ()5,51)=05 qL=#HD,1#3R*)31#75(1Q,H5
p ()5,51)=05 qJ1#HQ,,5#H=75(1Q,H5
p :5)*H4*(( q.&/--J1:01(3)5L),QH)Q,5(--
K#)5,#*4L),QH)Q,5(--J1##5H)1,
www.omgmarte.org
eneric resource modeling example
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 114/243
ff_
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
DD)o mpu ting Reso urce
WprocessingRate/.'X
9TK!tation
DD)omp utingR esource
WprocessingRate'.6X
)ontroller )A9K@us
DD#e,ice
WprocessingRate/.'X
Robot Arm
JMEK@us
DD)ommu nicationMediaWprocessingRate/.'X
DD)ommu nicationMedia
WprocessingRate&.5X
DD!torage
Welement!i;e/'%4x/'%4x&$
maxR0%56X
www.omgmarte.org
Allocation 2 Refinement
@asic ideas
"441H*)5 *# *0043H*)31# 545:5#) )1 *# 0,1H5((3#I 04*)21,:
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 115/243
ff`
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
00 0 I 0
545:5#) 7523#5 * I5#5,*4 545:5#) 3#)1 1#5 1, (565,*4 :1,5 (05H323H
545:5#)(
0nspired by the !ysM+ allocation J*# 1#4= *441H*)5 *0043H*)31# )1 5[5HQ)31# 04*)21,:
J*# *))*HD VUY H1#(),*3#)( )1 )D5 *441H*)31#
www.omgmarte.org
A two step process for allocation modeling
0dentify possible sources and targets of allocations
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 116/243
ffa
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
#efine allocation relationships and its features
vD*) H*# (5,65 *( *
)*,I5) 12 *# *441H*)31#S
)D5 0D=(3H*4 635F- * ,5(1Q,H5 1, *
(5,63H5G
vD*) H*# <5 *441H*)5+S
)D5 41I3H*4 635F- (),QH)Q,5 1, <5D*631,
www.omgmarte.org
Allocation example B/C
Application
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 117/243
ffb
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
RealTimeOperating!ystem
:=L055+75IQ4*)1, - L055+75IQ4*)1,L=()5: rfs
L055+J1#),1445, J*,L055+
p (HD5+Q4*<4575(1Q,H5 q
%LX9*(lp ()1,*I575(1Q,H5 q
^3,)Q*4&5:1,=
www.omgmarte.org
Allocation example B%C
Application
L +7 4 ) L +7 4 ) L ) rfs
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 118/243
ffd
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
RealTimeOperating!ystem
:=L055+75IQ4*)1, - L055+75IQ4*)1,L=()5: rfs
p *00X*441H*)5+ q
L055+J1#),1445, p *00X*441H*)5+ q
J*,L055+
p (HD5+Q4*<4575(1Q,H5 S50X*441H*)5+ q
%LX9*(l
p ()1,*I575(1Q,H5 S50X*441H*)5+ q
^3,)Q*4&5:1,=
www.omgmarte.org
Allocation example B3C
Application
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 119/243
ffe
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
RealTimeOperating!ystem
:=L055+75IQ4*)1, - L055+75IQ4*)1,L=()5: rfs
p *00X*441H*)5+ q
L055+J1#),1445, p *00X*441H*)5+ q
J*,L055+
p (HD5+Q4*<4575(1Q,H5 S50X*441H*)5+ q
%LX9*(l
p ()1,*I575(1Q,H5 S50X*441H*)5+ q
^3,)Q*4&5:1,=
p*441H*)5q
xl3#+t)3:5LHD5+Q43#Iyp*441H*)5q
x(0*)3*4W3(),3<Q)31#y
www.omgmarte.org
Allocation example B4CApplication
:=L055+75IQ4*)1, - L055+75IQ4*)1,L=()5: rfs
p *00X*441H*)5+ q
L055+J1#),1445,p *00X*441H*)5+ q
J*,L055+
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 120/243
f>g
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
-ardwareProcessingPlatform
RealTimeOperating!ystem
p ()1,*I5S 50X*441H*)5+ q
^3,)Q*4&5:1,=
p*441H*)5q
x(0*)3*4W3(),3<Q)31#y
p ()1,*I575(1Q,H5 S*00X*441H*)5+ q
%LX&5:1,=
p ()1,*I575(1Q,H5 S*00X*441H*)5+ q
LF*0
p ()1,*I575(1Q,H5 S
50X*441H*)5+ q&5:1,=
p ()1,*I575(1Q,H5 S
50X*441H*)5+ qW3(l
p ()1,*I575(1Q,H5 S
*00X*441H*)5+ q711)U(
p H1::Q#3H*)31#&+5+3* S
50X*441H*)5+ qZQ(
p H1:0Q)3#I75(1Q,H5 S
50X*441H*)5+ qJY.
p*441H*)5q
xl3#+t(0*)3*4W3(),3<Q)31#y
p*441H*)5q
xl3#+t)3:5LHD5+Q43#Iy
L055+J1#),1445, J*,L055+
p*441H*)5q
xl3#+t(0*)3*4W3(),3<Q)31#y
p (HD5+Q4*<4575(1Q,H5 S*00X*441H*)5+S
50X*441H*)5+ q%LX9*(l
p*441H*)5q
xl3#+t)3:5LHD5+Q43#Iy
www.omgmarte.org
hat is the !oftware Resource Modeling Profile B!RMC :
A ?M+ profile for modeling AP0s of RT1E sw execution supports
75*4 93:5 %05,*)3#I L=()5:( M79%LO
W5+3H*)5+ /*#IQ*I5 /3<,*,35( M5GIG "W"O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 121/243
f>f
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
@?T it is 9OT a new AP0 standard dedicated to the RT1E domain< L7& 3( )D5 ,5(Q4) 12 * 65,= +550 ()*)5 12 )D5 *,) *#+ 12 )D5 0,*H)3H5( 3#H4Q+3#I <Q) #1)
43:3)5+ )1-
Y%LK†S "7KVJ a`]S LJ;Y97;S /3#Q[ 79S m
L7& t * Q#3235+ :5*# )1 +5(H,3<5 (QHD 5[3()3#I 1, 0,10,35)*,= "YK(
0n which steps shall 0 use !RM :
Software Resource Modeling(SRM)
www.omgmarte.org
hy shall 0 use !RM for modeling RTO! AP0s:
RTO! AP0 modeling with ?M+ is already possible
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 122/243
f>>
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
ZQ)S I5#5,3H( .&/ 3( 4*Hl3#I 79; #*)365 *,)32*H)(j 9o modeling artifacts to describe specific concepts
;GIG )*(l(S (5:*0D1,5( *#+ :*34<1[5(
J1#(5kQ5#)4=S :1+54( ,54= 1#4= 1# #*:3#I H1#65#)31#( 9ot possible to define generic tools using these models
;GIG H1+5 I5#5,*)1, 1, :1+54 ),*#(21,:*)31#( 21, *#*4=(3(G
-ence$ !RM profile allows= 91 :1+54 0,5H3(5 :Q4)3)*(l3#I +5(3I#(
91 <5 *<45 )1 +5(H,3<5 I5#5,3H I5#5,*)365 )114(
91 +5(H,3<5 Lv 5[5:1+54( 3# *# Q#3235+ *#+ ()*#+*,+ F*=
L7& 0,12345 3( * (Q<80,12345 12 )D5 &"79; ()*#+*,+
www.omgmarte.org
hat is supported by the !RM profile :
Concurrent execution contexts'
: !chedulable Resource 7JTas8
: Memor$ 3artition 7J3rocess8
Hardware and softwareresources brokering:
: 5rivers
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 123/243
f>]
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
!RM
!K)oncurrency
RM
p 3:01,)q
!K@rokering!K0nteraction
!KResource)orep 3:01,) q p 3:01,) q
p 3:01,) q
Interactions between concurrent contexts'
: (ommunication !hared data Message 7JMessage &ueue8
: !$nchroniation Mutual E%clusion 7J!emaphore8 -otification Resource 7JEvent mechanism8
: #nterrupt Resource: Alarm : Memor$ management
www.omgmarte.org
!napshot of the ?M+ extensions pro,ided by !RM
SRM::S!Concurrency
†
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 124/243
f>_
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
SRM::S!"rokeringSRM::S!Interaction
p &5:1,=Z,1l5, q p W563H5Z,1l5, qp &5((*I5J1:75(1Q,H5 q p V1)323H*)31#75(1Q,H5 q
p LD*,5+W*)*75(1Q,H5 q p LF&Q)Q*4;[H4Q(31#75(1Q,H5 q
p &5:1,=Y*,)3)31# qp LFLHD5+Q4*<4575(1Q,H5 q p K#)5,,Q0)75(1Q,H5 q p "4*,: q
p ;#),=Y13#) q
p LF93:5,75(1Q,H5 q
www.omgmarte.org
The O!EH1J#Z case study
O!EH1J#Z standard Bhttp=11www.osek8,dx.orgC
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 125/243
f>`
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
"Q)1:1)365 3#+Q(),= ()*#+*,+ 21, *# 105#85#+5+ *,HD3)5H)Q,5 21,+3(),3<Q)5+ H1#),14 Q#3)( 3# 65D3H45(
%L;uE^W† *,HD3)5H)Q,5 H1#(3()( 12 )D,55 4*=5,(-
%L;u8J%& 4*=5,- J1::Q#3H*)31# #ata exchange support within and between electronics control units BE)?sC
%L;u8V& 4*=5, - V5)F1,l &*#*I5:5#) )onfiguration determination and monitoring
%L;u8%L 4*=5,- %05,*)3#I L=()5: AP0 specification of RTO! for automoti,e E)?
www.omgmarte.org
O,er,iew of the O!EH1J#Z8O! layer
&*3# HD*,*H)5,3()3H(
" (3#I45 0,1H5((1, 105,*)3#I (=()5:
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 126/243
f>a
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r 2
0 0 7
B e r s
i o n
C ! C
I 0 0 I =
" ()*)3H 79%L FD5,5 *44 l5,#54 1<~5H)( *,5 H,5*)5+ *) H1:0345 )3:5
&*3# *,)32*H)(
LQ001,) 21, H1#HQ,,5#) H1:0Q)3#I Task
" )*(l 0,163+5( )D5 2,*:5F1,l 21, )D5 5[5HQ)31# 12 2Q#H)31#(
0nterrupt
&5HD*#3(: 21, 0,1H5((3#I *(=#HD,1#1Q( 565#)(
Alarm 2 )ounter
&5HD*#3(:( 21, 0,1H5((3#I ,5HQ,,3#I 565#)(
LQ001,) 21, (=#HD,1#3R*)31#( 12 H1#HQ,,5#) H1:0Q)3#I E,ent
&5HD*#3(: 21, H1#HQ,,5#) 0,1H5((3#I (=#HD,1#3R*)31#
Resource
&5HD*#3(: 21, :Q)Q*4 H1#HQ,,5#) *HH5(( 5[H4Q(31#
www.omgmarte.org
"ocus on the O!EH1J#Z Task definition
!emantic "# %L;u8^W† )*(l 0,163+5( )D5 2,*:5F1,l 21, H1:0Q)3#I *0043H*)31#
2Q#H)31#(G " (HD5+Q45, 1,I*#3R5( )D5 (5kQ5#H5 12 )*(l 5[5HQ)31#(G
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 127/243
f>b
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
Example of properties Priority= ?09T3%
Y,31,3)= 5[5HQ)31# 12 )D5 )*(l
!tack!i;e= ?09T3% L)*Hl (3R5 *((1H3*)5+ F3)D )D5 5[5HQ)31# 12 )D5 )*(l
Example of pro,ided ser,ices Acti,ateTask BTask0#= TaskTypeC
LF3)HD )D5 )*(lS 3+5#)3235+ <= )D5 Task0# 0*,*:5)5,S 2,1: (Q(05#+5+ )1 ,5*+= ()*)5
)hainTask BTask0#= TaskTypeC 95,:3#*)5 12 )D5 H*443#I )*(l *#+ *H)36*)5 )D5 )*(l 3+5#)3235+ <= )D5 Task0#
0*,*:5)5,
www.omgmarte.org
hich !RM concepts for O!EH Task:
Concurrent execution contexts'
: !chedulable Resource 7JTas8
: Memor$ 3artition 7J3rocess8
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 128/243
f>d
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
!RM
!K)oncurrency
RM
p 3:01,) q
!K@rokering!K0nteraction
!KResource)orep 3:01,) q p 3:01,) q
p 3:01,) q
: Memor$ 3artition 7J3rocess8: #nterrupt Resource: Alarm
www.omgmarte.org
#etails of F!w!chedulableResourceG
!emantic Bfrom MARTE==!RM==)oncurrency packageC
75(1Q,H5 FD3HD 5[5HQ)5(S 05,31+3H*44= 1, #1)S H1#HQ,,5#)4= )1 1)D5, H1#HQ,,5#) ,5(1Q,H5(
!RM artifacts for modeling O!EH8J#Z Task<
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 129/243
f>e
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
Main features %F#( *# 5#),= 013#) ,525,5#H3#I )D5 *0043H*)31# H1+5 )1 5[5HQ)5 &*= <5 ,5(),3H)5+ )1 5[5HQ)5 3# * I365# *++,5(( (0*H5 M3G5G * :5:1,= 0*,)3)31#O
%F#( 0,105,)35(- 5GIGS Y,31,3)=S W5*+43#5S Y5,31+ *#+ L)*HlL3R5
Y,163+5( (5,63H5(- 5GIGS *H)36*)5S ,5(Q:5 *#+ (Q(05#+
Extract from the !RM==!w)oncurrency meta model
)=05 - ",, 36*4Y*))5,#*H)36*)31#J*0*H3)= - K#)5I5, 05,31+;45:5#)( - &1+54;45:5#) rgGGws0,31,3)=;45:5#)( - &1+54;45:5#) rgGGws()*HlL3R5;45:5#)( - &1+54;45:5#) rgGGws
LFLHD5+Q4*<4575(1Q,H5
3(755#),*#) - Z1145*#
;#),=Y13#)
gGGw
5#),=Y13#)(
&5:1,=Y*,)3)31#
H1#HQ,,5#)75(1Q,H5(
*++,5((L0*H5 gGGf
fGGw
*H)36*)5L5,63H5(
gGGw
&R'((ResourceCore((
Resource!erice
,5(Q:5L5,63H5(
gGGw(Q(05#+L5,63H5(
gGGw
www.omgmarte.org
Model of an O!EH Task with F!w!chedulableResourceG
#efine a ?M+ model for O!EHKJ#Z==Task
*G "++ :1+54 43<,*,= *004=3#I )D5 L7& 0,12345
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 130/243
f]g
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
<G "++ * H4*(( *#+ +523#5( 3)( 25*)Q,5( M0,105,)35( *#+ 105,*)31#(O Applying the F!w!chedulableResourceG stereotype
"ulfill the tagged ,alues of the applied stereotype
ML)50 fO ML)50 >O ML)50 ]O
&1+54( D*65 <55# ,5*43R5+ F3)D )D5 Y*0=,Q(
;H430(58<*(5+ 105#8(1Q,H5 )114 21, .&/>-
D))0-EEFFFG0*0=,Q(Q:4G1,I
www.omgmarte.org
!RM modeling facilities
-ow to model multiple candidates for the same semantics :
"#(F5, - "44 ()5,51)=05 )*I( D*65 :Q4)3045 :Q4)3043H3)35(G 9DQ(S 3) 3( 01((3<45 )1
,525,5#H5 :Q4)3045 H*#+3+*)5( 21, )D5 (*:5 )*IG
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 131/243
f]f
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
;[*:045( Z1)D name *)),3<Q)5( *#+ tas$Id 0*,*:5)5, *,5 )*(l 3+5#)3235,
Z1)D actiateTas$ *#+ chainTas$ 105,*)31#( *,5 )*(l *H)36*)3#I
(5,63H5(
• *H)36*)59*(l Mtask0# 9*(l9=05O
• name - L),3#I
p (FLHD5+Q4*<4575(1Q,H5 q9*(l p (FLHD5+Q4*<4575(1Q,H5 q
3+5#)3235,;45:5#)( t nameS task0#
• acti,ateTaskM)*(lKW )*(l9=05O
•chainTaskMO
p (FLHD5+Q4*<4575(1Q,H5 q
9*(l p (FLHD5+Q4*<4575(1Q,H5 q*H)36*)5L5,63H5 t acti,ateTask$ chainTask
www.omgmarte.org
!RM modeling facilities Bse>.C
-ow to model a feature which ha,e multiple semantics :
"#(F5, - U5*)Q,5 H*# <5 ,525,5#H5+ <= (565,*4 +3225,5#) )*I(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 132/243
f]>
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
;[*:045 The chain!ask ser,ice is both a terminate ser,ice and an acti,ate ser,ice
0s it possible to reference a feature e,en if the feature owner is not thestereotyped element : "#(F5, - Œ5(S )D5,5 3( #1 H1#(),*3#)( 1# )D5 25*)Q,5 1F#5,
!RM allows multiple usages
.(5, H*# Q(5 H1#(),*3#)(S (QHD *( %J/ ,Q45(S )1 43:3) )D1(5 01((3<343)35(
• acti,ateTask M)*(lKW )*(l9=05O
• chainTaskMO
p (FLHD5+Q4*<4575(1Q,H5 q
9*(lp(FLHD5+Q4*<4575(1Q,H5 q
*H)36*)5L5,63H5 t acti,ateTask$ chainTask
)5,:3#*)5L5,63H5 t chainTask
•acti,ateTaskMO
p 3#)5,2*H5 q
9*(lL5,63H5
p LFLHD5+Q4*<4575(1Q,H5 q
0,31,3)=;45:5#)( t priority*H)36*)5L5,63H5 t acti,ateTaskMO
8 priority - K#)5I5,
p (FLHD5+Q4*<4575(1Q,H5 q
9*(l
www.omgmarte.org
"ocus on the O!EH1J#Z E,ent definition
!emantics=
9D5 565#) :5HD*#3(: 3( * :5*#( 12 (=#HD,1#3R*)31# )D*) 3#3)3*)5( ()*)5
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 133/243
f]]
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
),*#(3)31#( 12 )*(l( )1 *#+ 2,1: )D5 )aitin% ()*)5G ;[*:045 12 1F#5+ 0,105,)35(
Mask = E,entMaskType W523#5 )D5 :*(l *((1H3*)5+ F3)D )D5 565#)
;[*:045( 12 0,163+5+ (5,63H5(
!etE,ent BTask0#= TaskType$ Mask= E,entMaskTypeC 9D5 565#)( 12 )D5 )*(l ,525,5#H5+ <= )D5 9*(lKW 0*,*:5)5, *,5 (5) *HH1,+3#I )1 )D5 565#)
:*(l (05H3235+ <= )D5 &*(l 0*,*:5)5,G
J*443#I )D5 (5,63H5 L5);65#) H*Q(5( )D5 )*(l 3+5#)3235+ <= )D5 9*(lKW 0*,*:5)5, )1 <5
),*#(25,,5+ )1 )D5 ,5*+= ()*)5S 32 3) F*( F*3)3#I 21, *) 45*() 1#5 12 )D5 565#)( (05H3235+ 3# )D5
&*(l 0*,*:5)5,G
aitE,ent BMask= E,entMaskTypeC
9D5 ()*)5 12 )D5 H*443#I )*(l 3( (5) )1 )aitin% S Q#45(( *) 45*() 1#5 12 )D5 565#)( (05H3235+ 3# )D5&*(l 0*,*:5)5, D*( *4,5*+= <55# (5)G
www.omgmarte.org
hich !RM concepts for O!EH E,ent:
!RM
RM
p 3:01,) q
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 134/243
f]_
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
!K)oncurrency !K@rokering!K0nteraction
!KResource)orep 3:01,) q p 3:01,) q
p 3:01,) q
Interactions between concurrent contexts'
: (ommunication !hared data Message 7JMessage &ueue8
: !$nchroniation Mutual E%clusion 7J!emaphore8 -otification Resource 7Event mechanism8
www.omgmarte.org
#etails of F9otificationResourceG
!emantic NotificationResource (Q001,)( H1#),14 241F <= #1)32=3#I )D5 1HHQ,,5#H5( 12 H1#+3)31#( )1 *F*3)3#I
H1#HQ,,5#) ,5(1Q,H5(
tt L7& *,)32*H)( 21, :1+543#I %L;u8^W† ;65#)j
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 135/243
f]`
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
Main features ;[*:045( 12 1F#5+ *)),3<Q)5
mas$Elements *#+ mechanism
;[*:045( 12 0,163+5+ (5,63H5
24Q(DL5,63H5(S (3I#*4L5,63H5(SF*3)L5,63H5( *#+ H45*,L5,63H5(
Extract from the !RM==!w0nteraction meta model
0143H= - %HHQ,5#H5Y143H=u3#+
1HHQ,5#H5J1Q#);45:5#)( - &1+54;45:5#) rgGGws
:*(l;45:5#)( - &1+54;45:5#) rgGGws
:5HD*#3(: - V1)323H*)31#75(1Q,H5u3#+
V1)323H*)31#75(1Q,H5
24Q(DL5,63H5(
gGGw
!)!*nchroni+ationResource
'7&--75(1Q,H5J1,5--75(1Q,H5L5,63H5
(3I#*4L5,63H5(gGGw
F*3)L5,63H5(
gGGw
H45*,L5,63H5(
gGGw
Z*,,35,
;65#)
.#+52
%)D5,
p 5#Q:5,*)31# q
V1)323H*)31#75(1Q,H5u3#+
www.omgmarte.org
O!EH1J#Z E,ent as a 9otificationResource
p V1)323H*)31#75(1Q,H5 q:*(l;45:5#)( t ;65#)--:*(lH45*,L5,63H5(t ;65#)L5,63H5--J45*,;65#)
!tereotype icon
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 136/243
f]a
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
•L5);65#)M9*(lK+S &*(lO•'5);65#)M9*(lKWS ;65#)O•v*3);65#)M&*(lO•J45*,;65#)M&*(lO
p 3#)5,2*H5 q;65#)L5,63H5
(3I#*4L5,63H5(t ;65#)L5,63H5--L5);65#)F*3)L5,63H5(t ;65#)L5,63H5--'5);65#)
• :*(l - .KV9a_
p V1)323H*)31#75(1Q,H5 q;65#)
•L5);65#)M9*(lK+S &*(lO•'5);65#)M9*(lKWS ;65#)O•v*3);65#)M&*(lO
•J45*,;65#)M&*(lO
p 3#)5,2*H5 q;65#)L5,63H5
p V1)323H*)31#75(1Q,H5 q:*(l;45:5#)( t ;65#)--:*(lH45*,L5,63H5(t ;65#)L5,63H5--J45*,;65#)(3I#*4L5,63H5(t ;65#)L5,63H5--L5);65#)F*3)L5,63H5(t ;65#)L5,63H5--'5);65#)
p V1)323H*)31#75(1Q,H5 q;65#)
!tereotype shape
p #1)323H*)31#75(1Q,H5 q
p #1)323H*)31#75(1Q,H5 q
www.omgmarte.org
0n which typical cases shall 0 use !RM :
Software Resource Modeling(SRM)
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 137/243
f]b
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
!oftware #esigner
W5(H,3<5 5[5HQ)31#(Q001,) "YK
p 3#H4Q+5 q
J1+5 I5#5,*)31#
Execution Platform Pro,ider
Methodology
Pro,ider
&1+549,*#(21,:*)31#
p 5[)5#+q
.(5 "YK :1+54 p 5[)5#+q
www.omgmarte.org
?se examples of one RTO! modeled with !RM
Example /= Model8based design of multitask
li ti
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 138/243
f]d
R e
? e r e n c
e @ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
applications K44Q(),*)5+ 1# * ,1<1) H1#),1445, *0043H*)31#
Example %= O! configuration file generation
'5#5,*)31# 12 )D5 %L;u %K/ H1#23IQ,*)31# 2345(
Example 3= Assistance to port applications
U,1: %L;u )1 "7KVJ :Q4)3)*(l +5(3I#
www.omgmarte.org
)ase study= A simple robot controller software
oal
" :1)31# H1#),1445, (=()5: 21, *# 5[041,*)31# *Q)1#1:1Q( :1<345 ,1<1)G
Robot features
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 139/243
f]e
R e
? e r e n c
e @ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
Y31#55, 71<1) MY]"9O
U1Q, +,363#I FD554(
" H*:5,*
;3ID) (1#*, (5#(1,(S 5)HG
#esign features of the robot controller
%L;uE^W† 5[5HQ)31# (Q001,)
L3:Q4*)31# 1# 9,*:0143#5
MD))0-EE),*:0143#5G,)(8(12)F*,5G1,IEO
9F1 05,31+3H )*(l(
#ata ac>uisition task
'5) 01(3)31# +*)* 2,1: (1#*, (5#(1,( 565,= f :(
tra*ectory computing task
L5) #5F (055+ 565,= _ :(
71<1) L3:Q4*)1,
D))0-EE04*=5,()*I5G(1Q,H521,I5G#5)EI*R5<1EI*R5<1GD):4
www.omgmarte.org
Purpose and context of the example /
Pro,ide a multitask design of the robot controller
9*,I5) 12 )D5 +5(3I# 3( *# %L;uE^W†8<*(5+ 04*)21,:
# i
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 140/243
f_g
R e
? e r e n c
e @ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
#esign process
" 04*)21,: 0,163+5, (Q00435( )D5 %L;uE^W† :1+54 43<,*,=
&1+54 43<,*,= 3( +5(H,3<5+ F3)D )D5 L7& Y,12345 M*( 0,5631Q(4=
(D1F#O
" Q(5, +5(3I#( * :Q4)3)*(l :1+54 12 )D5 *0043H*)31#
L)50 f- W5(H,3<5 )D5 *0043H*)31# :1+54 M*4(1 H*445+ 2Q#H)31#*4
:1+54O
L)50 >- Y,101(5 * :Q4)3)*(l +5(3I# Q(3#I )D5 %L;u :1+54 43<,*,=
*,)32*H)
www.omgmarte.org
Application design Application model at the functional le,el
%#5 ,1<1) H1#),1445, 5#)3)=
"3:( *) H1#),1443#I )D5 ,1<1) :1)31#(
&*3# 2Q#H)31#(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 141/243
f_f
R e
? e r e n c
e @ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
&*3# 2Q#H)31#( Ac>uire the sonar data
)ompute the new speed of each 4 motions and send new orders
" ,1<1) +,365, 5#)3)=
"3:( *) 3#)5,2*H3#I ,1<1) (5#(1,( *#+ *H)Q*)1,( F3)D )D5 H1#),14 *0043H*)31#
"HkQ3,5 (1#*, +*)*
2,1: (5#(1,(
J1:0Q)5 )D5 _
:1)31#
(055+ 6*4Q5(
95,:3#*)5
* :3((31#
W,365, )1 3#)5,2*H5
(5#(1,( *#+ *H)Q*)1,(
www.omgmarte.org
Principles of the applied multitask design
Two periodic tasks
U1, +*)* *HkQ3(3)31#
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 142/243
f_>
R e
? e r e n c
e @ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
U1, +*)* *HkQ3(3)31# '5) 01(3)31# +*)* 2,1: (1#*, (5#(1,(
;#),= 013#) Operation Motion)ontroller==ac>uireBC
Y5,31+3H
Period / ms U1, ),*~5H)1,= H1#),14
J1:0Q)5 *#+ *((3I# #5F (055+ 1,+5,
;#),= 013#) Operation Motion)ontroller==tra*ectory)ontrolBC
Y5,31+3H Period 4 ms
www.omgmarte.org
Periodic task in O!EH1J#Z
A design pattern for implementing periodic task on O!EH1J#Z8basedplatforms %#5 %L;uE^W† J1Q#)5,
J1Q#)5, 05,31+ 05,31+ 12 )D5 ,5kQ3,5+ 05,31+3H )*(l
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 143/243
f_]
R e
? e r e n c
e @ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
J1Q#)5, 05,31+ t 05,31+ 12 )D5 ,5kQ3,5+ 05,31+3H )*(l
%#5 %L;uE^W† 9*(l ;#),= 013#) - 05,31+3H )*(l ;#),= Y13#)
%#5 %L;uE^W† "4*,: "Q)1L)*,) - 9,3II5,5+ <= )D5 H1Q#)5,
"H)31# - "H)36*)5 )D5 )*(l
L7& Y,12345 3( Q(5+
)1 +5(H,3<5 )D5 0*))5,#
www.omgmarte.org
@asic Robot )ontroller task models
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 144/243
f__
R e
? e r e n c
e @ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
Y5,31+ 12 )D5 05,31+3H )*(l *HkQ3(3)31# - f :(
L7& ()5,51)=05 )1 <3#+
*0043H*)31# *#+ 04*)21,:
www.omgmarte.org
Example %= O!EH )onfiguration "ile generation
Purpose
'5#5,*)31# 12 )D5 %L;u %K/ H1#23IQ,*)31# 2345( 2,1:)D5 :Q4)38)*(l +5(3I# 12 )D5 ,1<1) H1#),1445,
O0+= %!EH Kmplementation /anguage
%K/X^;7LK%V t n>G`n - n71<1)J1#),1445,n „
0MP+EME9TAT0O9 %L;u x
y„
)P? H0Q x
APPMO#E ()+ x
y„
)O?9TER H1Q#)5, x
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 145/243
f_`
R e
? e r e n c
e @ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
O0+= %!EH Kmplementation /anguage D))0--EE1(5l86+[G1,I
9D5 I1*4 12 %K/ 3( )1 0,163+5 * :5HD*#3(: )1H1#23IQ,5 *# %L;u *0043H*)31# 21, * 0*,)3HQ4*, JY.
Y,3#H3045
U1, 5*HD JY.S )D5,5 :Q() <5 *# %K/+5(H,30)31#
"44 %L;u (=()5: 1<~5H)( *,5 +5(H,3<5+ Q(3#I%K/ 1<~5H)(
%K/ +5(H,30)31#( :*= <5 - hand8written
or generated by a system configuration tool
xMAZA++OE#JA+?E t >`` „
T0)H!PER@A!E t f „
M09)[)+E t f „
y„
A+ARM *4*,:"HkQ x
)O?9TER t H1Q#)5, „
A)T0O9 t "J9K^"9;9"Lu x
9"Lu t *HkQ3(3)31# „
y „
A?TO!TART t 97.; x
"/"7&9K&; t f „JŒJ/;9K&; t f „
"YY&%W; t ()+ „
y „
y„
TA!H *HkQ3(3)31# x
PR0OR0T[ t > „
!)-E#?+E t U.// „
A)T0JAT0O9 t fg „
A?TO!TART t U"/L; „
!TA)H!0\E t ]>bad „
y„m
www.omgmarte.org
Example 3= Assist user to port multitask designs
Purpose
"((3() Q(5, )1 01,) )D5 :Q4)3)*(l +5(3I# )1 *# "7KVJ8a`] 79%L
"7KVJ a`] ()*#+*,+ 0,163+5( *631#3H( *0043H*)31# (12)F*,5 F3)D )D5 (5) 12 <*(3H
(5,63H5( )1 *HH5(( )D5 105,*)3#I (=()5: *#+ 1)D5, (=()5:8(05H323H ,5(1Q,H5(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 146/243
f_a
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
(5,63H5( )1 *HH5(( )D5 105,*)3#I (=()5: *#+ 1)D5, (=()5:8(05H323H ,5(1Q,H5(G
"7KVJ a`]
&=79;X "0043H*)31# _"7KVJ
%L;uE^W†
&=79;X"0043H*)31# _%L;u
MyRTEKApplication
www.omgmarte.org-RM use cases
&"79;
!ystem Architect
Allocation
P7&
-igh le,el -modeling
p 3#H4Q+5 q
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 147/243
f_b
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
!oftware de,elopper
Analy;er
Analysis
#etailed -
modeling
!peciali;ed -
modeling
modeling
- designer
Application
modeling
p 3#H4Q+5 q
p 5[)5#+q
p 3#H4Q+5 q
p 3#H4Q+5 q
] Q(5 H*(5( t ] 45654( 12 +5)*34(
www.omgmarte.org
-RM use cases 88 -igh le,el hardware modeling
-ow:
P3ID 45654 12 abstraction
Architectural 635F 12 )D5 Pv 04*)21,:
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 148/243
f_d
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
Architectural 635F 12 )D5 Pv 04*)21,:
v3)D l5= 0,105,)35(-
;GIGS 3#(),QH)31# (5) *#+ :5:1,= (3R5G
" 21,:*4 635F 12 Q(Q*4 block diagrams
"or P3ID 45654 +5(H,30)31# 12 5[3()3#I *#+ )*,I5)5+ Pv 04*)21,:
U3,() ()50( 12 +5(3I# 12 #5F Pv *,HD3)5H)Q,5
@y
L=()5: *,HD3)5H)(
L12)F*,5 +5654105,(
www.omgmarte.org
-RM use cases 88 !peciali;ed hardware modeling
-ow:
L05H3*43R5+ Pv description :1+54
V*)Q,5 12 +5)*34( +505#+( 1# )D5 point of ,iew
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 149/243
f_e
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
V*)Q,5 12 +5)*34( +505#+( 1# )D5 point of ,iew
;[f - *Q)1#1:= *#*4=(3( ,5kQ3,5( 01F5, H1#(Q:0)31# :1+543#I
;[> - vJ;9 *#*4=(3( #55+ +5)*34( 1# 0,1H5((1, (055+S H1::Q#3H*)31#
<*#+F3+)D *#+ :5:1,= 1,I*#3R*)31#m
"or analysis purpose
@y analy;ers
www.omgmarte.org
-RM use cases 88 #etailed hardware modeling
-ow:
P7& 3( * +5)*345+ Pv *,HD3)5H)Q,5 +5(3I# 4*#IQ*I5
/5654 12 +5)*34( +505#+( 1# )D5 +5(H,30)31# accuracy
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 150/243
f`g
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
/5654 12 +5)*34( +505#+( 1# )D5 +5(H,30)31# accuracy
;[f- UQ#H)31#*4 (3:Q4*)1, 12 * 0,1H5((1, 1#4= ,5kQ3,5( 3)( 3#(),QH)31# (5) 2*:34=
;[>- Y5,21,:*#H5 (3:Q4*)31# #55+ * 23#5 +5(H,30)31# 12 0,1H5((1,( :3H,18
*,HD3)5H)Q,5G
"or
&1+548<*(5+ +*)*(D55)( +5(H,30)31#
L3:Q4*)31#
I5#5,*)31# 12 H1#23IQ,*)31#( 21, (3:Q4*)31# )114(
@y
Pv +5(3I#5,(
www.omgmarte.org-RM structure
-ierarchical taxonomy of hardware concepts
LQHH5((365 inheritance 4*=5,(
"rom I5#5,3H H1#H50)( M'7&843l5O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 151/243
f`f
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e
r 2 0 0 7
B e r s
i o n
C ! C
I 0 M O ,)Computin%Resource- ,)'emor*- ,)CommunicationResource.
To (05H323H *#+ +5)*345+ ,5(1Q,H5(
,)"rocessor- ,)#ranch"redictor- ,)Cache- ,)''/- ,)#us- ,)#rid%e- ,)D'A.
"44 P7& H1#H50)( *,5 ,)Resource0s1
9F1 modeling 635F( to separate concerns
+ogical 1 Physical
F stereotypeG-wResourcegGGw
gGGf
1F#5+75(1Q,H5(
F stereotypeG-wResource!er,ice
0,163+5+L5,63H5(
fGGw,5kQ3,5+L5,63H5(
gGGw
www.omgmarte.org-RM structure 88 +ogical modeling
Pro,ides a 2Q#H)31#*4 description
@ased on a functional classification of hardware resources=G PFJ1:0Q)3#I G G PFL)1,*I5 G
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 152/243
f`>
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e
r 2 0 0 7
B e r s
i o n
C ! C
p PFY,1H5((1, qS p PFY/W qS
p PF"LKJq
p PFJ*HD5qS p PF7"& qS
p PF7%&qS p PFW,365q
p PF&&. qS
p PFW&" q
p PF",<3)5, q
p PFZ,3+I5q
p PF&5+3* qS p PFZQ(q
p PFW563H5 qS
p PFLQ001,)q
p PFKE% qp PFJ41Hl qS
p PF93:5, q
G PFW563H5 G
G PFJ1::Q#3H*)31# G
G PF93:3#I G
www.omgmarte.org
-RM structure 88 Physical modeling
Pro,ides a 0D=(3H*4 properties description
@ased on both following packages
PF/*=1Q)
U1,:(- JD30S J*,+S JD*##54m
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 153/243
f`]
R e
? e r e n
c e
@ A R T E T u
t o r i a
l
N o v e m
e
r 2 0 0 7
B e r s
i o n
C ! C
W3:5#(31#(S *,5* *#+ *,,*#I5:5#) :5HD*#3(: F3)D3# ,5H)343#5*, I,3+(
;#63,1#:5#)*4 H1#+3)31#(- 5GIG )5:05,*)Q,5S 63<,*)31#S DQ:3+3)=m
PFY1F5,
Y1F5, H1#(Q:0)31# *#+ D5*) +3((30*)31#
G PF/*=1Q) G G PFY1F5, G
p PFJ1:01#5#)ql3#+ - xJ*,+S JD*##54S JD30S Y1,)y
p PFJ1143#ILQ004=qp PFY1F5,LQ004=q
www.omgmarte.org-RM profile o,er,iew
F profile G-RM
F profileG
MARTE==RM
p 3:01,)q
F model+ibraryG
MARTE==+ibrary==@asic9"PKTypes
p 3:01,) q
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 154/243
f`_
R e
? e r e n
c e
@ A R T E T u
t o r i a
l
N o v e m
e
r 2 0 0 7
B e r s
i o n
C ! C
F profileG
-w+ogical
F profileG
-wPhysical
-w)omputing
-w!torage
-w)ommunication
-wTiming
-w+ayout
-w!torageManager
-w#e,ice
-wPower
-weneral -weneral
-wMemory
www.omgmarte.org-RM profile 88 -wMemory
F profile G-RM
F profileGMARTE==RM
p 3:01,) q
F model+ibraryGMARTE==+ibrary==@asic9"PKTypes
p 3:01,) q
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 155/243
f``
R e
? e r e n
c e
@ A R T E T u
t o r i a
l
N o v e m
e
r 2 0 0 7
B e r s
i o n
C ! C
F profileG-w+ogical
F profileG-wPhysical
-w)omputing
-w!torage
-w)ommunication
-wTiming
-w+ayout
-w!torageManager
-w#e,ice
-wPower
-weneral -weneral
-wMemory
www.omgmarte.org-RM profile 88 -wMemory
:5:1,=L3R5 - VUYXW*)*L3R5++ L3 VUY W ) L3
F stereotypeG
-wMemory
F stereotypeGMARTE==RM==!torage
F stereotypeG-wResource
#1)*)31# - VUYXL),3#I+ 3 )3 VUY L) 3
p +*)*9=05 qTiming
-wMemory
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 156/243
f`a
R e
? e r e n
c e
@ A R T E T u
t o r i a
l
N o v e m
e
r 2 0 0 7
B e r s
i o n
C ! C
*++,5((L3R5 - VUYXW*)*L3R5)3:3#I( - 93:3#I rws
45654 - VUYXV*)Q,*4 t f)=05 - J*HD59=05
(),QH)Q,5 - J*HD5L),QH)Q,5,504XY143H= - 7504XY143H=F,3)5Y143H= - v,3)5Y143H=
F stereotypeG-w)ache
1,I*#3R*)31# - &5:1,=%,I*#3R*)31#3(L=#HD,1#1Q( - VUYXZ1145*#
3(L)*)3H -VUYXZ1145*#3(V1#^14*)345 - VUYXZ1145*#,504XY143H= - 7504XY143H=F,3)5Y143H= - v,3)5Y143H=
F stereotypeG-wRAM
W*)*K#(),QH)31#.#3235+%)D5, .#+523#5+
p 5#Q:5,*)31# q)acheType
+5(H,30)31# - VUYXL),3#I6*4Q5 - VUYXWQ,*)31#
#<71F( - VUYXV*)Q,*4#<J14Q:#( - VUYXV*)Q,*4#<Z*#l( - VUYXV*)Q,*4F1,+L3R5 - VUYXW*)*L3R5
p +*)*9=05qMemoryOrgani;ation
#<L5)( - VUYXV*)Q,*4<41HL3R5 - VUYXW*)*L3R5*((1H3*)363)= - VUYXV*)Q,*4
p +*)*9=05 q)ache!tructure
v,3)5Z*Hlv,3)59D,1QID%)D5, .#+523#5+
p 5#Q:5,*)31# qritePolicy
/7.VU.UKU%7*#+1:%)D5, .#+523#5+
p 5#Q:5,*)31# qReplKPolicy
)=05 - 7%&X9=051,I*#3R*)31# - &5:1,=%,I*#3R*)31#
F stereotypeG-wROM
&*(l5+7%&;Y7%&%9YX;Y7%&;;Y7%&U4*(D%)D5,
.#+523#5+
p 5#Q:5,*)31#qROMKType
(5H)1,L3R5 - VUYXW*)*L3R5
F stereotypeG-w#ri,e
<Q225, x(Q<(5)( 1F#5+Pvy
gGGf
www.omgmarte.org
-RM profile 88 -wMemory 88 -w)ache
45654 - VUYXV*)Q,*4 t f)=05 - J*HD59=05
F stereotypeG-w)ache
PFJ*HD5 3( * 0,1H5((3#I :5:1,= FD5,5
2,5kQ5#)4= Q(5+ +*)* H*# <5 ()1,5+ 21, ,*03+
*HH5((
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 157/243
f`b
R e
? e r e n
c e
@ A R T E T u
t o r i a
l
N o v e m
e
r 2 0 0 7
B e r s
i o n
C ! C
W*)*K#(),QH)31#.#3235+%)D5, .#+523#5+
p5#Q:5,*)31# q)acheType
#<L5)( - VUYXV*)Q,*4<41HL3R5 - VUYXW*)*L3R5*((1H3*)363)= - VUYXV*)Q,*4
p +*)*9=05q)ache!tructure
v,3)5Z*Hlv,3)59D,1QID%)D5, .#+523#5+
p5#Q:5,*)31# q
ritePolicy
/7.VU.UKU%7*#+1:%)D5, .#+523#5+
p5#Q:5,*)31# q
ReplKPolicy
(),QH)Q,5 - J*HD5L),QH)Q,5,504XY143H= - 7504XY143H=F,3)5Y143H= - v,3)5Y143H=
W5)*345+ +5(H,30)31# 12 )D5 PFJ*HD5 3(
#5H5((*,= 21, 05,21,:*#H5 *#*4=(3( *#+
(3:Q4*)31#
www.omgmarte.org
-RM profile 88 -wMemory 88 -w)ache
45654 - VUYXV*)Q,*4 t f)=05 - J*HD59=05) ) J D L) )
F stereotypeG-w)ache
L05H3235( )D5 H*HD5 45654G
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 158/243
f`d
R e
? e r e n
c e
@ A R T E T u
t o r i a
l
N o v e m
e
r 2 0 0 7
B e r s
i o n
C ! C
W*)*K#(),QH)31#.#3235+%)D5, .#+523#5+
p 5#Q:5,*)31# q)acheType
#<L5)( - VUYXV*)Q,*4<41HL3R5 - VUYXW*)*L3R5*((1H3*)363)= - VUYXV*)Q,*4
p +*)*9=05 q)ache!tructure
v,3)5Z*Hlv,3)59D,1QID%)D5, .#+523#5+
p 5#Q:5,*)31# qritePolicy
/7.VU.UKU%7*#+1:%)D5, .#+523#5+
p 5#Q:5,*)31# qReplKPolicy
(),QH)Q,5 - J*HD5L),QH)Q,5,504XY143H= - 7504XY143H=F,3)5Y143H= - v,3)5Y143H=
0 W52*Q4) 6*4Q5 3( f
www.omgmarte.org
-RM profile 88 -wMemory 88 -w)ache
45654 - VUYXV*)Q,*4 t f)=05 - J*HD59=05) ) J D L) )
F stereotypeG-w)ache
L05H3235( )D5 PFJ*HD5 (),QH)Q,5
PFJ*HD5 3( 1,I*#3R5+ Q#+5, (5)( 12 <41Hl(G
"((1H3*)363)= 3( )D5 #Q:<5, 12 <41Hl( F3)D3# 5*HD (5)G
K2 *((1H3*)363)= t fS H*HD5 3( +3,5H) :*005+ K2 #<L5)( t f H*HD5 3( 2Q44= *((1H3*)365
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 159/243
f`e
R e
? e r e n
c e
@ A R T E T u
t o r i a
l
N o v e m
e
r 2 0 0 7
B e r s
i o n
C ! C
W*)*K#(),QH)31#.#3235+%)D5, .#+523#5+
p5#Q:5,*)31# q)acheType
#<L5)( - VUYXV*)Q,*4<41HL3R5 - VUYXW*)*L3R5*((1H3*)363)= - VUYXV*)Q,*4
p +*)*9=05q)ache!tructure
v,3)5Z*Hlv,3)59D,1QID%)D5, .#+523#5+
p5#Q:5,*)31# qritePolicy
/7.VU.UKU%7*#+1:%)D5, .#+523#5+
p5#Q:5,*)31# qReplKPolicy
(),QH)Q,5 - J*HD5L),QH)Q,5,504XY143H= - 7504XY143H=F,3)5Y143H= - v,3)5Y143H=
K2 #<L5)( t fS H*HD5 3( 2Q44= *((1H3*)365G
%J/ ,Q45
memor*!i+e 2 nb!ets x bloc!i+e x associatiit*
www.omgmarte.org
-RM profile 88 -wMemory 88 -w)ache
45654 - VUYXV*)Q,*4 t f)=05 - J*HD59=05(),QH)Q,5 - J*HD5L),QH)Q,5
F stereotypeG-w)ache
L05H3235( )D5 H*HD5 F,3)5 0143H= v,3)5Z*Hl- J*HD5 F,3)5 3( #1) 3::5+3*)54=
,5245H)5+ )1 )D5 <*Hl3#I :5:1,=G
v,3)59D,1QID- v,3)5( *,5 3::5+3*)54=
3 +
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 160/243
fag
R e
? e r e n
c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
W*)*K#(),QH)31#.#3235+%)D5, .#+523#5+
p5#Q:5,*)31# q)acheType
#<L5)( - VUYXV*)Q,*4<41HL3R5 - VUYXW*)*L3R5*((1H3*)363)= - VUYXV*)Q,*4
p +*)*9=05q)ache!tructure
v,3)5Z*Hlv,3)59D,1QID%)D5, .#+523#5+
p5#Q:5,*)31# qritePolicy
/7.VU.UKU%7*#+1:%)D5, .#+523#5+
p5#Q:5,*)31# qReplKPolicy
(),QH)Q,5 - J*HD5L),QH)Q,5,504XY143H= - 7504XY143H=F,3)5Y143H= - v,3)5Y143H=
:3,,1,5+G
www.omgmarte.org
-RM stereotypes extends the main structural ?M+ metaclasses J4*((3235,S J4*((
K#()*#H5L05H323H*)31#S Y,105,)= "((1H3*)31# MPF&5+3*S PFZQ(mOS Y1,) MPF;#+Y13#)O
-RM usage
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 161/243
faf
R e
? e r e n
c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
-RM can be used with all !tructural ?M+ diagrams= J4*(( +3*I,*:
J1:01#5#) +3*I,*:
J1:01(3)5 L),QH)Q,5 W3*I,*: MF544 *+*0)5+ 21, PvO
-RM profile application W523#3)31#( 12 )D5 ()5,51)=05 0,105,)35( *,5 10)31#*4
L05H3235+ if #55+5+
L05H3235+ when #55+5+ MRefinementO At class le,el for technology definition Be.g. type of +,CacheC
At instance le,el for component definition Be.g. si;e of +,Cache-
www.omgmarte.org
Jery early -w Architecture #escription
L&Y ML=::5),3H &Q4)3Y,1H5((3#IO D*,+F*,5 04*)21,:
_ 3+5#)3H*4 0,1H5((1,(
.#3235+ /5654 > H*HD5 21, 5*HD
LD*,5+ :*3# :5:1,= MLW7"&OJ ) 4 ULZ MU ) L3+ Z O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 162/243
fa>
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m e r
2 0 0 7
B e r s
i o n
C ! C
F hwResourceG
!MP
f
F hwResourceG
"!@
F hwResourceG
#MA
F hwResourceG
!#RAM
f f
F hwResourceG
@attery
f
F hwResourceG
)P?
_
F hwResourceG
?+%
f
J5#),*4 ULZ MU,1#) L3+5 ZQ(O
W&" MW3,5H) &5:1,= "HH5((O
Z*))5,= %#4= PF75(1Q,H5(
www.omgmarte.org
-RM usage example= +ogical ,iew /
F hw+ogical==hwResource G!MP
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 163/243
fa]
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m e r
2 0 0 7
B e r s
i o n
C ! C F hwProcessor G
)P?
F hw)ache G?+%
x45654 t >S
)=05 t Q#3235+y
Fhw@usG"!@
x3(L=#HD,1#1Q( t ),Q5y
F hwRAM G!#RAM
x3(L=#HD,1#1Q( t ),Q5S3(L)*)3H t 2*4(5y
_ f f f
F hw!upportG@attery
F hw#MA G#MAx#<JD*##54( t _y
f
f
f
f
www.omgmarte.org
-RM usage example= +ogical ,iew %
F hw+ogical==hwResourceGsmp = !MP
F hwProcessor Gcpu/ = )P?
x2,5kQ5#H= t dgg&DRy
F hwProcessorGcpu% = )P?
x2,5kQ5#H= t dgg&DRy
F hwProcessorGcpu3 = )P?
x2,5kQ5#H= t dgg&DRy
F hwProcessorGcpu4 = )P?
x2,5kQ5#H= t dgg&DRy
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 164/243
fa_
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m e r
2 0 0 7
B e r s
i o n
C ! C F hw)ache G
l% = ?+%
x:5:1,=L3R5 t `f>lZy
F hwRAM Gsdram = !#RAM
x2,5kQ5#H= t >aa&DRS
:5:1,=L3R5 t >`a&Zy
F hw!upportGbattery = @attery
F hw#MAGdma = #MA
x:*#*I5+&5:1,35( t (+,*:y
F hw)ache Gl% = ?+%
x:5:1,=L3R5 t `f>lZy
F hw)acheGl% = ?+%
x:5:1,=L3R5 t `f>lZy
F hw)ache Gl% = ?+%
x:5:1,=L3R5 t ̀ f>lZy
F hw@us Gfsb = "!@
x2,5kQ5#H= t f]]&DRSF1,+v3+)D t f>d<3)y
www.omgmarte.org
-RM usage example= Physical ,iew /
F hw)omponentG!MP
xl3#+ t J*,+y
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 165/243
fa`
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m e r
2 0 0 7
B e r s
i o n
C ! C
F hw)omponentG)P? 4N
xl3#+ t JD30y
F hw)omponentG
?+%
xl3#+ t .#3)y
F hw)omponentG
"!@xl3#+ t JD*##54y
F hw)omponentG
!#RAM
xl3#+ t J*,+y
F hwPower!upplyG@attery
xl3#+ t %)D5,SH*0*H3)= t _gvDy
F hw)omponentG
#MA
xl3#+ t JD30y
www.omgmarte.org
-RM usage example= Physical ,iew %
F hw)ard Gsmp = !MP
I,3+ t _S]*,5* t `ggg::
,XH1#+3)31#( t M95:05,*)Q,5„ %05,*)3#I„ ̂ }}} „ rfgŠJSagŠJsO
F hw)hip G
cpu/ = )P?
01(3)31# t rfSfsS rfSfs
F hw)hip G
cpu3 = )P?
01(3)31# t r>S>sS rfSfs
F h
w)ard G
sdram = !#RAM
01(3)31# t r]S_sS rfSfs#<Y3#( t f__
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 166/243
faa
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m e r
2 0 0 7
B e r s
i o n
C ! C
()*)3HJ1#(Q:0)31# t `v ()*)3HJ1#(Q:0)31# t `v
F hw)hip Gcpu4 = )P?
01(3)31# t r>S>sS r]S]s()*)3HJ1#(Q:0)31# t `v
F hw)hip Gcpu% = )P?
01(3)31# t rfSfsS r]S]s()*)3HJ1#(Q:0)31# t `v
F hw)hip Gdma = #MA
01(3)31# t r]S]sS r]S]s
F hwPower!upplyGbattery = @attery
01(3)31# t r_S_sS r]S]sH*0*H3)= t fgvD
F53ID) t f`gI
#<Y3#( t f__
F hw)hannelGfsb = "!@
01(3)31# t rfS_sS r>S>s
www.omgmarte.org
-RM case study 88 T)/(76 B])ontrollerC
Ad,anced 3%8bit Tri)ore^8based 9ext eneration
Microcontroller for Real8Time Embedded systems
"Q)1:1)365 H1#),14 (=()5:( K#+Q(),3*4 ,1<1)3H H1#),14
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 167/243
fab
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
K#+Q(),3*4 ,1<1)3H H1#),14
"eatures
LQ05,8(H*4*, 9,3J1,5 JY.
LQ05,31, ,5*48)3:5 05,21,:*#H5 Efficient interrupt handling
_ ()*I5 030543#5
WLY H*0*<343)35(
f`g &PR 105,*)31#*4 2,5kQ5#H=
www.omgmarte.org -RM case study 88 T)/(76
)omplex memory architecture
;:<5++5+ Y,1I,*: &5:1,= M>&Z=)5O- Y&K MKJ"JP;S LY7"&OS Y&.
MZ7%&S YU/"LPS WU/"LPO W*)* &5:1,= - W&KM/W7"& WY7"&O W&.ML7"& LZ7"&O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 168/243
fad
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
W*)* &5:1,= - W&KM/W7"&S WY7"&OS W&.ML7"&S LZ7"&Om
;[)5#+*<45 :5:1,= Q(3#I *# 5[)5,#*4 <Q(
-igh performance triple bus structure
9F1 /1H*4 :5:1,= <Q((5( Ma_8<3)O )1 0,1I,*: *#+ +*)* :5:1,35( ]>8<3) (=()5: 05,30D5,*4 <Q( )1 1#8HD30 05,30D5,*4(
]>8<3) ,5:1)5 05,30D5,*4 <Q( )1 5[)5,#*4 05,30D5,*4(
K#+505#+5#) <Q( H1#),14 Q#3)(
/68channel #MA controller
www.omgmarte.org
@lock diagram of the T)/(76 )P?8!ubsystem
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 169/243
fae
R e
? e r e
n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
-RM case study 88 T)/(76 )P?8!ubsystem
L55 :1+54( 5[*:045(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 170/243
fbg
R e
? e r e
n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
L55 :1+54( 5[*:045(
on www.papyrusuml.org
www.omgmarte.org
-RM application 88 - emulation
?M+ models ha,e now a precise standard ZM+ representation Busing the
ZM0 definitionC.
Then$ all model manipulations and transformations can be easily doneusing widely known ZM+ technologies.
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 171/243
fbf
R e
? e r e
n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
using widely known ZM+ technologies.
;H430(5 04QI3#( M;&US .&/>mOS "HH5451m
The steps are=
#escribe )D5 Pv :1+54( 3# .&/ Q(3#I P7&
Parse *#+ J*0)Q,5 *44 )D5 ,5kQ3,5+ Pv 0,105,)35(
Jerify H1D5,5#H= *#+ H1:045)31#
enerate )D5 H1#23IQ,*)31# 2345 21, )D5 )*,I5) 5:Q4*)31# )114
!imulate )D5 *0043H*)31# (12)F*,5 1# )D5 5:Q4*)5+ Pv
www.omgmarte.org
Examples of Possible -w Emulators
L3:3H( M^3,)Q)5HDS FFFG63,)Q)5HDGH1:E C LQ001,) 21, :1() Pv H1:01#5#)(
UQ#H)31#*4 *#+ Y5,21,:*#H5 (3:Q4*)31#
;#*<45 )1 ,Q# D5*6= (12)F*,5 *0043H*)31#( M5GIGS 43#Q[O U,55 21, *H*+5:3H(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 172/243
fb>
R e
? e r e
n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
!kyeye Bwww.(l=5=5.org1C LQ001,) 21, "7&843l5 0,1H5((1,(S :1() 12 :5:1,35( *#+ 05,30D5,*4(
UQ#H)31#*4 (3:Q4*)31#
;#*<45 )1 ,Q# 1#4= 43ID) (F *0043H*)31#( M;GIGS Ž/3#Q[ *#+ "7&/3#Q[O
'Y/
!imple!calar Bwww.(3:045(H*4*, .com1C "H*+5:3H )114 5*(= )1 5[)5#+
Y5,21,:*#H5 (3:Q4*)31#
7Q# J H1+5
www.omgmarte.org
Agenda
Part /
K#),1+QH)31# )1 &WW 21, 79E; (=()5:( { &"79; 3# * #Q)(D544
Part %
V1#82Q#H)31#*4 0,105,)35( :1+543#I
%Q)43#5 12 )D5 ^*4Q5 L05H323H*)31# /*#IQ*I5 M^L/O
Part 3
9D5 )3:3#I :1+54
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 173/243
fb]
R e
? e r e
n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C 9D5 )3:3#I :1+54
Part 4
" H1:01#5#) :1+54 21, 79E;
Part 5
Y4*)21,: :1+543#I
Part 6 Repetiti,e structure modeling
Part (
&1+548<*(5+ *#*4=(3( 21, 79E;
Part &
&"79; *#+ ""W/
Part 7
J1#H4Q(31#(
www.omgmarte.org
Embedded !ystem -ardware is now #epetitive
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 174/243
fb_
R e
? e r e
n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
Multicore 91+*= _ )1 d H1,5(
91:1,,1F- fa )1 a_ H1,5(
Processor meshes ;[- 9345,* 9345a_
!0M# units W*)* 0*,*44543(:
C
www.omgmarte.org
The "uture of Embedded Applications is Parallel
Multimedia ^3+51 H1+3#IE+5H1+3#I
PW9^
#etection systems 7*+*,
L1#*,
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 175/243
fb`
R e
? e r e
n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C
Telecom L12)F*,5 ,*+31
v3,545(( H1::Q#3H*)31#(
)omputation models
&Q4)3+3:5#(31#*4 (3I#*4 0,1H5((3#I
L),5*: 0,1H5((3#I
W*)* 0*,*44543(:
C
www.omgmarte.org
Repetiti,e !tructure Modeling
Moti,ation
%ultidimensional reular parallelism
V5()5+ 4110(
&Q4)30,1H5((1, L=()5:(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 176/243
fba
R e
? e r e
n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C ! C &Q4)30,1H5((1, L=()5:(
Compact representation
"0043H*)31#
P*,+F*,5 04*)21,: "((1H3*)31#
"orm
V5F #1)*)31# E ()5,51)=05(
C
www.omgmarte.org
)oncepts of Repetiti,e !tructure Modeling
J1#H50)(
!hape M5[)5#(31# 12 multiplicit* O
91 :1+54 :Q4)3+3:5#(31#*4 *,,*=(
+ink topology M5[)5#(31# 12 connector *#+ allocateO 91 :1+54 )D5 )10141I= 12 )D5 43#l( <5)F55# :Q4)3+3:5#(31#*4 *,,*=(
Y*))5,#8<*(5+ ,5IQ4*, )10141I35(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 177/243
fbb
R e
? e r e
n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C !
@asic idea= reular tilin of
multidimensional arrays by
multidimensional sub8arrays
75IQ4*, (0*H3#I 12 013#)( 3#(3+5 *
)345
75IQ4*, (0*H3#I 12 )345(
K#D5,3)( 2,1: )D5 ",,*=8%/ 4*#IQ*I5
Y*))5,#8<*(5+ ,5IQ4*, )10141I35(
! C
www.omgmarte.org
!hape Modeling
9ew notation 7523#5:5#) 12 )D5 :Q4)3043H3)=
#1)*)31# ^5H)1, 12 .#43:3)5+V*)Q,*4(
F metaclass G
F profile GR!M
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 178/243
fbd
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C !
Examples fa x_S_y
w x`f>Sf>dSwy
F metaclass G?M+==MultiplicityElement
F stereotype G
!haped
(D*05 - LD*05L05H323H*)31# rfs
F dataTypeG
F collectionTypeG
xH1445H)31#")),3< t (3R5y!hape!pecification
(3R5 - .#43:3)5+V*)Q,*4 rgGGws
! C
www.omgmarte.org
F metaclass G?M+==)onnectorEnd
F metaclass G?M+==)onnector
F stereotype G
*ink!opoloy
F stereotype G#efault+ink
F profile GR!M
+ink Topology Modeling
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 179/243
fbe
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C *ink!opoloy
F stereotypeG
0nterRepetition
,505)3)31#L0*H5W505#+5#H5 - K#)5I5,^5H)1, rfs3(&1+Q41 - Z1145*# t 2*4(5
F stereotype GTiler
1,3I3# - K#)5I5,^5H)1, 0*63#I - K#)5I5,&*),3[23))3#I - K#)5I5,&*),3[
)345, - 9345,L05H323H*)31#
0*))5,#LD*05 - LD*05L05H323H*)31# rfs,505)3)31#L0*H5 - LD*05L05H323H*)31# rfs
F stereotype GReshape
! C
www.omgmarte.org
-ardware Platform Example
!0M# unit fa 0,1H5((1,(
Topology 91,13+*4 __ I,3+
Z3+3,5H)31#*4 H1##5H)31#(
V1,)D8L1Q)D
p PFKL" q x)=05 t LK&Wy!0M#?nit
#
p 3#)5,7505)3)31# qx,505)3)31#L0*H5W505#+5#H5 txfSgyS
:1+Q41 t ),Q5y
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 180/243
fdg
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C V1,)D L1Q)D
;*()8v5()
p PFJ1:0Q)3#I75(1Q,H5 q0 - ;45:5#)*,=Y,1H rx_S_ys
F 5
(
#
p 3#)5,7505)3)31# qx,505)3)31#L0*H5W505#+5#H5 txgSfyS
:1+Q41t),Q5y
0g 0f 0> 0]
0_ 0` 0a 0b
0d 0e 0fg 0ff
0f> 0f] 0f_ 0f`
C ! C
www.omgmarte.org
Tiling an Array
9eeded shapes ",,*= (D*05
Y*))5,# (D*05
7505)3)31# (0*H5 (D*05
Tiler
3itti 4 3 2 )D 3 ) 2
F stereotype G
Tiler
1,3I3# - K#)5I5,^5H)1, 0*63#I - K#)5I5,&*),3[23))3#I - K#)5I5,&*),3[)345, - 9345,L05H323H*)31#
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 181/243
fdf
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C 3ittin% - ,5IQ4*, (0*H3#I 12 )D5 013#)( 12
)D5 )345(
K#+5[ i
LH*##3#I )D5 0*))5,# "ain% - ,5IQ4*, (0*H3#I 12 )D5 )345(
K#+5[ r
LH*##3#I )D5 ,505)3)31# (0*H5
F dataTypeG
F tupleTypeGTiler!pecification
1,3I3# - K#)5I5,^5H)1, 0*63#I - K#)5I5,&*),3[ rfs23))3#I - K#)5I5,&*),3[
1,3I3#•M0*63#I 23))3#IOGM Omod *,,*=G(D*05
r
i
C ! C
www.omgmarte.org
raphical 0nterpretation of a Tiler B/1%C
"itting
J14Q:# 65H)1,(
Z*(3( 12 )D5 )345
Y*))5,# (D*05
Z1Q#+( 12 )D5 23))3#I
Pa,ing
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 182/243
fd>
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
C a g
J14Q:# 65H)1,(
Z*(3( 12 )D5 04*H5:5#) 12
)D5 )345(
7505)3)31# (0*H5
Z1Q#+( 12 )D5 0*63#I
%,3I3#
J11,+3#*)5( 12 )D5
,525,5#H5 013#) 12 )D5
,525,5#H5 )345
C ! C
www.omgmarte.org
raphical 0nterpretation of a Tiler B%1%C
"itting
J14Q:# 65H)1,(
Z*(3( 12 )D5 )345
Y*))5,# (D*05
Z1Q#+( 12 )D5 23))3#I
Pa,ing
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 183/243
fd]
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
g
J14Q:# 65H)1,(
Z*(3( 12 )D5 04*H5:5#) 12
)D5 )345(
7505)3)31# (0*H5
Z1Q#+( 12 )D5 0*63#I
%,3I3#
J11,+3#*)5( 12 )D5
,525,5#H5 013#) 12 )D5
,525,5#H5 )345
C ! C
www.omgmarte.org
Application Example
"ft!tage
rx`f>Sf>dSwys
p )345, qx1,3I3#txgSgyS23))3#ItxxgSfyyS
0*63#ItxxfSgySxgS]>yy rxf>dys
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 184/243
fd_
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
!amples from 5/% hydrophones around a submarine LD*05 12 )D5 3#0Q) +*)* t `f>‘
Repetition of ""Ts U1, 5*HD D=+,10D1#5
L43+3#I F3#+1F 12 f>d (*:045( 565,= ]> )3:5 ()50(
rx`f>Swys2 - UU9 rx̀ f>Swys
0 I xx S ySx S yy
p )345, qx1,3I3#txgSgSgyS23))3#ItxxgSfSgyyS
0*63#ItxxfSgSgySxgSgSfyyy
rxf>dys
C ! C
www.omgmarte.org
#istribution
Refinement of Allocation
!imilar to the reshape
stereotype of the
connectors Principle
F stereotype GAlloc==Allocate
F profile GR!M
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 185/243
fd`
R e
? e r
e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
9343#I <1)D 5#+(
9F1 )345,(
v3)D )D5 (*:5 )345(
%#5 0*))5,# (D*05
%#5 ,505)3)31# (0*H5
Power of expression ") 45*() *44 PYU +*)*
+3(),3<Q)31#(
F stereotype G
#istribute
0*))5,#LD*05 - LD*05L05H323H*)31# rfs,505)3)31#L0*H5 - LD*05L05H323H*)31# rfs2,1:9345, - 9345,L05H323H*)31# rfs)19345, - 9345,L05H323H*)31# rfs
n C
! C
www.omgmarte.org
#istribution Example
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 186/243
fda
R e
? e r
e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
#istribution of the ""T computations to the !0M# unit V1 (0*)3*4 +3(),3<Q)31# 12 )D5 3#23#3)5 +3:5#(31# M)3:5 ()50(O
Z41H +3(),3<Q)31# 12 )D5 `f> UU9( 21, 5*HD )3:5 ()50
L3R5 12 )D5 <41H t ]>
%# )D5 fa 545:5#)*,= 0,1H5((1,(
n C
! C
www.omgmarte.org
#istribution Example
p +3(),3<Q)5 qx0*))5,#LD*05 t x]>yS ,505)3)31#L0*H5 t x_S_SwyS 2,1:9345, t x1,3I3# t xgSgyS
23))3#I t xxfSgyyS 0*63#Itxx]>SgySxf>dSgySxgSfyyyS
)19345, t x1,3I3# t xgSgyS 23))3#I t xxgSgyyS 0*63#I t xxfSgySxgSfySxgSgyyyy
U2)L)*I5--2 - UU9 L3:+.#3)--0 -
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 187/243
fdb
R e
? e r
e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n
#istribution of the ""T computations to the !0M# unit V1 (0*)3*4 +3(),3<Q)31# 12 )D5 3#23#3)5 +3:5#(31# M)3:5 ()50(O
Z41H +3(),3<Q)31# 12 )D5 `f> UU9( 21, 5*HD )3:5 ()50
L3R5 12 )D5 <41H t ]>
%# )D5 fa 545:5#)*,= 0,1H5((1,(
U2)L)*I5--2 - UU9rx`f>Swys
L3:+.#3)--0 -;45:5#)*,=Y,1H rx_S_ys
n C
! C
www.omgmarte.org
)omplex -ardware Example=Tile64
)hallenge
&1+54 )D5 *,HD3)5H)Q,5
K# )D5 :1() H1:0*H) F*=
Proposal
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 188/243
fdd
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o n p
d[d8,505)3)31# 12 )D5
0,1H5((3#I 545:5#)
_8,505)3)31# 12 )D5 WW7>
H1#),1445,
U*H)1,3R*)31# 12 )D5 01,)(
n C
! C
www.omgmarte.org
Processing Element Repetition
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 189/243
fde
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o
o n
C ! C
www.omgmarte.org
##R% )ontroler )onnection to the rid
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 190/243
feg
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o
o n
C ! C
www.omgmarte.org
)onclusion on R!M
eneral mechanism to handle &Q4)3+3:5#(31#*4 (),QH)Q,5( M*,,*=(O 9343#I <= (Q<8(),QH)Q,5( M#1# 1,)D1I1#*4 1, (0*,(5 )345( 01((3<45O /3#l( <5)F55# (QHD (),QH)Q,5( MH=H43H 1, #1# H=H43H H1##5H)31# 0*))5,#( 01((3<45O
9ecessary to handle massi,e regular parallelism J1:0*H)#5(( 12 )D5 :1+54 ;223H35#H=S :*3#)*3#*<343)=S ,5*+*<343)=
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 191/243
fef
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o
Relations with the rest of MARTE .(5( ^L/ Z5#523)( 2,1: )D5 H1:01#5#) :1+54 M241F 01,)(O "00435( )1 <1)D *0043H*)31# *#+ D*,+F*,5 H1:01#5#)( ;[)5#+( *441H*)31#
+imitations P*#+45( 1#4= *,,*=( M#1 2*#H35, (D*05(O v1Q4+ <5#523) 2,1: * HQ()1: M63(Q*4O )345, 5+3)1,
.#+5, +565410:5#)
o n
C ! C
www.omgmarte.org
Agenda
Part /
K#),1+QH)31# )1 &WW 21, 79E; (=()5:( { &"79; 3# * #Q)(D544
Part %
V1#82Q#H)31#*4 0,105,)35( :1+543#I
%Q)43#5 12 )D5 ^*4Q5 L05H323H*)31# /*#IQ*I5 M^L/O
Part 3
9D5 )3:3#I :1+54
Part 4
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 192/243
fe>
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o
" H1:01#5#) :1+54 21, 79E;
Part 5
Y4*)21,: :1+543#I
Part 6
7505)3)365 (),QH)Q,5 :1+543#I
Part (
Model8based analysis for RT1E
Part &
&"79; *#+ ""W/
Part 7
J1#H4Q(31#(
o n
C ! C
www.omgmarte.org
oals in 9on8"unctional Bor Luantitati,eC Analysis
#ifferent oals for E,aluate 2 Jerify !ystem Architectures
Y13#) 56*4Q*)31# 12 )D5 1Q)0Q) VUY( 21, * I365# 105,*)3#I 013#) +523#5+ <=
0t offers a mathematically8sound way to calculate 9"Ps of
interest based on other a,ailable 9"Ps and the system beha,ior
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 193/243
fe]
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i o Y13#) 56*4Q*)31# 12 )D5 1Q)0Q) VUY( 21, * I365# 105,*)3#I 013#) +523#5+ <=
3#0Q) VUY(
L5*,HD 165, )D5 0*,*:5)5, (0*H5 21, 25*(3<45 1, 10)3:*4 (14Q)31#(
L5#(3)363)= *#*4=(3( 12 (1:5 1Q)0Q) ,5(Q4)( )1 (1:5 3#0Q) 0*,*:5)5,( LH*4*<343)= *#*4=(3(- D1F )D5 (=()5: 05,21,:( FD5# )D5 0,1<45: (3R5 1,
)D5 (=()5: (3R5 I,1FG
i o n
C ! C
www.omgmarte.org
MARTE "eatures for Luantitati,e Analysis
0mpro,ements w.r.t. !PT
;[)5#+ 3:045:5#)*)31# *#+ (HD5+Q43#I :1+54(
5GIG +3(),3<Q)5+ (=()5:(S D35,*,HD3H*4 (HD5+Q43#I
;[)5#+ )D5 (5) 12 *#*4=(3( )5HD#3kQ5( (Q001,)5+
5GIG 122(5)8<*(5+ )5HD#3kQ5(
;[)5#+ )3:3#I *##1)*)31#( 5[0,5((365#5((
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 194/243
fe_
R e ? e
r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
i ;[)5#+ )3:3#I *##1)*)31#( 5[0,5((365#5((
%65,D5*+( M5GIG :5((*I5( 0*((3#IO
75(01#(5 )3:5( M5GIG ZJ;9 { "J;9O
93:3#I ,5kQ3,5:5#)( M5GIG :3(( ,*)31( *#+ :*[G ~3))5,(O
9ew features w.r.t. !PT
LQ001,) 21, (5#(3)363)= *#*4=(3(
K:0,165 :1+543#I ,5Q(5 *#+ H1:01#5#)8<*(5+ +5(3I#G
LQ001,) 12 )D5 hŒ8HD*,)i *00,1*HD- *0043H*)31# 6(G 04*)21,: :1+54(
i o n
C ! C
www.omgmarte.org
?M+8@ased Analysis "oundations
LAM Profile factori;es common constructs and 9"Ps L)5,51)=05( +523#5 h*#*4=(3(i *<(),*H)31#(
F1,l41*+ 565#)(S (H5#*,31(Sm
(HD5+Q4*<45 5#)3)35(S (D*,5+ ,5(1Q,H5(S 0,1H5((3#I #1+5(S (HD5+Q45,(m L)5,51)=05 *)),3<Q)5( +523#5 0,58+523#5+ VUY(
5GIG 565#) *,,36*4 0*))5,#(S 5#+8)185#+ +5*+43#5(S FH5)8<H5)8*H5)Sm
Th l i b fil d fi d l ll f d l
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 195/243
fe`
R e ? e
r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s The analysis sub8profiles define model well8formedness rules
K) 3#H4Q+5( hH1#(),*3#)(i )1 H1#(),QH) h*#*4=R*<45i :1+54(S FG,G)m
i"#*4=(3( &1+54 ^35F013#)(i M5GIGS (HD5+Q4*<343)= *#*4=(3( 635F013#)O
L05H3*43R5+ H1#(),*3#)( :Q() <5 ,523#5+ <= )5HD#3kQ58(05H323H *00,1*HD5(
The MARTE analysis sub8profiles pro,ide standard constructs
to map ?M+ models on well8established analysis techni>ues
&"79; hU1Q#+*)31#(i *#+ h'z"&i *441F 21, 5[)5#+3#I )1 2Q,)D5, )5HD#3kQ5(
s i o n
C ! C
www.omgmarte.org
LAM= #ependencies and Architecture
LAM
Time RM
p 3:01,) q p 3:01,) q
p :1+54/3<,*,= qMARTEK+ibrary
p 3:01,) q
9"Ps
p 3:01,) q
'5#5,*4 VUY
)=05(
Y,1H5((3#I{
LHD5+Q43#I
:1+54
93:5+0,1H5((3#I
:1+54
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 196/243
fea
R e ? e
r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
!AM PAM
p 3:01,) q p 3:01,) q
LAMKorkload LAMKResourcesp 3:01,) q
LAMKObser,ersp 3:01,) q
LHD5+Q4*<343)= *#*4=(3(
M)3:543#5((O
Y5,21,:*#H5
*#*4=(3( M#1#8
+5)5,:3#3()3H
05,21,:*#H5O
s i o n
C ! C
www.omgmarte.org
LAM= Analysis Modeling !tructure
Analysis
)ontext
orkload
@eha,ior
Resources
Platform
Q(5(
56*4Q*)5
(3)Q*)31#
56*4Q*)5
H*0*H3)=
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 197/243
feb
R e ? e
r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
41*+
(H5#*,31( 5[5HGD1()
H1::GD1()
0,1)5H)5+
,5(1Q,H5(
<,1l5,
,5(1Q,H5*441H*)31#
s i o n
C ! C
www.omgmarte.org
Processing !chema for Analysis
95HDG (0*H5
21, *#*4=(3(
95HDG (0*H5
21, .&/ :1+543#I
.&/> 5+3)1,
p 0,12345 q&"79;
W1:*3# :1+54&1+54
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 198/243
fed
R e ? e
r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r s
"##1)*)5+ :1+54
75(Q4)EW3*I#1()3H
:1+54 "#*4=(3( ,5(Q4)(
"#*4=(3( )114
W1:*3# :1+54&1+54
H1#65,)5,
75(Q4)(
H1#65,)5,
r s i o n
C ! C
www.omgmarte.org
!chedulability Analysis
!chedulability analysis offers= %2243#5 IQ*,*#)55(G ;GIGS F1,()8H*(5 4*)5#H35( *#+ F1,()8H*(5 ,5(1Q,H5
Q(*I5G
") +3225,5#) +565410:5#) ()*I5(
Pro,ides the ability to e,aluate time constraints and guarantee
worst8case beha,ior of a system or particular piece of software
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 199/243
fee
R e ? e
r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r ") +3225,5#) +565410:5#) ()*I5(G
;*,4= *#*4=(3(- )1 +5)5H) 01)5#)3*44= Q#25*(3<45 ,5*48)3:5 *,HD3)5H)Q,5(G
/*)5, *#*4=(3(- )1 +3(H165, )5:01,*48,54*)5+ 2*Q4)(S 1, )1 56*4Q*)5 )D5 3:0*H) 12
:3I,*)31#( M5GIGS (HD5+Q43#I (),*)5I35(OG Pro,ide answer to >uestions such as for example...
v344 F5 :3(( *#= +5*+43#5 32 F5 (F3)HD * 0,1H5((1, 2,1: * #1,:*4105,*)31# :1+5 )1 * 41F5,8H1#(Q:0)31# :1+5€
K2 =5(S D1F H*# F5 :1+32= )*(l F1,l41*+( 21, *441F3#I 1Q, (=()5: )1 ()344F1,l€
r s i o n
C ! C
www.omgmarte.org
A !imple Example B)lassical !cheduling TheoryC
9*(l-
M3#+505#+5#)S #1
H=H45(S (3#I45
),3II5,O
LD*,5+ ,5(1Q,H5(
9*(l
0*,*:5)5,(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 200/243
>gg
R e ? e
r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e r
Three main analysis approaches for ,erify timeliness= J,3)3H*4 3#()*#) H*4HQ4*)31# .)343R*)31# <1Q#+ )5() 75(01#(5 )3:5 H*4HQ4*)31#
0*,*:5)5,(
r s i o n
C ! C
www.omgmarte.org
!AM= 0ntegration #ifferent Approaches
&1+Q4*, "#*4=(3(
7&"8L)=45
93:5+ "Q)1:*)*
8 J4*((3H 7&"
8 ;[)5#+5+ 7&"8 P143()3H "00,1*HD
A A T -
A A T -
8 93:5+ "Q)1:*)* F3)D
9*(l(8 ";K%/9L
8 J1:01(3)31#*4 "#*4=(3(
T 0 M E !
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 201/243
>gf
R e ? e
r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
&W" %<~5H)
%,35#)5+
L"&M&"79;O
8 YK&S YL&S YW& 8 "H)365 %<~5H) L5:*#)3H
8 ;65#) Y,31,3)35( 6(G9D,5*+ Y,31,3)35(
Other !ched. Analysis tools= +i,ede,icesI Real8Time Architect$
)oMET from Ja!T$ JectorIs )A9Aly;er
e r s
i o n
C ! C
www.omgmarte.org
Π
!AM= The 9otion of End8To8End "low
An End8To8End "lowQ is the basic workload unit to be e,aluate by
by schedulability analysis tools.
"# 5#+8)185#+ 241F ,525,( )1 )D5 5#)3,5 H*Q(*4 (5) 12 ()50(
),3II5,5+ <= 1#5 1, :1,5 5[)5,#*4 F1,l41*+ 565#)(G
v1,l41*+ 565#)- <*(3H ()3:Q43
Q#3) M5GIGS )3:5,(S 5[)5,#*4
1HHQ,,5#H5(S 3#)5,#*4 565#)(SmO
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 202/243
>g>
R e ? e
r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
β f*f
*] *_
5f
5>
•*>
MHF>SH<]O
Π : 5#+8)185#+ 241F
53 : F1,l41*+ 565#)
β ~ : <5D*631, (H5#*,31*l : ()50
0,1H5((3#I )3:5( MF1,()
*#+ <5() H*(5OL)50- <*(3H <5D*631,*4 Q#3)
M5GIGS 5[5HQ)31# *H)31#(S H*44
*H)31#(S :5((*I5(SmO
e r s
i o n
C ! C
www.omgmarte.org
*~•
*3
A .
* ~
•* A .L5kQ5#H3*4-
&5,I5 %7-W5H3(31# %7-
!AM= Precedence Relations
Execution and communication steps may be causally related
by one of the following precedence relations=
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 203/243
>g]
R e ? e
r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e * ~
*3 * ~
A
* ~[
*3
A .
•*3 A
* ~
[*3 A .
c13#- U1,l-
e r s
i o n
C ! C
www.omgmarte.org
!AM= orkload #omain Metamodel Bend8to8endC
L"&Xv1,l41*+
3(LHD5+Q4*<45- VUYXZ1145*#
EndToEnd"low
LAMKorkload==orkload@eha,ior
F1,l41*+ fGGw
!AMKObser,ers==
TimingObser,er
93:3#I
f
w05,31+3H- Y5,31+3HY*))5,#*05,31+3H- "05,31+3HY*))5,#(01,*+3H- L01,*+3HY*))5,#<Q,()- ZQ,()Y*))5,#3,,5IQ4*,- K,,5IQ4*,Y*))5,#H41(5+- J41(5+Y*))5,#
105#- %05#Y*))5,#
F dataTypeG
F choiceTypeG
Arri,alPattern
Y,5+3H)31#( 0,163+5+ <=
*#*4=(3( )114(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 204/243
>g_
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B e
(HD5+Q4*<343)=L4*Hl- VUYX75*45#+91;#+93:5 - VUYXWQ,*)31#5#+91;#+W5*+43#5 - VUYXWQ,*)31#
0*))5,#- ",,36*4Y*))5,#
LAMKorkload==
orkloadE,entLAMKorkload==@eha,ior!cenario
5225H)
fGGw
3#0Q)L),5*:
f
fGGw 5#+91;#+L)3:Q43 f5#+91;#+75(01#(5
105#- %05#Y*))5,#
;#+8)185#+
,5(01#(5 *#+
+5*+43#5 )3:5(
L)3:Q43
3#21,:*)31#
B e r s
i o n
C ! C
www.omgmarte.org
!AM= orkload #omain Metamodel Bdetailed beha,.C
L"&Xv1,l41*+
D1()W5:*#+- V UYXWQ,*)31#
,5(093:5- VUYX+Q,*)31# rw sQ)343R*)31#- VUYX75*4 r ws
LAMKorkload==@eha,ior!cenario
LAMKorkload==
PrecedenceRelation
1Q)0Q)754 (QHH5(
wf
3#0Q)754
0,5+5H
w
f
H1##5H)1,(
f
w
RM==!cheduling==
!chedulableResource
H1#HQ,75(
w gGGf3(")1:3H- VUYXZ1145*#
<41Hl3#I93:5- V UYXWQ,*)31#0,31,3)=- VUYXK#)5I5,
LAMKorkload==!tep
RM==Resource?sages==Resource?sage
()50(
gGGf <5D*631,
w
Y,1H5((3#I Q#3)
M5[5HQ)31# 1,
H1::Q#3H*)31#O
;[5HQ)31# Q#3)(
*HH5((3#I (D*,5+
J1#HQ,,5#H=
,5(1Q,H5( M5GIGS
)D,5*+(S HD*##54(O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 205/243
>g`
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B
+5*+43#5 - VUYXWQ,*)31#
(0*,5J*0*H3)=- VUYXWQ,*)31#(HD5+Q4*<343)=L4*Hl- VUYX75*40,55:0)5+93:5- VUYXWQ,*)31#,5*+=93:5- VUYXWQ,*)31#+54*=93:5- V UYXWQ,*)31#
!a!tep
LAMKResources==)ommunication)hannel
x,5+523#5( H1#HQ,75(yH1#HQ,75(
gGGf
x(Q<(5)( Q(5+75(1Q,H5y
(D*,5+75(1Q,H5
w
gGGf
!AMKResources==!haredResource
:(IL3R5- VUYXW*)*L3R5
LAMKorkload==)ommunication!tep
+5*+43#5 - VUYXWQ,*)31#
(0*,5J*0*H3)=- VUYXWQ,*)31#(HD5+Q4*<343)=L4*Hl- VUYX75*4
!a)ommunication!tep
LAMKorkload==Ac>uire!tep
LAMKorkload==Release!tep
*HH5((3#I (D*,5+
,5(1Q,H5(
B e r s
i o n
C ! C
www.omgmarte.org
!AM= Example of !tereotype Extensions ?sage
S+, -omain ,odel S+, Stereotype .,/ ,etaclasses Conte0t
1orkload2ehavior GaWorkloadBehavior UML::Interactions::Fragments::Com3inedFragments
Modeled in a highlevelinteraction
4nd5o4ndFlo6 !a"nd#"ndFlo$ UML::Interactions::Fragments::7nteraction8perand
Modeled in a highlevelinteraction
1orkload4vent GaWorkload"vent UML::Interactions::BasicInteractions::,essage
Modeled in a highlevelinteraction
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 206/243
>ga
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
B,essage interaction
2ehaviorScenario Ga!cenario UML::Interactions::BasicInteractions::7nteraction
Modeled as a lo$levelinteraction nested $ithin ahigherlevel interaction
Step
CommunicationStep
*eleaseStep
+c9uireStep
!a!tep
!a%omm!tep
Ga&el!tep
Ga'c(!tep
UML::Interactions::BasicInteractions::,essage
Messages in lo$levelinteractions
B e r s
i o n
C ! C
www.omgmarte.org
!AM= Examples of @eha,ior Annotations
pI*LH5#*,31q sd @!/
* H<
*(=#HG :5((*I5
),*#(:3((31# p(*J1::L)50q:f
<5D*631, (H5#*,31
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 207/243
>gb
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e
m e r
2 0 0 7
B
(=#H,G
5[5HQ)31#
:5((*I5
41Hl *#+ Q#41Hl12 * (D*,5+
,5(1Q,H5(
pI*"HkL)50q:>
p(*L)50q:]MO
pI*754L)50q:_
B e r s
i o n
C ! C
www.omgmarte.org
!AM= Example of Precedence Relations Annotation
pI*LH5#*,31q sd @!/
pI*LH5#*,31q sd @!/
* H<
p(*L)50q:f
p(*L)50q:>
*f *>
L5kQ5#H3*4-
x5[5H9t+M*fOy *f
*>
x5[5H9t+M*>Oy
U1,l-
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 208/243
>gd
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e
m e r
2 0 0 7
B
par
* H<
p(*L)50q
:f
p(*L)50q:>
x5[5H9t+M*fOy *f
*>
*_[
*]
A .
c13#-
x5[5H9t+M*>Oy
*>
[*f A .
x5[5H9t+M*]Oy*]
x5[5H9t+M*_Oy
p(*L)50q:_
*_
p(*L)50q:]
B e r s
i o n
C ! C
www.omgmarte.org
!AM= Example of orkload Annotations
sd !#/
p(*;#+>5#+U41Fqr5>5Ufs
pI*v1,l41*+Z5D*631,q par vZf
* +H<
p(*v1,l41*+;65#)q:f
ref p I*LH5#*,31 q
),3II5,3#I565#)(
M*(=#HG:5((*I5(O
5#+8)185#+241F
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 209/243
>ge
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e
m e r
2 0 0 7
B
p(*;#+>5#+U41Fqr5>5U>s
IZLf
ref p I*LH5#*,31 qZL>
p(*v1,l41*+;65#)q:>
H1#HQ,,5#)2,*I:5#)(
Q(5 12 *#3#)5,*H)31#
B e r s
i o n
C ! C
www.omgmarte.org
!AM= Resources )oncepts
Pro,ide additional Banalysis8specificC annotations to annotate resourcesplatform models
/
κ // τ % 3
Y,1H5((3#I ,5(1Q,H5(
M5[5HQ)31# *#+
H1::Q#3H*)31#O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 210/243
>fg
R e ?
e r e n c e
@ A R T E T u
t o r i a
l
N o v e
m e r
2 0 0 7
!)-B !chR/ Wτ/$τ%$τ3$τ4$τ5X C
!haR/ W /$ %$ 3X
)hn Wτ/$τ%$τ3X
// %
τ 3 τ 4τ / τ %
τ 3
ε 3 : 5[5HQ)31# D1()κ ~ : H1::Q#3H*)31# D1()
ς l : (D*,5+ ,5(1Q,H5LJP4 : (HD5+Q45, τ : : (HD5+Q4*<45 ,5(1Q,H5
LHD5+Q4*<45 ,5(1Q,H5(
M5GIGS )D,5*+(S HD*##54(S
mOLD*,5+ 75(1Q,H5(
LHD5+Q45,
B e r s
i o n
C ! C
www.omgmarte.org
!AM= Resources #omain MetamodelL"&X75(1Q,H5(
RM==!cheduling==!chedulableResource
RM==!cheduling==
MutualExclusionResourceRM==!cheduling==
!cheduler RM==ResourceTypes==)oncurrencyResource
w
D1()
w
LAMKResources==
ResourcesPlatform
RM==!cheduling==ProcessingResource
RM==Resource)ore==Resource
,5(1Q,H5(w
:*3#LHD5+Q45, fG Gw 0,1H5((3#I. #3) ( gG Gf
%65,D5*+(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 211/243
>ff
R e ?
e r e n c e
@ A R T E T u
t o r i a
l
N o v e
m e r
2 0 0 7
H1::9[%65,D5*+- VUYXWQ,*)31#
H1::7H6%65,D5*+- VUYXWQ,*)31#H1#)5[)LF 3)HD93:5- VU YXWQ,*)31#H41Hl%6D- VU YXWQ,*)31#(HD5+Y,31,3)=7*#I5- VUYXK#)5,6*4:5:1,=L3R5- VUYXW*)*L3R5
Q)343R*)31#- VUYX75*4
LAMKResources==Execution-ost
H*0*H3)=- VUYXW*)*9[7*)5
0*Hl5)93:5- VUYXWQ,*)31#
<41Hl3#I93:5- VUYXWQ,*)31#),*#(:&1+5- 9,*#(:&1+5u3#+Q)343R*)31#- VUYX75*4
LAMKResources==)ommunication-ost
0*Hl5)L3R5- VUYXW*)*L3R5
Q)343R*)31#- VUYX75*4
LAMKResources==
)ommunication)hannel
!chedulableResource(HD5+Q4*<4575(1Q,H5
KL7(F3) HD93:5- VUYXWQ,*)31#KL70,31,3)=7*#I5- VUYXK#)5I5,K#)5,6*43(LHD5+Q4*<45- VUYXZ1145*#(HD5+Q4*<343)=L4*Hl- VUYX75*4
(HD5+.)343R*)31#- VUYX75*4(HD5+Y143H=- LHD5+Y143H=u3#+3(Y,55:0)3<45- VU YXZ1145*#
!aExecution-ost
3(LHD5+Q4*<45- VU YXZ1145*#(HD5+Q4*<343)=L4*Hl- VUYX75*4
!a)ommunication-ost
H*0*H3)=- VUYXK#)5I5, 3(Y,55:0)3<45- VUYXZ1145*#3(J1#(Q:*<45- VU YXZ1145*#*HkQ3(3)31#93:5- VUYXWQ,*)31#
,545*(593:5- VUYXWQ,*)31#
!haredResource
RM==ResourceTypes==
TimingResource
)3:3#I75(
gGGf
RM==!cheduling==
!chedulingParameters
(HD5+Y*,*:( f
(HD5+75(
w
(D*,5+75(1Q,H5(
w
H1::JD*##54( w
"#*4=(3( 0,5+3H)31#(
B e r s
i o n
C ! C
www.omgmarte.org
!AM= Examples of the !tereotypes ?sage
S+, -omain ,odel S+, Stereotype .,/ ,etaclasses Conte0t
*esources:latform Ga&esources)lat*orm UML::!tructured%lasses::SctructuredClass Main container o* resources
Sa40ecution;ost
SaCommunication;ost
<*,==Scheduler
!a"+ec,ost
!a%omm,ost
!cheduler
UML:: !tructured%lasses:::roperty
)arts o* the resources plat*orm
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 212/243
>f>
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e
m e r
2 0 0 7
<*,==Schedula3le*esource
SaCommChannel
!chedula-le&es
!a%omm%hannel
UML:: !tructured%lasses:::roperty
)arts o* processing resources
B e r s
i o n
C ! C
www.omgmarte.org
!AM= Example of Resources !tereotype ?sage
F gaResourcesPlatformG
RP/
p (*;[5HP1() q5[5HPf
p (*J1::P1() qH1::Pf
p ( *J1::JD*##54 q
HDf - JPp (HD5+Q4*<4575( q
(HD7f - LJP7
75(1Q,H5(
04*)21,: Q#+5,
*#*4=(3(
Y,1H5((3#I
75(1Q,H5( *(
.&/ 0*,)(
J1#HQ,,5#H=
,5(1Q,H5( *(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 213/243
>f]
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e
m e r
2 0 0 7
p (HD5+Q45, q
(HDf- LJP
p ( *J1::JD*##54 q
HD> - JPp p (HD5+Q4*<4575( q q
(HD7> - LJP7
,5(1Q,H5( *(
#5()5+ 0*,)(
LHD5+Q45, *(
.&/ 0*,)
B e r s
i o n
C ! C
www.omgmarte.org Λ f
Γ f
β f*ff
*f] *f_
5f
5>
•*f>
β >
*>f *>> *>]5]
Θ fΘ >
Θ a
+MΠ fO
Π >
Π f
+M*f]O
!AM= Analysis )ontext concepts
"# *#*4=(3( H1#)5[) 3( )D5
,11) H1#H50) Q(5+ )1
H1445H) ,5456*#)
kQ*#)3)*)365 3#21,:*)31#
21, 05,21,:3#I * (05H323H*#*4=(3( (H5#*,31G
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 214/243
>f_
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e
m e r
2 0 0 7
!)-B !chR/ Wτ/$τ%$τ3$τ4$τ5X C
!haR/ W /$ %$ 3X
/
)hn Wτ /$τ %$τ 3X
κ /
τ / τ%
τ 3 τ 4
τ / τ %τ 3
Θ `
Θ _Θ ] Θ b
Yf
Λ : *#*4(3( H 1#)5[)Γ 3 : F1,l41*+ <5D*631, Y ~ : ,5(1Q,H5( 04*)21,:
Θ l : (HD5+G ,5(G *((3I#G
+M[O : +5*+43#5 12 [
"# *#*4=(3( H1#)5[)
3#)5I,*)5( F1,l41*+
<5D*631, :1+54( *#+,5(1Q,H5( 04*)21,:
:1+54(G
B e r s
i o n
C ! C
www.omgmarte.org
!AM= Analysis )ontext #omain Metamodel
!AM
LAM==Analysis)ontext
F1,l41*+Z5D*631, f fGGw ,5(1Q,H5(Y4*)21,:
LAMKorkload==orkload@eha,ior
LAMKResources==ResourcesPlatform
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 215/243
>f`
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e
m e r
2 0 0 7
3(LHD5+Q4*<45- VUYXZ1145*#
10)3:*43)=J,3)5,31#- 10)3:*43)=J,3)5,31#u3#+
!aAnalysis)ontext
:55)P*,+W5*+43#5(:3#3:3R5&3((5+W5*+43#5(:3#3:3R5&5*#9*,+3#5((Q#+52 1)D5,
F enumerationGOptimallity)riterionHind
'41<*4 *#*4=(3(
*##1)*)31#(
B e r s
i o n
C ! C
www.omgmarte.org
!AM= Example of Analysis )ontext !tereotype Applic.
F saAnalysis)ontextG sd !#/
p(*;#+>5#+U41Fqr5>5Ufs
pI*v1,l41*+Z5D*631,q par vZf
p *441H q*
x)1t (HD7fy
p *441H q*
x)1t HD>y
p *441H qH
x)1t (HD7>y
p *441H q<
x)1t HDfy
p(*v1,l41*+;65#)q:f
ref p I*LH5#*,31 qZLf
"441H*)31# )1
LHD5+Q4*<45
,5(1Q,H5(M43#l )1 04*)21,:
75(1Q,H5(O
K#)5,*H)31#
,50,5(5#)3#I
*# *#*4=(3(
H1#)5[)
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 216/243
>fa
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
p(*;#+>5#+U41Fqr5>5U>s
ZLf
ref p I*LH5#*,31 qZL>
p(*v1,l41*+;65#)q:>
B e r s
i o n
C ! C
www.omgmarte.org
Example of lobal #e,elopment Process
+O0)A+
MO#E+
trol
structure
interactions behaviour
REL?0REME9T!
MO#E+
trol
use cases
trol
scenarios
PROTOT[PE
MO#E+
DDprofile DDprofile
components
activities
Lo!Lo!
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 217/243
>fb
R e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
A A T - A
P+AT"ORM
MO#E+
software
!)-E#. 2 PER".
MO#E+
trolworkload
allocation behaviour
profile
!AM
p
-RM2!RM
components
hardwareP
30
1
8
377039
48 79
80 8352
33
P’Q’
49
7
9
5C6T Calc!lation
Lo!
Lo!
B e r s
i o n
C ! C
www.omgmarte.org
eneral Procedure to ?se the !AM Profile
v1,l41*+ Z5D*631,& + 4 MYK&O
"##1)*)5+
Z5D*631,
%
4
V1#82Q#H)31#*4 6*4Q5( 21, (05H323H *#*4=(3( H1#)5[)(
6
W5(3I#YD*(5
"#*4=(3(9114(
" # * 4 = ( 3 (
U 3 4 5 5
W 5 ( 3 I #
& 1 + 5 4 (
/
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 218/243
>fd
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7 &1+54( MYK&OZ5D*631,
&1+54( L05H32=
Y*,*:5)5,3R5+
"#*4=(3( J1#)5[)
&1+54 "##1)*)575(1Q,H5(
&1+54(
75(1Q,H5( Y4*)21,:&1+54( MYW&O
4 W5)5,:3#5W5(3,5+ VUY( 12
K#)5,5() MI365#
*#+ 0,5+3H)5+0*,*:5)5,(O
"#*4=(3(J1#)5[)3
7
B e r s
i o n
C ! C
www.omgmarte.org
Example= A Teleoperated Robot
)lassesJiewKTeleoperatedRobot
,5*+ MO- W*)*F,3)5 MW- W*)*O
+*)*- K#)5I5, rw s
F pp?nitG
#isplay#ata
Q0+*)5W3(04*= MOQ0+*)5',*0D3H( MO
F rt?nit G
#isplayRefresher
+3(04*=W*)*
0,1H5((;65#) MO04*#9,*~5H)1,= MO
F rt?nit G
)ommand0nterpreter
+3(04*=W*)*
(5#+J1::*#+ MJ- J1::*#+O3)L) ) MO L) )
!tation)ommunication
(5#+L)*)Q( ML - L)*)Q(O3)J + MO J +
)ontroller)ommunication
H1:: H1::
#eploymentJiewKTeleoperatedRobot
!tation
)A9K@us
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 219/243
>fe
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7 *F*3)L)*)Q( MO- L)*)Q( *F*3)J1::*#+ MO- J1::*#+
,501,) MO
F rt?nit G
Reporter
:*#*I5 MO
F rt?nit G
)ommandManager
H1:: H1::
I5) MO- W*)*(5) MW- W*) *O
W*)*- K#)5I5, rws
F pp?nitG
!er,os#ata
H1#),14L5,61( MOH1#),14"4I1,3)D:( MO
+1J1#),14 MO
F rt?nitG
!er,os)ontroller
(5,61(W*)*(5,61(W*)*
(5,61(W*)*
)ontroller RobotArm^&;XZQ(
7
B e r s
i o n
C ! C
www.omgmarte.org
F ga!cenarioG Report
-7501,)5,
p (*LD*,5+75( q-L5,61(W*)*
x 0,1)5H)u3#+t 0,31,3)=J5343#IS0,31,3)=tfa y
-J1#),J41Hl-J"VZQ(
pL*LD*,5+75(q-W3(04*=W*)*
x 0,1)5H)u3#+t 0,31,3)=J5343#IS
0,31,3)=t]f y
-J1#),1445,J1:: -L)*)31#J1:: -W3(04*=752,5(D5,
p I*"HkL)50 q 41Hl MO
p (*L)50 q*F*3)L)*)Q( MOx 5[5H9t MgGg>>S gGg>>S :(O y
p (*L)50 q I5) MOx 5[5H9t MgGgg_S gGg>S :(O y
p (*L)50 q ,501,) MOx 5[5H9t MfGfS fG>>S :(O y
Example of Annotated !cenario with !AM
LD*,5+
75(1Q,H5
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 220/243
>>g
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7
p (*L)50 q (5#+L)*)Q( MOx 5[5H9t MgGg]fS gGg]fS :(O y
p (*J1::L)50 q),*#(:3) MOx :(IL3R5tMfggS lZO y
p (*J1::L)50 q),*#(:3) MOx :(IL3R5tMfggS lZO y
p (*L)50 q),*#(:3)J1::*#+ MO
x 5[5H9t M>G`aS >G`aS :(O y
p I*754L)50 q Q#41Hl MO
p (*L)50 qQ0+*)5W3(04*= MOx 5[5H9t MgG>_S gG_S :(Oy
p(*L)50 q ,5*+ MO
p(*;[5HL)50q F,3)5 MO
p(*L)50qQ0+*)5(',*0D3H( MOx 5[5H9t M`S fgS :(Oy
L)50 M5[5HG
)3:5O
7
B e r s
i o n
C ! C
www.omgmarte.org
Example of Annotated Resources Model with !AM
F gaResourcesPlatformG
TeleoperatedRobot KPlatform
p (*;[5HP1() q- J1#),1445,
x (055+U*H)1, t MfGgOH41Hl%6Dt MbS Q(S :5*(OH#)[)LF9t M̀ S Q(S :5*(O
KL7(F3)HD9t M>G̀ S Q(S :5*(O(HD5+Y,317*#I5 t MrgGG]gsS +5)5,:O
KL7Y,317*#I5t Mr]f ]fs +5)5,:O y
p (*J1::P1() q- J"VXZQ(
x ),*#(&1+5t P*428WQ045[
(055+U*H)1, t M’0,J"VO<41Hl9t MfffS Q(S :*[S :5*(O
0*Hl5)9t Ma_ Q( H*4HO y
p (*;[5HP1() q- L)*)31#
p (*;[5HP1() q- 71<1)",:
p (HD5+Q4*<4575( q
- W3(04*=752,5(D5,9*(lx 20 M0,31,3)=t >>O y
- ^&;XZQ(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 221/243
>>f
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0 7 KL7Y,317*#I5t Mr]fGG]fsS +5)5,:O y0*Hl5)9t Ma_S Q(S H*4HO y
p (HD5+Q4*<4575( q
- J1::*#+&*#*I5,
x 20 M0,31,3)=t faO y
p (HD5+Q45, q
- 79%LXLHD5+Q45, x (HD5+Y143H= t U3[5+Y,31,3)= y
p (HD5+Q4*<4575( q
- L5,61(J1#),1445,9*(l
x 20 M0,31,3)=t ]gO y
p (HD5+Q4*<4575( q
- 7501,)5, x 20 M0,31,3)=t >_O y
p (HD5+Q4*<4575( q
- J1#),1445,J1::x 20 M0,31,3)=t ]fO y
p (HD5+Q4*<4575( q
- &(~L)*)Q(x 20 M0,31,3)=t >_O y
p (HD5+Q4*<4575( q
- &(~J1::*#+x 20 M0,31,3)=t >_O y
9D,5*+( 1F#5+ <=
)D5 0,1H5((3#I
,5(1Q,H5
7
B e r s
i o n
C ! C
www.omgmarte.org
p (*"#*4=(3(J1#)5[) q x 3(LHD5+t M’3(LHDS H*4HO y sd Analysis!cenario'/
p(*;#+>5#+U41Fqr7501,)Y,1H5((s
x (H DL4*HltM’(4*HlfS H*4HOS
5#+>5#+Wt MfggS :(OS5#+>5#+9t M’5>59fS H*4HO y
p(*;#+>5#+U41Fqr;[5HQ)5J1::*#+s
x (HDL4*HltM’(4*Hl>S H*4HOS
pI*v1,l41*+Z5D*631,q par V1,:*4&1+5
ref p I*LH5#*,31 q7501,)
p*441Hq-7501,)5,
x )1t 7501,)5,y
p*441Hq-J1#),1445,J1::
x )1t &( ~L)*)Q(y
p*441Hq-L)*)31#J1::
x )1t &(~J1::*#+y
p *441H q-W3(04*=752,5(D5,
x )1t
W3(04*=752,5(D5,9*(ly
p*441Hq-&*#*I5,
x )1t
J1::*#+&*#*I5,y
p*441Hq-L)*)31#J1::
x )1t
L5,61(J1#),1445,9*(ly
p(*v1,l41*+;65#)q
7501,)9,3II5, x 05,31+3H M 05,31+t MfggS :(OO y
Example of Analysis )ontext Model
;#+ 91 ;#+ U41F(
M5#+>5#+
+5*+43#5( *#+0,5+3H)5+ )3:5(O
v1,l41*+ Z5D*631,
LH5#*,31 M,5(01#(5
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 222/243
>>>
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2 0 0
x M S OS5#+>5#+Wt MfS (OS
5#+>5#+9t M’5>59>S H*4HO y
p(*;#+>5#+U41FqrJ1#),14L5,61(s
x (HDL4*HltM’(4*Hl]S H*4HOS5#+>5#+Wt M`S :(OS
5#+>5#+9t M’5>59]S H*4HO y
ref p I*LH5#*,31 q
J1::*#+
ref p I*LH5#*,31 qJ1#),14
p(*v1,l41*+;65#)q7501,)9,3II5,
x 05,31+3H M05,31+t MfS (OO y
p(*v1,l41*+;65#)q7501,)9,3II5,
x 05,31+3H M05,31+ t M`S :(OO y
v1,l41*+ ;65#)(M*,,36*4 0*))5,#(O
LH5#*,31 M,5(01#(5
)3:5(S D1()(
Q)343R*)31#mO
0 7
B e r s
i o n
C ! C
www.omgmarte.org
p6*,q x+3,t 3#1Q) y 3(LHD5+XL=()5:- VUYXZ1145*#t 3(LHDL=(
p6*,q x+3,t 3#1Q) y FH5)X7501,)- VUYXWQ,*)31#t FH5)fp6*,q x+3,t 3#1Q) y 0,1H7*)5XJ"V- VUYX75*4t 0,J"Vp6*,q x+3,t 3#1Q) y 05,31+X7501,)- VUYXWQ,*)31#t 07
p(*"#*4=(3(J1#)5[)qx 3(LHD5+t M’3(LHDL=(O y
TeleoperatedRobot!AM
p I*v1,l41*+Z5D*631, q= 9ormalMode
p '*75(1Q,H5(Y4*)21,: q= TeleoperatedRobot KPlatform
Example of Parametric Analysis )ontext
K#()*#H5 12 *
v1,l41*+Z5D*631,
:1+54
J1#)5[) Q#+5, "#*4=(3(
L5#(3)363)= "#*4=(3(L3:045
L D + 4 <343)
J1#)5[)8(05H323H
6*,3*<45(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 223/243
>>]
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v
e m
e r
2 0 0
3(LHD5+XL=()5:t M),Q5S ,5kOFH5)X7501,)t M`gS ’6fS :(S :*[S H*4HO0,1H7*)5XJ"Vt MgG>S ’6>S :3#S H*4HO05,31+X7501,)t MfgS ’6]S :(S :3#S H*4HO
p(*"#*4=(3(J1#)5[)qL5#(3)363)="#*4=(3( - 9545105,*)5+71<1)L"&
3(LHD5+XL=()5:t M),Q5S ’6gS H*4HOFH5)X7501,)t M`S :(S +5)5,:O0,1H7*)5XJ"Vt MfS +5)5,:O05,31+X7501,)t M]gS : (S +5)5,:O
p(*"#*4=(3(J1#)5[)qLHD5+Q4*<343)=- 9545105,*)5+71<1)L"&
H1#)5[)LHD5+Q4*<343)=
"#*4=(3( H1#)5[)
0 7
B e r s
i o n
C ! C
www.omgmarte.org
MARTE Tooling
)urrent 0mplementations supporting MARTE UQ44 &"79; Y,12345 { /3<,*,35( 21, ;H430(5 .&/>
^L/ 5+3)31# *((3()*#) *#+ )=05 HD5Hl5, *( * ;H430(5 04QI83# 21, )D5 .&/
Y*0=,Q( )114 *#+ 7L" bGg
On8going work= ;H430(5 04QI83#( )1 ),*#(21,: .&/ :1+54( *##1)*)5+ F3)D )D5 L"& 0,12345
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 224/243
>>_
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v
e m
e r
2 0 0 ;H430(5 04QI 3#( )1 ),*#(21,: .&/ :1+54( *##1)*)5+ F3)D )D5 L"& 0,12345
)1 3#0Q) 2345( 12 &"L9S L=:9"ELS JD5++*, *#+ 7*03+7&" )114(
&"79; %05# L1Q,H5 K:045:5#)*)31# 3#
.&/ Y*0=,Q(- www.papyrusuml.org
KZ& 7L"= www.omgmarte.org
0 7
B e r s
i o n
C ! C
www.omgmarte.org
)onclusions on MARTEIs Analysis
0ndustrial ?se of J2J can benefits from M#E "#*4=(3( )*(l :Q() <5 H1D5(3654= 3#)5I,*)5+ F3)D W5(3I# )*(l(
"0043H*)31# 12 3#+363+Q*4 *#*4=(3( )5HD#3kQ5( (D1Q4+ <5 ,5I*,+5+ *( *#
5((5#)3*4 0*,) 12 *# 3#)5I,*)5+ ^{^ :5)D1+141I=
Methodological support is still under way= J1:045[ *#*4=(3( (H5#*,31( 21, K#)5,2*H58Z*(5+ W5(3I# &Q4)31<~5H)365
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 225/243
>>`
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v
e m
e r
2 0 0 J1:045[ *#*4=(3( (H5#*,31( 21, K#)5,2*H5 Z*(5+ W5(3I#S &Q4)31<~5H)365
W5(3I# L0*H5 ;[041,*)31#m
&5*#( )1 :*#*I5 VUY :5*(Q,5:5#) :1+54( &5)D1+( )1 :*0E),*#(21,: &1JJ( 3#)1 *#*4=(3( :1+54(
0 7
B e r s
i o n
C ! C
www.omgmarte.org
Agenda
Part /
K#),1+QH)31# )1 &WW 21, 79E; (=()5:( { &"79; 3# * #Q)(D544
Part %
V1#82Q#H)31#*4 0,105,)35( :1+543#I
%Q)43#5 12 )D5 ^*4Q5 L05H323H*)31# /*#IQ*I5 M^L/O
Part 3 9D5 )3:3#I :1+54
Part 4
" H1:01#5#) :1+54 21, 79E;
Part 5
Y4 2 + 43
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 226/243
>>a
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v
e m
e r
2 0 Y4*)21,: :1+543#I
Part 6
7505)3)365 (),QH)Q,5 :1+543#I Part (
&1+548<*(5+ *#*4=(3( 21, 79E;
Part &
MARTE and AA#+
Part 7
J1#H4Q(31#(
0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
AA#+ O,er,iew
AA#+ Architecture Analysis #escription +anguage
",HD3)5H)Q,5 W5(H,30)31# /*#IQ*I5 +5+3H*)5+ )1 79;L
K#)5,#*)31#*4 ()*#+*,+ *) L"; M"L``gaS >gg_O
"+*0)5+ 21, :*#= H,3)3H*4 H1:0Q)5, (=()5: +1:*3# "Q)1:1)365S (0*H5S ,1<1)3H(S 3#+Q(),3*4 H1#),14S :5+3H*4S *631#3H(S m
"441F (05H323H*)31#S *#*4=(3( *#+ *Q)1:*)5+ 3#)5I,*)31# 12 ,5*48)3:5 05,21,:*#H5H,3)3H*4 93:3#IS
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 227/243
>>b
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v
e m
e r
2 0 93:3#IS
L*25)=S
LHD5+Q4*<343)=S U*Q4) )145,*#)S
L5HQ,3)=S
W3(),3<Q)5+ H1:0Q)3#I (=()5:(SmG
0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
hat does AA#+ look like :
' raphical representation
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 228/243
>>d
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v
e m
e r
2 0
' te)tual representation
0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
uidelines for modeling AA#+ application in MARTE
AA#+ L05H323H )1 (=#HD,1#1Q( +*)* 241F
*0043H*)31# :1+543#I *#+ *#*4=(3(
"++,5(( +5)*345+ +5(3I# ()*I5(
Z*(5+ 1# *# 3:043H3) 5[5HQ)31# 04*)21,::1+54
(05H323H )D,5*+ 5[5HQ)31# *Q)1:*)*
"0043H*)31#( *#+ 04*)21,: 5[5HQ)31#
(5:*#)3H( D*65 )1 <5 3# 43#5
MARTE '5#5,3H 21, 75*4 )3:5 ;:<5++5+
L=()5: *0043H*)31# :1+543#I *#+*#*4=(3(
"++,5(( 5*,4= *#+ +5)*345+ +5(3I#()*I5(
J1:045:5#)*,= *#+ H1#(3()5#)635F( :*l5 )D5 :1+54 :1,5Q#+5,()*#+*<45
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 229/243
>>e
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v
e m
e r
2 0
/*Hl 12 #1#82Q#H)31#*4 0,105,)35( :1+54
3#)5I,*)31#
Y4*)21,: 5[5HQ)31# :1+54 H*# <55[043H3)4= :1+543R5+
UQ44 3#)5I,*)31# 12 #1#82Q#H)31#*40,105,)35( 3# )D5 :1+54 M93:5S05,21,:*#H5S (HD5+Q43#I25*)Q,5(mO
0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
AA#+ useful for.
AA#+ Elements
L12)F*,5 H1:01#5#)(
P*,+F*,5 H1:01#5#)
"441H*)31#
Architecture and designJ1:01#5#)( *#+ 3#)5,2*H5(S
H1##5H)31#(
W*)* *#+ H1#),14 241F(
7Q# )3:5 *,HD3)5H)Q,5
9on functional
aspects through
properties
specification
95:01,*4S (*25)=S
,543*<343)=Sm
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 230/243
>]g
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v
e m
e r
2
Y1,) *#+ H1##5H)31#(
U41F(&1+5(
Y, 105, )35( M5[)5#(3<45 4*#IQ*I5O
Analysis and ,erification
aspects
;#+8)185#+ 4*)5#H=
"I5 12 (3I#*4 +*)* *#+ ~3))5,
m
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
"44 ) +Z3 +3
DFY,1H5((1,S DF&5:1,=SGGP*,+F*,5 H1:01#5#)(
:5:1,=Y*,)3)31#S FLHD5+Q4*<4575((1Q,H5SGL12)F*,5 H1:01#5#)(
&"79; H1#H50)( ""W/ H1#H50)(
MARTE8AA#+ concepts mapping
U3,() ""W/ ‹ &"79; *43I#:5#) <*(5+ 1# ""W/ H1#(),QH)( *#+ 25*)Q,5( *#+
&"79; *,)32*H)(G
V5[) ()50- W5505, :*0 ""W/ H1:01#5#) (5:*#)3H(S ""W/ 0,105,)35( *#+ 3:043H3)
""W/ 04*)21,: (5:*#)3H( 1# &"79; H1#H50)( M&"79; H1#H50)( 0,105,)35( *#+
VUYS ^L/ 4*#IQ*I5O
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 231/243
>]f
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2
.&/ ()*)5 :*HD3#5(&1+5(
V1) =5) +1HQ:5#)5+Y,105,)35(
.&/ 1<~5H) 241F(U41F (05H323H*)31#
.&/ +545I*)31#E*((5:<4= H1##5H)1,(Y1,) J1##5H)31#(
.&/ Y*,)(LQ<H1:01#5#)(
&"79; 241FY1,)(S .&/ ,5kQ3,5+E0,163+5+
3#)5,2*H5(m
""W/ 25*)Q,5(
"441H*)5+Z3#+3#I
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
AA#+ component BType and 0mplementationC
AA#+ )omponent Types L05H3235( * 2Q#H)31#*4 3#)5,2*H5 3# )5,:( 12
25*)Q,5( M01,)(S 01,) I,1Q0(S 241F(05H323H*)31#(S (Q<H1:01#5#) *HH5((GGOS0,105,)35(
.&/ 0*Hl*I5 H1#)*3#3#I ""W/ H1:01#5#)+5H4*,*)31#O
)omponent 0mplementation=
?M+ Reali;ation
""W/ J1:01#5#) K:045:5#)*)31#( W5(H,3<5( )D5 3#)5,#*4 (),QH)Q,5 *#+ <5D*631, 12
)D*) H1:01#5#) 3# )5,:( 12 (Q<H1:01#5#)(SH1##5H)31#( *#+ 241F( *H,1(( )D5:S *#+<5D*631,*4 :1+5(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 232/243
>]>
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2
)omponent Extension =
?M+ enerali;ation
""W/ J1:01#5#) ;[)5#(31# .&/ '5#5,*43R*)31#
<5D*631,*4 :1+5(
.&/ 0*Hl*I5 H1#)*3#3#I ""W/ H1:01#5#)
3:045:5#)*)31#( ""W/ 3:045:5#)*)31# 43l5+ )1 ""W/ +5H4*,*)31#
)D,1QID .&/ 75*43R*)31#
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
AA#+ !ystem and AA#+ !ubcomponents
AA#+ !ystem 750,5(5#)( * H1:01(3)5 (12)F*,5S 5[5HQ)31#
04*)21,: 1, (=()5: H1:01#5#)(
750,5(5#)5+ <= * hL=(&/i <41Hl
!ystem Types
system li!ht #ystemdc o d e
""W/ LQ<H1:01#5#)( ,50,5(5#)5+ <= .&/ 0*,)(
!ystem
0mplementation
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 233/243
>]]
R e
? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
2
!ubcomponentsrelationships
system li!ht"#ystem
end li!ht"#ystem$
system implementation li!ht"#ystem&'eneric
subcomponents
#"()* + system ()*"#ystem&,ower,)"'4$
#"-., + system -av".utopilot"#ystem&,ower,)"'4$
/.- + bus /.-"us$ &
e n e
r a t e d c
!ystem subcomponents
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Re>uired data1bus access
""W/ ZQ( *#+ W*)* H1:01#5#)( *HH5((
Pro,ide data1ser,ice to other AA#+ components
Access re>uired from other AA#+ components
K:045:5#)*)31# 0*,) -
"HH5(( +5(3I# <= +545I*)31# E *((5:<4=H1##5H)1,(
75(1Q,H5( :*= <5 (05H3*43R5+ F3)D ,5*4 )3:5
25*)Q,5( 1, *((1H3*)5+ )1 (5,63H5(
Access declaration
W5H4*,*)31# 0*,) - Y,163+5E,5kQ3,5+ *HH5(( :1+545+
3# &"79; 63* 0,163+5+ E ,5kQ3,5+ .&/ K#)5,2*H
5(
de
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 234/243
>]_
R
e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
Access connections
25*)Q,5( 1, *((1H3*)5+ )1 (5,63H5(
M(=#HD,1#3R*)31#S H1#HQ,,5#H= *HH5(( mO
processor power,)
eatures
emus + reuires bus access emory"us$
ev"us + reuires bus access evice"us
nd ,ower,)$
bus emory"us
end emory"us$
e n e r a t e
d c o d e
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Ports and )onnections
AA#+ Ports U41F 01,)( *,5 ,50,5(5#)5+ <= &"79; U41F Y1,)(
system -av".utopilot"#ystemfeatures
.,"6o!!le + in event port$
.,",osition"*nput + in event data port -av"6ypes++,osition&',#$ m
AA#+ Port$ @us and Memory )onnections ZQ(E+*)* *HH5(( +*)* *,5 ,50,5(5#)5+ <= .&/ H1##5H)1,(
<5)F55# )D5 01,) 0,163+3#I )D5 *HH5(( *#+ )D5 +563H5
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 235/243
>]`
R
e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
"lows ports connections are represented by ?M+
connectors Bdelegation or assembly connectorsC
system implementation -av".utopilot"#ystem&,ower,)"'4
mG
bus access ev"us n!ine",")ontroller&)onnector"us$
&
data port ,"-av")on&n!ine",":utput n!ine",")ontroller&*nput $
e n e r a t e d c o d e
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
!ystem binding
AA#+ !ystem bindings
",5 ,50,5(5#)5+ <= &"79;
ƒƒ*441H*)31# ()5,51)=05+ .&/
W505#+5#H=
Execution platform
AA#+ @indings
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 236/243
>]a
R
e ? e r e n c e
@ A R T E T u
t o r i a
l
N o v e m
e r
!oftware Application
r 2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
!ubprogram call
!ubprogram
",5 ,50,5(5#)5+ <= %05,*)31#
!ubprogram calls
",5 ,50,5(5#)5+ )D,1QID .&/ &5((*I5( 1# (5k
Q5#H5
+3*I,*:(
e n e r a t e d c o d e
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 237/243
>]b
R
e ? e r e n c e
@ A R T E T u
t o r i a
l
N o
v e m
e r
thread implementation :=X)D,5*+G3:04
calls x
23,()X(Q<0I, - subprogram :=X(Q<0,1I,*:„
(5H1#+X(Q<0I, - subprogram :=X(5H1#+X(Q<0,1I,*:„
y
end :=X)D,5*+G3:04„
r 2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Modes with MARTE guidelines
Mode transition modeli;ed by an ?M+ sta
machine
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 238/243
>]d
R
e ? e r e n c e
@ A R T E T u
t o r i a
l
N o
v e m
e r
#ifferent mode
configuration through)ollaboration diagrams
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Properties
AA#+ Properties
",5 ,50,5(5#)5+ <= ƒƒ""W/ 0,105,)35(
()5,51)=05+ .&/ H1::5#)(
v344 <5 *43I#5+ Q(3#I VUY(S ^L/ 4*#IQ*I5
*#+ &"79; H1#H50)( 0,105,)35(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 239/243
>]e
R
e ? e r e n c e
@ A R T E T u
t o r i a
l
N o
v e m
e
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
MARTE8AA#+ code generator
&"79; )1 ""W/ H1+5 I5#5,*)1, 3( *4,5*+= *6*34*<45
Z,3+I5 <5)F55# &"79;E""W/ *#+ JD5++*, MLHD5+Q43#I *#*4=(3(O *4,5*+=
)5()5+ process implementation -av")ontrol",rocess&,ower,)"'4
subcomponents
6"',#"eader + thread ',#"#amplin!"6hread&,ower,)"'4 in modes ;',#"<,".,"<,= ',#"<,".,":>-?$
6".,")ompute + thread .utopilot")ompute"6hread&,ower,)"'4 in modes ;',#"<,".,"<,?$ 6".,",arams + thread
.utopilot"odify",arameters"6hread&,ower,)"'4$
".,"estination + data -av"6ypes++,osition&#imple$
".,".irspeed + data -av"6ypes++*nte!er$
".,".ltitude + data -av"6ypes++*nte!er$
connections
data port ',#",osition"*nput 6"',#"eader&,osition"*nput in modes ;',#"<,".,"<,= ',#"<,".,":>-?$
data port 6"',#"eader&,osition":utput ,osition":utput in modes ;',#"<,".,"<,= ',#"<,".,":>-?$
data port 6"',#"eader&,osition":utput 6".,")ompute&,osition"*nput i n modes ;',#"<,".,"<,?$
6".,")ompute&elta"oll":utput elta"oll":utput in modes ;',#"<,".,"<,?$
data port 6".,")ompute&elta"@aw":utput elta"@aw":utput in modes ;',#"<,".,"<,?$
data port 6".,")ompute&elta",itch":utput elta",itch":utput in modes ;',#"<,".,"<,?$
data port 6".,")ompute&n!ine",":utput n!ine",":utput in modes ;',#"<,".,"<,?$
t d t t ., , iti * t 6 ., , ., , iti * t d9 E R A
T E #
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 240/243
>_g
R
e ? e r e n c e
@ A R T E T u
t o r i a
l
N o
v e m
e event data port .,",osition"*nput 6".,",arams&.,",osition"*nput$ modes
',#"<,".,":>- + i nitial mode$
',#"<,".,"<, + mode$
A*-*6*./": B AC-6 D A*-./":
',#"<,".,":>- B .,"6o!!le D ',#"<,".,"<,$
',#"<,".,":>- B ',#"rror D ',#":>-$
',#"<,".,"<, B ',#"rror D ',#":>-$
end -av")ontrol",rocess&,ower,)"'4$ m
process implementation ()*",rocess&,ower,)"'4
subcomponents
6"#creen"isp + thread #creen"isplay"6hread&,ower,)"'4$
6",ilot"*nput + thread ,ilot"*nput"6hread&,ower,)"'4$
connections
event port 6",ilot"*nput&.,"6o!!le .,"6o!!le$
event data port 6",ilot"*nput&.,",osition":utput .,",osition":utput$
6",ilot"*nput&.,"6o!!le 6"#creen"isp&.,"6o!!le$
) O # E
E
9
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Agenda
Part /
K#),1+QH)31# )1 &WW 21, 79E; (=()5:( { &"79; 3# * #Q)(D544
Part %
V1#82Q#H)31#*4 0,105,)35( :1+543#I
%Q)43#5 12 )D5 ^*4Q5 L05H323H*)31# /*#IQ*I5 M^L/O
Part 3
9D5 )3:3#I :1+54
Part 4
" H1:01#5#) :1+54 21, 79E;
Part 5
Y4*)21,: :1+543#I
P t 6
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 241/243
>_f
R
e ? e r e n c e
@ A R T E T u
t o r i a
l
N o
v e m
e
Part 6
7505)3)365 (),QH)Q,5 :1+543#I
Part (
&1+548<*(5+ *#*4=(3( 21, 79E;
Part &
&"79; *#+ ""W/
Part 7
)onclusions
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
MARTE "rontiers and )hallenges
MARTE define the language constructs only<
J1::1# 0*))5,#(S <*(5 <Q34+3#I <41Hl(S ()*#+*,+ VUY *##1)*)31#(
'5#5,3H H1#(),*3#)( )D*) +1 #1) 21,H5 (05H323H 5[5HQ)31# :1+54(S *#*4=(3(
)5HD#3kQ5( 1, 3:045:5#)*)31# )5HD#141I35( 0t does not co,er methodologies aspects=
K#)5,2*H58Z*(5+ W5(3I#S W5(3I# L0*H5 ;[041,*)31#
&5*#( )1 :*#*I5 ,523#5:5#) 12 VUY :5*(Q,5:5#) :1+54(
J1#H,5)5 0,1H5((5( )1 ()1,*I5S <3#+S *#+ +3(04*= VUY H1#)5[) :1+54(
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 242/243
>_>
R
e ? e r e n c e
@ A R T E T u
t o r i a
l
N o
v e m
e 0 I S S 0 =
&*003#I )1 ),*#(21,: &1JJ( 3#)1 *#*4=(3( :1+54(
MARTE is to the RTE! domain as ?M+ to the !ystem 2
!oftware domain= a family of large and open
specification formalisms<
e r
2 0 0 7
B e r s
i o n
C ! C
www.omgmarte.org
Related links
The official MARTE web site= www.omgmarte.org 9Q)1,3*4(S 565#)(S 0,1~5H)( ,54*)5+ *#+ )114( %# 105# (1Q,H5 ;H430(5 04QI83# 21, .&/> I,*0D3H*4 :1+543#I &"79; 3:045:5#)*)31# *6*34*<45 F3)D3# KZ& 7L" bGg
K#H4Q+5+ )D5 ^L/ 5+3)1,
www.papyrusuml.org %# 105# (1Q,H5 ;H430(5 04QI83# 21, .&/> I,*0D3H*4 :1+543#I &"79; 3:045:5#)*)31# *6*34*<45 F3)D3# )D5 ^fGd ,545*(5 12 )D5 )114
"4,5*+= *6*34*<45 1#- https=11speedy.supelec.fr1Papyrus1s,n1Papyrus1extensions1MARTE1head1
8/22/2019 TutorialMARTE-Final Version1 1 0
http://slidepdf.com/reader/full/tutorialmarte-final-version1-1-0 243/243
>_]
R
e ? e r e n c e
@ A R T E T u
t o r i a
l
N o
v e m
https=11speedy.supelec.fr1Papyrus1s,n1Papyrus1extensions1MARTE1head1
v1,l3#I 1#- https=11speedy.supelec.fr1Papyrus1s,n1Papyrus1core1...
Top Related