SlideShare une entreprise Scribd logo
1  sur  66
Télécharger pour lire hors ligne
Introduction to ADLs 
Henry Muccini 
henry.muccini@univaq.it 
DISIM 
Dep.nt of Information Engineering, Computer Science and Mathematics 
University of L’Aquila, Italy
The material in these slides may be freely reproduced and 
distributed, partially or totally, as far as an explicit 
reference or acknowledge to the material author is 
preserved. 
Some material in this presentation has been previously 
presented at ECSA 2014, tutorial T2: The Road Ahead for 
Architectural Languages, P. Lago, I. Malavolta, H. Muccini, 
P. Pelliccione, A. Tang 
SEA Group 
Henry Muccini
Intro to SA 
SA Case study 
SA style 
ADLs 
Design Decisions 
Views/Viewpoints 
SEA Group 
Non Functional S.E. 
Performance modeling 
Performance analysis 
UML 
UML Profiling 
Lab
An Architecture Description Language (ADL) (or 
simply, AL) is a form of expression used for architecture 
description. [ISO/IEC/IEEE 42010] 
It may be a formal language (like Acme, Darwin, AADL), 
a UML-based notation, as well as any other means you 
may have used to describe a software architecture. 
An ADL is tailored to specify SA concepts (components, 
connectors, interfaces, …) through different viewpoints 
SEA Group
Specification is “the software lifecycle phase 
concerned with precise definition of the tasks to be 
performed by the system”[Meyer85] 
To reveal ambiguity, incompleteness and inconsistency 
To prove that the system is: 
SEA Group
Specification: What 
SEA Group
Formal Specification: Why 
Sometimes, systems must run reliably 
for 99.9999 % of the time 
semi-automated generation of test cases 
from formally specified requirements 
semi-automated derivation of correctness, 
security, safety and other properties 
SEA Group
HISTORICAL VIEW 
SEA Group 
25+ years back 
(maybe more…) 
IIII hhhhaaaavvvveeee ttttoooo sssshhhhaaaarrrreeee wwwwiiiitttthhhh 
aaaarrrrcccchhhhiiiitttteeeeccccttttssss tttthhhheeee 
aaaarrrrcccchhhhiiiitttteeeeccccttttuuuurrrreeee ssssoooolllluuuuttttiiiioooonnnn 
IIII hhhhaaaavvvveeee iiiinnnn mmmmiiiinnnndddd.... 
WWWWhhhhaaaatttt sssshhhhaaaallllllll IIII uuuusssseeee???? 
SSSSooooffffttttwwwwaaaarrrreeee AAAArrrrcccchhhhiiiitttteeeecccctttt
HISTORICAL VIEW 
9 
SEA Group 
BBBBuuuutttt aaaarrrrcccchhhhiiiitttteeeeccccttttiiiinnnngggg mmmmaaaakkkkeeeessss 
sssseeeennnnsssseeee iiiiffff wwwweeee ccccaaaannnn rrrruuuunnnn 
ssssoooommmmeeee aaaauuuuttttoooommmmaaaatttteeeedddd 
aaaannnnaaaallllyyyyssssiiiissss ((((aaaannnndddd mmmmoooorrrreeee))))! 
AAAAccccaaaaddddeeeemmmmiiiiaaaa 
“AAAAssssiiiiddddeeee ffffrrrroooommmm pppprrrroooovvvviiiiddddiiiinnnngggg cccclllleeeeaaaarrrr aaaannnndddd pppprrrreeeecccciiiisssseeee 
ddddooooccccuuuummmmeeeennnnttttaaaattttiiiioooonnnn, tttthhhheeee pppprrrriiiimmmmaaaarrrryyyy ppppuuuurrrrppppoooosssseeee ooooffff 
ssssppppeeeecccciiiiffffiiiiccccaaaattttiiiioooonnnnssss iiiissss ttttoooo pppprrrroooovvvviiiiddddeeee aaaauuuuttttoooommmmaaaatttteeeedddd 
aaaannnnaaaallllyyyyssssiiiissss ooooffff tttthhhheeee ddddooooccccuuuummmmeeeennnntttt aaaannnndddd ttttoooo eeeexxxxppppoooosssseeee 
vvvvaaaarrrriiiioooouuuussss kkkkiiiinnnnddddssss ooooffff pppprrrroooobbbblllleeeemmmmssss tttthhhhaaaatttt wwwwoooouuuulllldddd 
ooootttthhhheeeerrrrwwwwiiiisssseeee ggggoooo uuuunnnnddddeeeetttteeeecccctttteeeedddd”””” ((((PPPPWWWW1111999999992222) 
“FFFFoooouuuurrrrtttthhhh,,,, aaaannnn aaaarrrrcccchhhhiiiitttteeeeccccttttuuuurrrraaaallll ssssyyyysssstttteeeemmmm 
rrrreeeepppprrrreeeesssseeeennnnttttaaaattttiiiioooonnnn iiiissss oooofffftttteeeennnn eeeesssssssseeeennnnttttiiiiaaaallll 
ttttoooo tttthhhheeee aaaannnnaaaallllyyyyssssiiiissss aaaannnndddd ddddeeeessssccccrrrriiiippppttttiiiioooonnnn ooooffff 
tttthhhheeee hhhhiiiigggghhhhllll-lllleeeevvvveeeellll pppprrrrooooppppeeeerrrrttttiiiieeeessss ooooffff a 
ccccoooommmmpppplllleeeexxxx ssssyyyysssstttteeeemmmm”””” ((((GGGGSSSS1111999999994444)
HISTORICAL VIEW 
10 
SEA Group 
Comp&C 
on Spec 
OOOOtttthhhheeeerrrr 
CCCCoooonnnncccceeeerrrrnnnnssss 
Interco 
nnectio 
n 
Compo 
sition 
Abstracti 
on 
Reusabili 
ty 
Analysis 
Hetero 
geneity 
Configur 
ation
WHAT HAPPENED NEXT (1/2) 
11 
SEA Group 
Darwin 
first generation ALs [MDT07] 
FSP 
to support components and connectors specification, their overall 
interconnection, composition, abstraction, reusability, configuration, 
heterogeneity, and analysis 
ACME 
Rapide 
Wright 
ACME
HISTORICAL VIEW 
12 
SEA Group 
Config. 
Manage 
ment 
MMMMoooorrrreeee 
CCCCoooonnnncccceeeerrrrnnnnssss 
Distrib 
ution 
Product 
Line 
Styles 
Differe 
nt 
domain 
s 
… 
… 
second generation ALs [MDT07]
UML FOR ARCHITECTURE DESCRIPTION 
RRRReeeeaaaassssoooonnnnaaaabbbbllllyyyy aaaapppppppplllliiiiccccaaaabbbblllleeee ttttoooo ssssooooffffttttwwwwaaaarrrreeee aaaarrrrcccchhhhiiiitttteeeeccccttttuuuurrrreeeessss 
… 
SEA Group 
taken from https://code.google.com/p/staff/wiki/SoaApplicationStruct
BUT… 
Meaningful Modeling: What’s the Semantics MMMeeeaaannniiinnngggfffuuulll MMMooodddeeellliiinnnggg::: WWWhhhaaattt’’’sss ttthhheee SSSeeemmmaaannntttiiicccsss ooooffff ““““SSSSeeeemmmmaaaannnnttttiiiiccccssss””””???? hhhhttttttttpppp::::////////ggggoooooooo....ggggllll////mmmmbbbbTTTTllllooooAAAA 
[[[[HHHHaaaarrrreeeellllRRRRuuuummmmppppeeee00004444]]]] 
““““IIIInnnn iiiittttssss ccccuuuurrrrrrrreeeennnntttt ffffoooorrrrmmmm,,,, tttthhhheeee OOOObbbbjjjjeeeecccctttt MMMMaaaannnnaaaaggggeeeemmmmeeeennnntttt GGGGrrrroooouuuupppp’’’’ssss ddddooooccccuuuummmmeeeennnnttttssss ddddoooo nnnnooootttt ooooffffffffeeeerrrr aaaa 
rrrriiiiggggoooorrrroooouuuussss ddddeeeeffffiiiinnnniiiittttiiiioooonnnn ooooffff UUUUMMMMLLLL’’’’ssss ttttrrrruuuueeee sssseeeemmmmaaaannnnttttiiiiccccssss,,,, nnnnooootttt eeeevvvveeeennnn 
ooooffff tttthhhheeee sssseeeemmmmaaaannnnttttiiiicccc ddddoooommmmaaaaiiiinnnn.... RRRRaaaatttthhhheeeerrrr,,,, tttthhhheeeeyyyy ccccoooonnnncccceeeennnnttttrrrraaaatttteeee oooonnnn tttthhhheeee aaaabbbbssssttttrrrraaaacccctttt ssssyyyynnnnttttaaaaxxxx,,,, 
iiiinnnntttteeeerrrrmmmmiiiixxxxeeeedddd wwwwiiiitttthhhh iiiinnnnffffoooorrrrmmmmaaaallll nnnnaaaattttuuuurrrraaaallll llllaaaannnngggguuuuaaaaggggeeee ddddiiiissssccccuuuussssssssiiiioooonnnnssss ooooffff wwwwhhhhaaaatttt tttthhhheeee sssseeeemmmmaaaannnnttttiiiiccccssss sssshhhhoooouuuulllldddd bbbbeeee.... TTTThhhheeeesssseeee 
ddddiiiissssccccuuuussssssssiiiioooonnnnssss cccceeeerrrrttttaaaaiiiinnnnllllyyyy ccccoooonnnnttttaaaaiiiinnnn mmmmuuuucccchhhh iiiinnnntttteeeerrrreeeessssttttiiiinnnngggg iiiinnnnffffoooorrrrmmmmaaaattttiiiioooonnnn oooonnnn tttthhhheeee sssseeeemmmmaaaannnnttttiiiiccccssss,,,, bbbbuuuutttt tttthhhheeeeyyyy aaaarrrreeee aaaa ffffaaaarrrr ccccrrrryyyy ffffrrrroooommmm 
wwwwhhhhaaaatttt ddddeeeevvvveeeellllooooppppeeeerrrrssss,,,, aaaassss wwwweeeellllllll aaaassss ttttoooooooollll vvvveeeennnnddddoooorrrrssss,,,, rrrreeeeaaaallllllllyyyy nnnneeeeeeeedddd.... AAAAssss rrrreeeecccceeeennnntttt rrrreeeesssseeeeaaaarrrrcccchhhh sssshhhhoooowwwwssss,,,, tttthhhheeeeyyyy ssssttttiiiillllllll llllaaaacccckkkk mmmmaaaannnnyyyy 
ccccllllaaaarrrriiiiffffyyyyiiiinnnngggg ddddeeeettttaaaaiiiillllssss aaaannnndddd ccccoooonnnnttttaaaaiiiinnnn mmmmaaaannnnyyyy iiiinnnnccccoooonnnnssssiiiisssstttteeeennnncccciiiieeeessss. ” 
TTTThhhheeee SSSSttttaaaatttteeee ooooffff PPPPrrrraaaaccccttttiiiicccceeee iiiinnnn MMMMooooddddeeeellll-DDDDrrrriiiivvvveeeennnn EEEEnnnnggggiiiinnnneeeeeeeerrrriiiinnnngggg hhhhttttttttpppp::::////////ggggoooooooo....ggggllll////hhhh5555YYYYRRRRttttvvvv [[[[WWWWHHHHRRRR11114444]]]] 
“UUUUMMMMLLLL 2222....0000,,,, ffffoooorrrr eeeexxxxaaaammmmpppplllleeee,,,, aaaa mmmmaaaajjjjoooorrrr rrrreeeevvvviiiissssiiiioooonnnn ooooffff tttthhhheeee UUUUMMMMLLLL ssssttttaaaannnnddddaaaarrrrdddd,,,, ddddiiiiddddnnnn’’’’tttt rrrreeeefffflllleeeecccctttt tttthhhheeee lllliiiitttteeeerrrraaaattttuuuurrrreeee oooonnnn eeeemmmmppppiiiirrrriiiiccccaaaallll 
ssssttttuuuuddddiiiieeeessss ooooffff ssssooooffffttttwwwwaaaarrrreeee mmmmooooddddeeeelllliiiinnnngggg oooorrrr ssssooooffffttttwwwwaaaarrrreeee ddddeeeessssiiiiggggnnnn ssssttttuuuuddddiiiieeeessss.... CCCCoooonnnnsssseeeeqqqquuuueeeennnnttttllllyyyy,,,, ccccuuuurrrrrrrreeeennnntttt 
aaaapppppppprrrrooooaaaacccchhhheeeessss ffffoooorrrrcccceeee ddddeeeevvvveeeellllooooppppeeeerrrrssss aaaannnndddd oooorrrrggggaaaannnniiiizzzzaaaattttiiiioooonnnnssss ttttoooo 
ooooppppeeeerrrraaaatttteeee iiiinnnn aaaa wwwwaaaayyyy tttthhhhaaaatttt ffffiiiittttssss tttthhhheeee aaaapppppppprrrrooooaaaacccchhhh iiiinnnnsssstttteeeeaaaadddd ooooffff 
mmmmaaaakkkkiiiinnnngggg tttthhhheeee aaaapppppppprrrrooooaaaacccchhhh ffffiiiitttt tttthhhheeee ppppeeeeoooopppplllleeee.... ” 
SEA Group 
Less formal and much more 
ambiguous than existing ALs
OVERALL 
15 
Type of spec. 
Language 
SEA Group 
Box and Line 
Formal 
UML 
1990 2000 today
SEA Group 
Pro: 
.formal semantics 
.computable 
Cons: 
.difficult to learn 
.general lack of 
industrial tools 
.prolifetarion 
Pro: 
.not too difficult 
.same notation for SA 
and design modeling 
Cons: 
.not a 100% fit 
.tool investment 
Pro: 
.of immediate use 
.perfect for sketching 
.communicative 
Cons: 
.Ambiguous 
.non automated 
16
TODAY 
SEA Group 
AL Name 
AADL 
ABC/ADL 
ACME 
ADAGE 
ADLARS 
ADML 
AESOP 
ArchJava 
ArchWare 
ArchiTRIO 
ARTECH 
C2 
C2 AML 
C2 SADEL 
CommUnity 
DAOP ADL 
DARWIN 
DICAM 
EAST ADL 
EXPRESSION 
GEN VOCA 
HMDES 
ISDL 
JACAL 
KOALA 
LILEANNA 
AL Name 
LISA 
LITTLE JIL 
MAE 
MADL 
MAFIIA 
MAUDE 
M(énage / xADL 
META H 
MIMOLA 
MODE CHART 
PALANTIR 
PRISMA 
RADL 
RAPIDE 
RESOLVE 
SADL 
SATURN 
SKWYRL 
UDL/i 
UNICON 
WEAVES 
WRIGHT 
WSDL 
xArch / xAcme 
xArch / xADL 
xC2 
100+ ALs 
(better to say, languages that consider themselves to be ALs)
100+ ALS 
18 
http://www.di.univaq.it/malavolta/al/ 
SEA Group
WHY SO MANY ALS? 
TTTThhhheeeerrrreeee aaaarrrreeee mmmmaaaannnnyyyy rrrreeeeaaaassssoooonnnnssss ffffoooorrrr hhhhaaaavvvviiiinnnngggg mmmmaaaannnnyyyy AAAALLLLssss: 
Different ALs for different “stakeholder concerns” 
SEA Group 
Different Domains 
Different Analysis 
Different Viewpoints 
Some of them are really similar, with just small semantic or 
syntactic differences 
Many are just prototipal languages, research-specific
ISSUES (1/2) 
 PPPPrrrroooolllliiiiffffeeeerrrraaaattttiiiioooonnnn ooooffff llllaaaannnngggguuuuaaaaggggeeeessss ffffoooorrrr ((((SSSSAAAA)))) ddddeeeessssccccrrrriiiippppttttiiiioooonnnn 
without a clear understanding of their merits and limitations. 
 TTTTeeeennnnssss ooooffff AAAALLLLssss,,,, cccchhhhaaaarrrraaaacccctttteeeerrrriiiizzzzeeeedddd bbbbyyyy sssslllliiiigggghhhhttttllllyyyy ddddiiiiffffffffeeeerrrreeeennnntttt ccccoooonnnncccceeeeppppttttuuuuaaaallll 
aaaarrrrcccchhhhiiiitttteeeeccccttttuuuurrrraaaallll eeeelllleeeemmmmeeeennnnttttssss,,,, ddddiiiiffffffffeeeerrrreeeennnntttt ssssyyyynnnnttttaaaaxxxx,,,, oooorrrr sssseeeemmmmaaaannnnttttiiiiccccssss.... 
Focussing on a generic or a specific operational domain 
 SSSSoooommmmeeee ssssuuuuppppppppoooorrrrtttt aaaauuuuttttoooommmmaaaatttteeeedddd aaaannnnaaaallllyyyyssssiiiissss,,,, ssssoooommmmeeee ooootttthhhheeeerrrrssss ddddoooo nnnnooootttt 
20 
SEA Group
ISSUES (2/2) 
 AAAAnnnn IIIIDDDDEEEEAAAALLLL aaaannnndddd ggggeeeennnneeeerrrraaaallll ppppuuuurrrrppppoooosssseeee AAAALLLL iiiissss NNNNOOOOTTTT lllliiiikkkkeeeellllyyyy ttttoooo eeeexxxxiiiisssstttt 
SSSSttttaaaakkkkeeeehhhhoooollllddddeeeerrrr ccccoooonnnncccceeeerrrrnnnnssss are various, ever evolving, and adapting 
to changing system requirements. [ISO/IEC/IEEE 42010] 
Difficult to capture all such concerns with a single, narrowly 
focused notation. 
21 
Architectural languages must be able to focus on 
“what is needed” by the stakeholders involved in the 
SEA Group 
architecting process.
Practical ADLs 
SEA Group
ADL/Tool Support 
Mainly for 
Analysis 
Strongly 
oriented to 
Architectural 
Styles 
Supports code 
generation and 
architectural 
programming 
Oriented to 
dynamic 
architectures 
via FSP 
AADL/OSATE ACME/AcmeStudio AcmeArchJava DARWIN/SAA 
Supports for 
model checking 
SEA Group 
SA 
Representationa 
and 
Implementatino 
of PLAs 
Support to 
Aspect 
Oriented and 
Component 
Based 
development 
XML Schemas-based 
extensibility 
EAST-ADL/AutoFocus2 xADL/Ménage-Palantir Prisma/PrismaCase xADL/ArchStudio
A Look to Some of them 
Darwin  FSP 
SEA Group 
→ Imperial College London, J. Kramer  J. Magee 
Koala 
→ Philips Research 
ACME 
→ Carnegie-Mellon, D. Garlan 
Rapide 
→ Stanford, D. Luckham 
xArch/xADL 
→ University of California, Irvine
Darwin/FSP 
SEA Group 
[Darwin], [DarwinWeb] 
range N = 0..1 
range K = 0..1 
range Sent = 0..1 
a) 
/**UserProcess*/ 
USER_ALARM= (sendAlarm_To_Router - receiveAck_From_Router - USER_ALARM). 
USER_CHECK = (sendCheck_To_Router - USER_CHECK). 
b) 
||USER = (USER_ALARM||USER_CHECK). 
/**RouterProcess*/ 
ROUTER_RECEIVEALARM = (receiveAlarm_From_User - sendAlarm_To_Server - 
receiveAck_From_Server - sendAck_To_User - ROUTER_RECEIVEALARM). 
ROUTER_RECEIVECHECK = (receiveCheck_From_User - (sendInput_To_Timer - 
ROUTER_RECEIVECHECK|pre_receiveCheck - ROUTER_RECEIVECHECK)). 
c) 
ROUTER_RECEIVETIME = (receiveTime_From_Timer -(sendNoFunc_To_Server - 
ROUTER_RECEIVETIME|pre_receiveTime- ROUTER_RECEIVETIME)). 
||ROUTER = ([0..1]:ROUTER_RECEIVEALARM||[0..1]:ROUTER_RECEIVECHECK|| 
ROUTER_RECEIVETIME). 
... 
d) 
/**System*/ 
||ALL_PROCESSES=(u[0..1]:USER||r:ROUTER||sa[0..1]:SERVER||t:TIMER)/ 
{ 
u[0].sendAlarm_To_Router/r.[0].receiveAlarm_From_User, 
e) 
u[1].sendAlarm_To_Router/r.[1].receiveAlarm_From_User, 
... 
For distributed sytems
Darwin 
Darwin is a language for describing software structures, i.e., network 
topologies. 
Model distributed systems 
Model dynamic systems 
It possesses both a textual and graphical notation 
SEA Group 
[Darwin], [DarwinWeb]
Darwin Example [Darwin] 
SEA Group 
component filter{ 
provide outputstream char; 
require inputstream char; 
}; 
component pipeline(int n){ 
provide output; 
require input; 
array F[n]: filter; 
forall k:0..n-1{ 
inst F[k] @ k+1; 
when k  n-1 
bind F[k+1].input -- F[k].output; 
} 
bind 
F[0].input -- input; 
output -- F[n-1].output; 
} 
} 
H2
Diapositiva 27 
H2 The Example description is specified in the paper Specifying Distributed Software Architectures, [Darwin] 
Henry_2; 10/10/2011
Darwin: Tools [Darwin_Tool][SAA] 
h12 
SEA Group
Diapositiva 28 
h12 Take a look to the printed document 
[SAA] 
hank72; 18/09/2002
Chat in Darwin 
Main differences: 
There are not rules on how components and connectors need to be put together 
Different interfaces for different messages 
User 1 
ok/no 
chat chat register chat 
Chat Client Chat Client Chat Client Chat Client Chat Client 
SEA Group 
User 2 User 3 
Chat Log 
Chat Room Chat Room 
User 4 
Reg. Dbase 
run 
run run 
register 
check 
save
FSP 
[FSP, FSPWeb] 
The Finite State Process (FSP) is a specification language which provides a 
concise way of describing Labeled Transition Systems (LTSs). 
SEA Group 
→Each FSP expression can be mapped onto a finite LTS and vice versa 
The FSP specification is based on the definition of processes, whose behavior 
is modeled by LTSs; 
→each process instance implements an architectural component; 
→several processes can be combined (with a parallel composition operator) to 
describe the interaction between different processes. 
The LTSA tool automatically generates the LTS associated to the FSP 
specification
An example 
range N = 0..1 
range K = 0..1 
range Sent = 0..1 
/**UserProcess*/ 
USER_ALARM= (sendAlarm_To_Router - receiveAck_From_Router - USER_ALARM). 
USER_CHECK = (sendCheck_To_Router - USER_CHECK). 
||USER = (USER_ALARM||USER_CHECK). 
/**RouterProcess*/ 
ROUTER_RECEIVEALARM = (receiveAlarm_From_User - sendAlarm_To_Server - 
receiveAck_From_Server - sendAck_To_User - ROUTER_RECEIVEALARM). 
ROUTER_RECEIVECHECK = (receiveCheck_From_User - (sendInput_To_Timer - 
ROUTER_RECEIVECHECK|pre_receiveCheck - ROUTER_RECEIVECHECK)). 
ROUTER_RECEIVETIME = (receiveTime_From_Timer -(sendNoFunc_To_Server - 
ROUTER_RECEIVETIME|pre_receiveTime- ROUTER_RECEIVETIME)). 
||ROUTER = ([0..1]:ROUTER_RECEIVEALARM||[0..1]:ROUTER_RECEIVECHECK|| 
ROUTER_RECEIVETIME). 
... 
/**System*/ 
||ALL_PROCESSES=(u[0..1]:USER||r:ROUTER||sa[0..1]:SERVER||t:TIMER)/ 
{ 
u[0].sendAlarm_To_Router/r.[0].receiveAlarm_From_User, 
u[1].sendAlarm_To_Router/r.[1].receiveAlarm_From_User, 
... 
SEA Group 
a) 
b) 
c) 
d) 
e)
SEA Group
Koala [KoalaWeb][Koala] 
Koala (Ommering, 2004) is an ADL specially designed for 
modeling embedded software for consumer electronics. 
It inherits from Darwin the main concepts and ideals, even 
though it is more oriented to notations and concepts 
commonly used in consumer electronics products. 
Koala allows to specify hierarchical architectures, it makes 
a distinction between component types and instances, it 
allows to construct configurations by instantiating 
components and connectors and explicitly models optional 
interfaces. 
SEA Group
A graphical view of Koala 
SEA Group 
For product lines
AcmeStudio ACME tool 
SEA Group 
For modeling styles
SEA Group 
Rapide 
[Rapide, RapideWeb] 
Rapide is an event-based ADL 
For formal verification 
→component behavior and interconnection represented by 
─ explicit event sequences. Events are the method of 
communication 
─ event sequencing constraints 
→Events organized in POSETs (Partially Ordered SETs) 
→Specified systems can be simulated by Rapide toolset 
→Simulations can be visualized in a graph format
POSETs 
Consider events that a person might emit at a gas station: 
SEA Group 
→ Pull up 
→ Leave 
→ Use Credit Card Machine 
→ Wash Windows 
→ Pump Gas 
Credit Card Pump Gas 
What are the orderings 
between these events? 
Pull Up Leave 
Wash 
Credit Card 
Wash 
Pump Gas 
Credit Card Pump Gas
The Result 
h13 
SEA Group
Diapositiva 38 
h13 This example comes from http://pavg.stanford.edu/rapide/examples/teaching/gas_station/ 
that is linked in [RapideWeb] 
hank72; 12/10/2002
The Result 
Could this be a problem? 
Ability to specify Constraints 
(patterns that should or should 
not happen) are important in 
finding these issues. 
SEA Group
xArch/xADL 2.0 [xADL_Wicsa01] 
For extensibility 
xArch is an XML-based representation for building 
ADLs. 
It consists of a core of basic architectural elements, 
defined in an XML schema called the “instances” 
schema. 
The xArch instances schema provides definitions for 
the following elements typically found in an ADL: 
SEA Group 
•Component, connector, interface, and link instances; 
•Subarchitectures, for specifying hierarchically composed component and 
connector instances; and 
•Groups, allowing the combination of basic elements
xArch XML Schema 
Open the XMLinstance.html file 
SEA Group
ArchiPelago 
SEA Group
AADL 
Part of the material on AADL comes from 
www.aadl.info and from Dr. Peter Feiler. 
Notation for specification of runtime architecture of 
real-time, embedded, fault-tolerant, secure, safety-critical, 
SEA Group 
software-intensive systems 
Fields of application: Avionics, Aerospace, Automotive, 
Autonomous systems, Medical devices 
Based on 15 years of research  industry input 
Standard approved  published Nov 2004 
www.aadl.info
High level description of AADL 
Developed and standardized under the auspices of the 
International Society of Automotive Engineers (SAE) 
Support the design and analysis of complex real-time 
safety-critical systems in avionics, automotive, space, 
… 
AADL provides a formal mechanism to capture the 
architecture specification 
SEA Group 
─ AADL - mathematical analysis of real-time embedded, 
multiprocessor, safety critical, fault tolerant systems (hardware 
and software) 
AADL is precise but abstract, incremental, system of 
systems, extendable
Model-based Assurance 
SEA Group 
Predictive Analysis 
Across Perspectives Security 
Intrusion 
Integrity 
Confidentiality 
Availability 
 Reliability 
MTBF 
FMEA 
Hazard 
analysis 
Real-time 
Performance 
Execution time/ 
Deadline 
Deadlock/starvation 
Latency 
Resource 
Consumption 
Bandwidth 
CPU time 
Power 
consumption 
Data 
Quality 
Data precision/ 
accuracy 
Temporal 
correctness 
Confidence 
Architecture Model 
Reduced model 
validation cost due to 
single source model
SEA Group 
Model-Based Embedded System Engineering 
Execution 
Platform 
Electronic 
. . . . . . . . . . 
Document the 
Architecture 
Abstract, but 
Precise 
Navigation 
System 
Airbag 
Parking Deployment 
Assistance 
Emission 
Management 
Cruise 
Control 
Antilock 
Braking 
System 
Application 
Software 
Fuel 
Injection 
System Analysis 
• Schedulability 
• Performance 
• Reliability 
• Fault Tolerance 
• Dynamic Configurability 
System Construction 
• AADL Runtime System 
• Application Software 
Integration 
External 
Environment
SAE AADL Standard 
Embedded 
Systems 
Research Industrial 
SEA Group 
MetaH 
Honeywell 
DSSA 
RMA 
Lehoczky 
Klein 
SAE AADL 
Standard 
Nov 2004 
Industry 
Industrial Standards 
Projects 
Industrial 
Initiatives 
Simplex 
Dependable Upgrade 
Sha 
GME 
VanderBilt 
MoBIES 
ACME 
Garlan 
EDCS 
HOOD 
STOOD 
MetaH 
Error Model 
Honeywell 
Automotive 
Unmanned 
Vehicles 
OSATE 
Toolset 
SEI 
AADL Meta 
Model  XMI 
June 2006 
AADL Error 
Annex Standard 
June 2006 
AADL UML 
Profile Std 
2007 
Tools 
Aerospace Avionics 
Medical 
Automotive Avionics Aerospace 
Eclipse 
EMF 
MBE 
www.aadl.info
Industrial Embedded Systems 
Initiatives 
SEA Group 
SAE AADL 
Standard 
Nov 2004 
Automotive 
OSATE 
Toolset 
SEI 
AADL Meta 
Model  XMI 
June 2006 
AADL Error 
Annex Standard 
June 2006 
Avionics 
Aerospace 
MBE 
EAST ADL 
AutoSAR 
US AVSI Avionics Consortium 
Analysis-based System Validation 
8 partners $12+M 2007-2010 
ITEA SPICES 
Model-Driven Embedded 
Systems Engineering 
15 partners €16M 2006-2009 
TOPCASED 
Open Source Embedded 
Systems Tool Framework 
28 partners €20+M2005-2008 
EC ASSERT 
Proof-based Satellite 
Architectures 
ESA + 30 partners 
€15M 2004-2007 
IST ARTIST2 
Embedded Systems 
Center of Excellence 
2007-2011 
OpenGroup 
Real-Time Forum 
EU + US partners
Two-Tier Tool Strategy 
Based on AADL XMI interchange format standard 
Open Source Tool Solution 
SEA Group 
─ Low entry cost solution based on Eclipse  Eclipse Modeling Framework 
─ SEI Open Source AADL Tool Environment (OSATE) integrated with open source 
Airbus TOPCASED tools 
─ Vehicle for pilot projects, in-house prototyping, and architecture research 
Commercial Tool Support 
─ Addition of AADL to existing commercial environment (ElliDiss) 
─ Interface with in-house  commercial tools (Dassault, Airbus, Rockwell, Honeywell) 
─ UML tool environment extension  integration (Telelogic, Rational, Artisan, 
MARTE)
AADL: The Language 
Precise execution semantics for components  interactions 
SEA Group 
─ Thread, process, data, subprogram, system, processor, memory, bus, device, 
abstract component, virtual processor, virtual bus 
Continuous signal processing  stochastic event processing 
─ Data, event, message communication, unqueued  queued 
─ Synchronous call/return, Shared data access 
─ End-to-End flow specifications 
Modeling of large-scale  configurable systems 
─ Component variants, packaging of component classifiers, layered systems, 
parameterized templates, component arrays 
Accommodation of diverse analysis needs 
─ User-defined properties, sublanguage extensions 
AADL V2
Application Components 
System: hierarchical organization 
of components 
Process: protected virtual address 
space 
Thread group: organization of 
threads in processes 
Thread: an active unit of 
concurrent execution 
Data: potentially sharable data 
Subprogram: Callable unit of 
sequential code 
SEA Group
In general 
As a matter of fact, a Software Architect needs to use 
different ADLs or UML profiles to model different 
aspects of his system 
SEA Group 
→As analyzed in many papers, it is impractical to think about a 
universal ADL covering all the different users’ concerns 
→We will see our solution (DUALLY) in L17 and L18
Textual Implementation of the “process”component 
SEA Group 
Type.name 
Name: 
element
Why So Many ADLs? 
There are many reasons for having many ADLs: 
SEA Group 
→Different ADLs for different “stakeholder concerns” 
─ Different Domains 
─ Different Analysis 
─ Different Viewpoints 
→Some of them are really similar, with just small semantic or 
syntactic differences 
→Many are just prototipal languages research specific
SEA Group 
Problems with Existing ADLs 
High degree of formality 
→making difficult their integration in industrial life-cycles 
Specialized semantic basis: 
→Different analysis require different ADLs 
→Impossible to construct an ADL which supports every kind of analysis 
Limited tool support 
Lack of lifecycle-wide support 
Very limited industry buy-in to date
SEA Group 
A Compromise: UML 
UML is the de facto standard design notation of choice 
in industrial software development 
Understood by many industrial software developers 
Reasonably applicable to software architectures 
→UML can be adapted for use as an ADL, but 
─ Less formal and much more ambiguous than existing ADLs 
─ Mature design environments, but lack of powerful analysis tools 
Nowadays, many approaches to extend the UML for 
SA modeling
What you shall have learned 
You get the precise idea on what an ADL is 
You get a precise idea on why there are many ADLs 
SEA Group
SEA Group 
Specification and Formal Specification 
“Formal methods provide mathematically based techniques” that have the 
additional advantage of “being amenable to machine analysis and 
manipulation” [Wing90] 
A Formal specification is the expression, in some formal language and at 
some level of abstraction, of a collection of properties some system should 
satisfy [Lam00] 
A formal specification language consists of 
→ syntax (the notation) 
→ semantics (the specifiable objects) 
→ satisfies relation (the semantics associated to the syntax) 
h9
Diapositiva 58 
h9 From [Meyer85] 
hank72; 10/04/2002
Formal Specification: Why 
For avoiding: 
SEA Group 
» [In]Consistency 
1. [In]Completeness 
2. [Non] Minimality
Types of Formal Specifications for SA modeling 
Structural specifications: 
SEA Group 
→ Structural specifications describe topological constraints 
→ Properties on the structure of the element in the 
specification 
Behavioral specification 
→ Behavioral specifications describe 
constraints on behavior of the 
system 
→ functional properties
Example 
Structural specification 
SEA Group
State Transition Specifications: the FSP Process Algebra 
range N = 0..1 
range K = 0..1 
range Sent = 0..1 
/**UserProcess*/ 
USER_ALARM= (sendAlarm_To_Router - receiveAck_From_Router - USER_ALARM). 
USER_CHECK = (sendCheck_To_Router - USER_CHECK). 
||USER = (USER_ALARM||USER_CHECK). 
/**RouterProcess*/ 
ROUTER_RECEIVEALARM = (receiveAlarm_From_User - sendAlarm_To_Server - 
receiveAck_From_Server - sendAck_To_User - ROUTER_RECEIVEALARM). 
ROUTER_RECEIVECHECK = (receiveCheck_From_User - (sendInput_To_Timer - 
ROUTER_RECEIVECHECK|pre_receiveCheck - ROUTER_RECEIVECHECK)). 
ROUTER_RECEIVETIME = (receiveTime_From_Timer -(sendNoFunc_To_Server - 
ROUTER_RECEIVETIME|pre_receiveTime- ROUTER_RECEIVETIME)). 
||ROUTER = ([0..1]:ROUTER_RECEIVEALARM||[0..1]:ROUTER_RECEIVECHECK|| 
ROUTER_RECEIVETIME). 
... 
/**System*/ 
||ALL_PROCESSES=(u[0..1]:USER||r:ROUTER||sa[0..1]:SERVER||t:TIMER)/ 
{ 
u[0].sendAlarm_To_Router/r.[0].receiveAlarm_From_User, 
u[1].sendAlarm_To_Router/r.[1].receiveAlarm_From_User, 
... 
SEA Group 
a) 
b) 
c) 
d) 
e)

Contenu connexe

Tendances

OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSMikel Raj
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIvano Malavolta
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9Ian Sommerville
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Software Architecture Document Final
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document FinalAli Ahmed
 
Component Diagram Example Templates
Component Diagram Example TemplatesComponent Diagram Example Templates
Component Diagram Example TemplatesCreately
 
11 ooad uml-14
11 ooad uml-1411 ooad uml-14
11 ooad uml-14Niit Care
 
Object-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochObject-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochSorina Chirilă
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9Ian Sommerville
 

Tendances (20)

OOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMSOOAD UNIT I UML DIAGRAMS
OOAD UNIT I UML DIAGRAMS
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
Introduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTUREIntroduction to SOFTWARE ARCHITECTURE
Introduction to SOFTWARE ARCHITECTURE
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
 
CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2CS8592-OOAD Lecture Notes Unit-2
CS8592-OOAD Lecture Notes Unit-2
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Design pattern
Design patternDesign pattern
Design pattern
 
Software Architecture Document Final
Software Architecture Document FinalSoftware Architecture Document Final
Software Architecture Document Final
 
Component Diagram Example Templates
Component Diagram Example TemplatesComponent Diagram Example Templates
Component Diagram Example Templates
 
Ch8.testing
Ch8.testingCh8.testing
Ch8.testing
 
Ch18 service oriented software engineering
Ch18 service oriented software engineeringCh18 service oriented software engineering
Ch18 service oriented software engineering
 
Ch3. agile sw dev
Ch3. agile sw devCh3. agile sw dev
Ch3. agile sw dev
 
11 ooad uml-14
11 ooad uml-1411 ooad uml-14
11 ooad uml-14
 
Object-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady BoochObject-Oriented Analysis And Design With Applications Grady Booch
Object-Oriented Analysis And Design With Applications Grady Booch
 
Class diagram
Class diagramClass diagram
Class diagram
 
Design pattern-presentation
Design pattern-presentationDesign pattern-presentation
Design pattern-presentation
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
Documenting Software Architectures
Documenting Software ArchitecturesDocumenting Software Architectures
Documenting Software Architectures
 
Ch5- Software Engineering 9
Ch5- Software Engineering 9Ch5- Software Engineering 9
Ch5- Software Engineering 9
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 

En vedette

Software Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesSoftware Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesHenry Muccini
 
Introduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIntroduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIvano Malavolta
 
10 modeling and_notations
10 modeling and_notations10 modeling and_notations
10 modeling and_notationsMajong DevJfu
 
Advo slides
Advo slidesAdvo slides
Advo slidesfamily81
 
Koala component model (1)
Koala component model (1)Koala component model (1)
Koala component model (1)Saransh Garg
 
Technical non-technical-requirement-of-cots-selection
Technical non-technical-requirement-of-cots-selectionTechnical non-technical-requirement-of-cots-selection
Technical non-technical-requirement-of-cots-selectionSaransh Garg
 
India - Decade Of Innovations Roadmap
India - Decade Of Innovations RoadmapIndia - Decade Of Innovations Roadmap
India - Decade Of Innovations Roadmapdebmalyadutta
 
language in architecture
language in architecturelanguage in architecture
language in architecturebeyzaie bashira
 
All about ISO/IEC/IEEE 42010 (r5)
All about ISO/IEC/IEEE 42010 (r5)All about ISO/IEC/IEEE 42010 (r5)
All about ISO/IEC/IEEE 42010 (r5)Rich Hilliard
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design Arslan Anwar
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
 

En vedette (14)

Software Architecture: Architecture Description Languages
Software Architecture: Architecture Description LanguagesSoftware Architecture: Architecture Description Languages
Software Architecture: Architecture Description Languages
 
Introduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGESIntroduction to ARCHITECTURAL LANGUAGES
Introduction to ARCHITECTURAL LANGUAGES
 
10 modeling and_notations
10 modeling and_notations10 modeling and_notations
10 modeling and_notations
 
Advo slides
Advo slidesAdvo slides
Advo slides
 
Koala component model (1)
Koala component model (1)Koala component model (1)
Koala component model (1)
 
Technical non-technical-requirement-of-cots-selection
Technical non-technical-requirement-of-cots-selectionTechnical non-technical-requirement-of-cots-selection
Technical non-technical-requirement-of-cots-selection
 
India - Decade Of Innovations Roadmap
India - Decade Of Innovations RoadmapIndia - Decade Of Innovations Roadmap
India - Decade Of Innovations Roadmap
 
language in architecture
language in architecturelanguage in architecture
language in architecture
 
All about ISO/IEC/IEEE 42010 (r5)
All about ISO/IEC/IEEE 42010 (r5)All about ISO/IEC/IEEE 42010 (r5)
All about ISO/IEC/IEEE 42010 (r5)
 
Ch6 architectural design
Ch6 architectural designCh6 architectural design
Ch6 architectural design
 
Software Architecture vs design
Software Architecture vs design Software Architecture vs design
Software Architecture vs design
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 

Similaire à Architecture Description Languages

Welcome to the Advanced Software Engineering Course (2014-2015)
Welcome to the Advanced Software Engineering Course (2014-2015)Welcome to the Advanced Software Engineering Course (2014-2015)
Welcome to the Advanced Software Engineering Course (2014-2015)Henry Muccini
 
L06 The Architecting Process
L06 The Architecting ProcessL06 The Architecting Process
L06 The Architecting ProcessHenry Muccini
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
Software Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the AbstractionSoftware Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the AbstractionHenry Muccini
 
AGADUC Towards A More Precise Presentation Of Functional Requirement In Use ...
AGADUC  Towards A More Precise Presentation Of Functional Requirement In Use ...AGADUC  Towards A More Precise Presentation Of Functional Requirement In Use ...
AGADUC Towards A More Precise Presentation Of Functional Requirement In Use ...Kelly Lipiec
 
Harmonizing use cases, dialogs or conversations, process maps, usecase diagra...
Harmonizing use cases, dialogs or conversations, process maps, usecase diagra...Harmonizing use cases, dialogs or conversations, process maps, usecase diagra...
Harmonizing use cases, dialogs or conversations, process maps, usecase diagra...Putcha Narasimham
 
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}Mumbai B.Sc.IT Study
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesObeo
 
Intro to rapid prototyping
Intro to rapid prototypingIntro to rapid prototyping
Intro to rapid prototypingDorothy Kare
 
Intro to rapid prototyping
Intro to rapid prototypingIntro to rapid prototyping
Intro to rapid prototypingDorothy Kare
 
INTRO TO RAPID PROTOTYPING.pptx
INTRO TO RAPID PROTOTYPING.pptxINTRO TO RAPID PROTOTYPING.pptx
INTRO TO RAPID PROTOTYPING.pptxKareDorathi
 
3D Functional Tolerancing And Annotation CATIA
3D Functional Tolerancing And Annotation CATIA3D Functional Tolerancing And Annotation CATIA
3D Functional Tolerancing And Annotation CATIALeslie Schulte
 
Software architecture-patterns
Software architecture-patternsSoftware architecture-patterns
Software architecture-patternspedro
 
Software arquitectura patron diseño
Software arquitectura patron diseñoSoftware arquitectura patron diseño
Software arquitectura patron diseñopedro
 
software-architecture-patterns
software-architecture-patternssoftware-architecture-patterns
software-architecture-patternsPallav Kumar
 
Summer "Tuning" in Jira and DevSecOps
Summer "Tuning" in Jira and DevSecOpsSummer "Tuning" in Jira and DevSecOps
Summer "Tuning" in Jira and DevSecOpsAUGNYC
 

Similaire à Architecture Description Languages (20)

Welcome to the Advanced Software Engineering Course (2014-2015)
Welcome to the Advanced Software Engineering Course (2014-2015)Welcome to the Advanced Software Engineering Course (2014-2015)
Welcome to the Advanced Software Engineering Course (2014-2015)
 
L06 The Architecting Process
L06 The Architecting ProcessL06 The Architecting Process
L06 The Architecting Process
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Software Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the AbstractionSoftware Architecture: Introduction to the Abstraction
Software Architecture: Introduction to the Abstraction
 
Business Analyst
Business AnalystBusiness Analyst
Business Analyst
 
AGADUC Towards A More Precise Presentation Of Functional Requirement In Use ...
AGADUC  Towards A More Precise Presentation Of Functional Requirement In Use ...AGADUC  Towards A More Precise Presentation Of Functional Requirement In Use ...
AGADUC Towards A More Precise Presentation Of Functional Requirement In Use ...
 
Harmonizing use cases, dialogs or conversations, process maps, usecase diagra...
Harmonizing use cases, dialogs or conversations, process maps, usecase diagra...Harmonizing use cases, dialogs or conversations, process maps, usecase diagra...
Harmonizing use cases, dialogs or conversations, process maps, usecase diagra...
 
RUG-Asia - ALM
RUG-Asia - ALMRUG-Asia - ALM
RUG-Asia - ALM
 
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}
Project Management (October - 2016) [CBSGS - Paper Solution] {Mumbai University}
 
From Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems ArchitecturesFrom Model-based to Model and Simulation-based Systems Architectures
From Model-based to Model and Simulation-based Systems Architectures
 
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
24 Reasons Why Variability Models Are Not Yet Universal (24RWVMANYU)
 
EENA 2021 - User Experience and User Interface (UX/UI) design (1/3)
EENA 2021 - User Experience and User Interface (UX/UI) design (1/3)EENA 2021 - User Experience and User Interface (UX/UI) design (1/3)
EENA 2021 - User Experience and User Interface (UX/UI) design (1/3)
 
Intro to rapid prototyping
Intro to rapid prototypingIntro to rapid prototyping
Intro to rapid prototyping
 
Intro to rapid prototyping
Intro to rapid prototypingIntro to rapid prototyping
Intro to rapid prototyping
 
INTRO TO RAPID PROTOTYPING.pptx
INTRO TO RAPID PROTOTYPING.pptxINTRO TO RAPID PROTOTYPING.pptx
INTRO TO RAPID PROTOTYPING.pptx
 
3D Functional Tolerancing And Annotation CATIA
3D Functional Tolerancing And Annotation CATIA3D Functional Tolerancing And Annotation CATIA
3D Functional Tolerancing And Annotation CATIA
 
Software architecture-patterns
Software architecture-patternsSoftware architecture-patterns
Software architecture-patterns
 
Software arquitectura patron diseño
Software arquitectura patron diseñoSoftware arquitectura patron diseño
Software arquitectura patron diseño
 
software-architecture-patterns
software-architecture-patternssoftware-architecture-patterns
software-architecture-patterns
 
Summer "Tuning" in Jira and DevSecOps
Summer "Tuning" in Jira and DevSecOpsSummer "Tuning" in Jira and DevSecOps
Summer "Tuning" in Jira and DevSecOps
 

Plus de Henry Muccini

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design Henry Muccini
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...Henry Muccini
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieHenry Muccini
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileHenry Muccini
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementHenry Muccini
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsHenry Muccini
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsHenry Muccini
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureHenry Muccini
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Henry Muccini
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Henry Muccini
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Henry Muccini
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Henry Muccini
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Henry Muccini
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Henry Muccini
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Henry Muccini
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Henry Muccini
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityHenry Muccini
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical SpacesHenry Muccini
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISHenry Muccini
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureHenry Muccini
 

Plus de Henry Muccini (20)

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibile
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd management
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of Things
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design Decisions
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building Architecture
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on Sustainability
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software Architecture
 

Dernier

mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 

Dernier (20)

mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 

Architecture Description Languages

  • 1. Introduction to ADLs Henry Muccini henry.muccini@univaq.it DISIM Dep.nt of Information Engineering, Computer Science and Mathematics University of L’Aquila, Italy
  • 2. The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved. Some material in this presentation has been previously presented at ECSA 2014, tutorial T2: The Road Ahead for Architectural Languages, P. Lago, I. Malavolta, H. Muccini, P. Pelliccione, A. Tang SEA Group Henry Muccini
  • 3. Intro to SA SA Case study SA style ADLs Design Decisions Views/Viewpoints SEA Group Non Functional S.E. Performance modeling Performance analysis UML UML Profiling Lab
  • 4. An Architecture Description Language (ADL) (or simply, AL) is a form of expression used for architecture description. [ISO/IEC/IEEE 42010] It may be a formal language (like Acme, Darwin, AADL), a UML-based notation, as well as any other means you may have used to describe a software architecture. An ADL is tailored to specify SA concepts (components, connectors, interfaces, …) through different viewpoints SEA Group
  • 5. Specification is “the software lifecycle phase concerned with precise definition of the tasks to be performed by the system”[Meyer85] To reveal ambiguity, incompleteness and inconsistency To prove that the system is: SEA Group
  • 7. Formal Specification: Why Sometimes, systems must run reliably for 99.9999 % of the time semi-automated generation of test cases from formally specified requirements semi-automated derivation of correctness, security, safety and other properties SEA Group
  • 8. HISTORICAL VIEW SEA Group 25+ years back (maybe more…) IIII hhhhaaaavvvveeee ttttoooo sssshhhhaaaarrrreeee wwwwiiiitttthhhh aaaarrrrcccchhhhiiiitttteeeeccccttttssss tttthhhheeee aaaarrrrcccchhhhiiiitttteeeeccccttttuuuurrrreeee ssssoooolllluuuuttttiiiioooonnnn IIII hhhhaaaavvvveeee iiiinnnn mmmmiiiinnnndddd.... WWWWhhhhaaaatttt sssshhhhaaaallllllll IIII uuuusssseeee???? SSSSooooffffttttwwwwaaaarrrreeee AAAArrrrcccchhhhiiiitttteeeecccctttt
  • 9. HISTORICAL VIEW 9 SEA Group BBBBuuuutttt aaaarrrrcccchhhhiiiitttteeeeccccttttiiiinnnngggg mmmmaaaakkkkeeeessss sssseeeennnnsssseeee iiiiffff wwwweeee ccccaaaannnn rrrruuuunnnn ssssoooommmmeeee aaaauuuuttttoooommmmaaaatttteeeedddd aaaannnnaaaallllyyyyssssiiiissss ((((aaaannnndddd mmmmoooorrrreeee))))! AAAAccccaaaaddddeeeemmmmiiiiaaaa “AAAAssssiiiiddddeeee ffffrrrroooommmm pppprrrroooovvvviiiiddddiiiinnnngggg cccclllleeeeaaaarrrr aaaannnndddd pppprrrreeeecccciiiisssseeee ddddooooccccuuuummmmeeeennnnttttaaaattttiiiioooonnnn, tttthhhheeee pppprrrriiiimmmmaaaarrrryyyy ppppuuuurrrrppppoooosssseeee ooooffff ssssppppeeeecccciiiiffffiiiiccccaaaattttiiiioooonnnnssss iiiissss ttttoooo pppprrrroooovvvviiiiddddeeee aaaauuuuttttoooommmmaaaatttteeeedddd aaaannnnaaaallllyyyyssssiiiissss ooooffff tttthhhheeee ddddooooccccuuuummmmeeeennnntttt aaaannnndddd ttttoooo eeeexxxxppppoooosssseeee vvvvaaaarrrriiiioooouuuussss kkkkiiiinnnnddddssss ooooffff pppprrrroooobbbblllleeeemmmmssss tttthhhhaaaatttt wwwwoooouuuulllldddd ooootttthhhheeeerrrrwwwwiiiisssseeee ggggoooo uuuunnnnddddeeeetttteeeecccctttteeeedddd”””” ((((PPPPWWWW1111999999992222) “FFFFoooouuuurrrrtttthhhh,,,, aaaannnn aaaarrrrcccchhhhiiiitttteeeeccccttttuuuurrrraaaallll ssssyyyysssstttteeeemmmm rrrreeeepppprrrreeeesssseeeennnnttttaaaattttiiiioooonnnn iiiissss oooofffftttteeeennnn eeeesssssssseeeennnnttttiiiiaaaallll ttttoooo tttthhhheeee aaaannnnaaaallllyyyyssssiiiissss aaaannnndddd ddddeeeessssccccrrrriiiippppttttiiiioooonnnn ooooffff tttthhhheeee hhhhiiiigggghhhhllll-lllleeeevvvveeeellll pppprrrrooooppppeeeerrrrttttiiiieeeessss ooooffff a ccccoooommmmpppplllleeeexxxx ssssyyyysssstttteeeemmmm”””” ((((GGGGSSSS1111999999994444)
  • 10. HISTORICAL VIEW 10 SEA Group Comp&C on Spec OOOOtttthhhheeeerrrr CCCCoooonnnncccceeeerrrrnnnnssss Interco nnectio n Compo sition Abstracti on Reusabili ty Analysis Hetero geneity Configur ation
  • 11. WHAT HAPPENED NEXT (1/2) 11 SEA Group Darwin first generation ALs [MDT07] FSP to support components and connectors specification, their overall interconnection, composition, abstraction, reusability, configuration, heterogeneity, and analysis ACME Rapide Wright ACME
  • 12. HISTORICAL VIEW 12 SEA Group Config. Manage ment MMMMoooorrrreeee CCCCoooonnnncccceeeerrrrnnnnssss Distrib ution Product Line Styles Differe nt domain s … … second generation ALs [MDT07]
  • 13. UML FOR ARCHITECTURE DESCRIPTION RRRReeeeaaaassssoooonnnnaaaabbbbllllyyyy aaaapppppppplllliiiiccccaaaabbbblllleeee ttttoooo ssssooooffffttttwwwwaaaarrrreeee aaaarrrrcccchhhhiiiitttteeeeccccttttuuuurrrreeeessss … SEA Group taken from https://code.google.com/p/staff/wiki/SoaApplicationStruct
  • 14. BUT… Meaningful Modeling: What’s the Semantics MMMeeeaaannniiinnngggfffuuulll MMMooodddeeellliiinnnggg::: WWWhhhaaattt’’’sss ttthhheee SSSeeemmmaaannntttiiicccsss ooooffff ““““SSSSeeeemmmmaaaannnnttttiiiiccccssss””””???? hhhhttttttttpppp::::////////ggggoooooooo....ggggllll////mmmmbbbbTTTTllllooooAAAA [[[[HHHHaaaarrrreeeellllRRRRuuuummmmppppeeee00004444]]]] ““““IIIInnnn iiiittttssss ccccuuuurrrrrrrreeeennnntttt ffffoooorrrrmmmm,,,, tttthhhheeee OOOObbbbjjjjeeeecccctttt MMMMaaaannnnaaaaggggeeeemmmmeeeennnntttt GGGGrrrroooouuuupppp’’’’ssss ddddooooccccuuuummmmeeeennnnttttssss ddddoooo nnnnooootttt ooooffffffffeeeerrrr aaaa rrrriiiiggggoooorrrroooouuuussss ddddeeeeffffiiiinnnniiiittttiiiioooonnnn ooooffff UUUUMMMMLLLL’’’’ssss ttttrrrruuuueeee sssseeeemmmmaaaannnnttttiiiiccccssss,,,, nnnnooootttt eeeevvvveeeennnn ooooffff tttthhhheeee sssseeeemmmmaaaannnnttttiiiicccc ddddoooommmmaaaaiiiinnnn.... RRRRaaaatttthhhheeeerrrr,,,, tttthhhheeeeyyyy ccccoooonnnncccceeeennnnttttrrrraaaatttteeee oooonnnn tttthhhheeee aaaabbbbssssttttrrrraaaacccctttt ssssyyyynnnnttttaaaaxxxx,,,, iiiinnnntttteeeerrrrmmmmiiiixxxxeeeedddd wwwwiiiitttthhhh iiiinnnnffffoooorrrrmmmmaaaallll nnnnaaaattttuuuurrrraaaallll llllaaaannnngggguuuuaaaaggggeeee ddddiiiissssccccuuuussssssssiiiioooonnnnssss ooooffff wwwwhhhhaaaatttt tttthhhheeee sssseeeemmmmaaaannnnttttiiiiccccssss sssshhhhoooouuuulllldddd bbbbeeee.... TTTThhhheeeesssseeee ddddiiiissssccccuuuussssssssiiiioooonnnnssss cccceeeerrrrttttaaaaiiiinnnnllllyyyy ccccoooonnnnttttaaaaiiiinnnn mmmmuuuucccchhhh iiiinnnntttteeeerrrreeeessssttttiiiinnnngggg iiiinnnnffffoooorrrrmmmmaaaattttiiiioooonnnn oooonnnn tttthhhheeee sssseeeemmmmaaaannnnttttiiiiccccssss,,,, bbbbuuuutttt tttthhhheeeeyyyy aaaarrrreeee aaaa ffffaaaarrrr ccccrrrryyyy ffffrrrroooommmm wwwwhhhhaaaatttt ddddeeeevvvveeeellllooooppppeeeerrrrssss,,,, aaaassss wwwweeeellllllll aaaassss ttttoooooooollll vvvveeeennnnddddoooorrrrssss,,,, rrrreeeeaaaallllllllyyyy nnnneeeeeeeedddd.... AAAAssss rrrreeeecccceeeennnntttt rrrreeeesssseeeeaaaarrrrcccchhhh sssshhhhoooowwwwssss,,,, tttthhhheeeeyyyy ssssttttiiiillllllll llllaaaacccckkkk mmmmaaaannnnyyyy ccccllllaaaarrrriiiiffffyyyyiiiinnnngggg ddddeeeettttaaaaiiiillllssss aaaannnndddd ccccoooonnnnttttaaaaiiiinnnn mmmmaaaannnnyyyy iiiinnnnccccoooonnnnssssiiiisssstttteeeennnncccciiiieeeessss. ” TTTThhhheeee SSSSttttaaaatttteeee ooooffff PPPPrrrraaaaccccttttiiiicccceeee iiiinnnn MMMMooooddddeeeellll-DDDDrrrriiiivvvveeeennnn EEEEnnnnggggiiiinnnneeeeeeeerrrriiiinnnngggg hhhhttttttttpppp::::////////ggggoooooooo....ggggllll////hhhh5555YYYYRRRRttttvvvv [[[[WWWWHHHHRRRR11114444]]]] “UUUUMMMMLLLL 2222....0000,,,, ffffoooorrrr eeeexxxxaaaammmmpppplllleeee,,,, aaaa mmmmaaaajjjjoooorrrr rrrreeeevvvviiiissssiiiioooonnnn ooooffff tttthhhheeee UUUUMMMMLLLL ssssttttaaaannnnddddaaaarrrrdddd,,,, ddddiiiiddddnnnn’’’’tttt rrrreeeefffflllleeeecccctttt tttthhhheeee lllliiiitttteeeerrrraaaattttuuuurrrreeee oooonnnn eeeemmmmppppiiiirrrriiiiccccaaaallll ssssttttuuuuddddiiiieeeessss ooooffff ssssooooffffttttwwwwaaaarrrreeee mmmmooooddddeeeelllliiiinnnngggg oooorrrr ssssooooffffttttwwwwaaaarrrreeee ddddeeeessssiiiiggggnnnn ssssttttuuuuddddiiiieeeessss.... CCCCoooonnnnsssseeeeqqqquuuueeeennnnttttllllyyyy,,,, ccccuuuurrrrrrrreeeennnntttt aaaapppppppprrrrooooaaaacccchhhheeeessss ffffoooorrrrcccceeee ddddeeeevvvveeeellllooooppppeeeerrrrssss aaaannnndddd oooorrrrggggaaaannnniiiizzzzaaaattttiiiioooonnnnssss ttttoooo ooooppppeeeerrrraaaatttteeee iiiinnnn aaaa wwwwaaaayyyy tttthhhhaaaatttt ffffiiiittttssss tttthhhheeee aaaapppppppprrrrooooaaaacccchhhh iiiinnnnsssstttteeeeaaaadddd ooooffff mmmmaaaakkkkiiiinnnngggg tttthhhheeee aaaapppppppprrrrooooaaaacccchhhh ffffiiiitttt tttthhhheeee ppppeeeeoooopppplllleeee.... ” SEA Group Less formal and much more ambiguous than existing ALs
  • 15. OVERALL 15 Type of spec. Language SEA Group Box and Line Formal UML 1990 2000 today
  • 16. SEA Group Pro: .formal semantics .computable Cons: .difficult to learn .general lack of industrial tools .prolifetarion Pro: .not too difficult .same notation for SA and design modeling Cons: .not a 100% fit .tool investment Pro: .of immediate use .perfect for sketching .communicative Cons: .Ambiguous .non automated 16
  • 17. TODAY SEA Group AL Name AADL ABC/ADL ACME ADAGE ADLARS ADML AESOP ArchJava ArchWare ArchiTRIO ARTECH C2 C2 AML C2 SADEL CommUnity DAOP ADL DARWIN DICAM EAST ADL EXPRESSION GEN VOCA HMDES ISDL JACAL KOALA LILEANNA AL Name LISA LITTLE JIL MAE MADL MAFIIA MAUDE M(énage / xADL META H MIMOLA MODE CHART PALANTIR PRISMA RADL RAPIDE RESOLVE SADL SATURN SKWYRL UDL/i UNICON WEAVES WRIGHT WSDL xArch / xAcme xArch / xADL xC2 100+ ALs (better to say, languages that consider themselves to be ALs)
  • 18. 100+ ALS 18 http://www.di.univaq.it/malavolta/al/ SEA Group
  • 19. WHY SO MANY ALS? TTTThhhheeeerrrreeee aaaarrrreeee mmmmaaaannnnyyyy rrrreeeeaaaassssoooonnnnssss ffffoooorrrr hhhhaaaavvvviiiinnnngggg mmmmaaaannnnyyyy AAAALLLLssss: Different ALs for different “stakeholder concerns” SEA Group Different Domains Different Analysis Different Viewpoints Some of them are really similar, with just small semantic or syntactic differences Many are just prototipal languages, research-specific
  • 20. ISSUES (1/2) PPPPrrrroooolllliiiiffffeeeerrrraaaattttiiiioooonnnn ooooffff llllaaaannnngggguuuuaaaaggggeeeessss ffffoooorrrr ((((SSSSAAAA)))) ddddeeeessssccccrrrriiiippppttttiiiioooonnnn without a clear understanding of their merits and limitations. TTTTeeeennnnssss ooooffff AAAALLLLssss,,,, cccchhhhaaaarrrraaaacccctttteeeerrrriiiizzzzeeeedddd bbbbyyyy sssslllliiiigggghhhhttttllllyyyy ddddiiiiffffffffeeeerrrreeeennnntttt ccccoooonnnncccceeeeppppttttuuuuaaaallll aaaarrrrcccchhhhiiiitttteeeeccccttttuuuurrrraaaallll eeeelllleeeemmmmeeeennnnttttssss,,,, ddddiiiiffffffffeeeerrrreeeennnntttt ssssyyyynnnnttttaaaaxxxx,,,, oooorrrr sssseeeemmmmaaaannnnttttiiiiccccssss.... Focussing on a generic or a specific operational domain SSSSoooommmmeeee ssssuuuuppppppppoooorrrrtttt aaaauuuuttttoooommmmaaaatttteeeedddd aaaannnnaaaallllyyyyssssiiiissss,,,, ssssoooommmmeeee ooootttthhhheeeerrrrssss ddddoooo nnnnooootttt 20 SEA Group
  • 21. ISSUES (2/2) AAAAnnnn IIIIDDDDEEEEAAAALLLL aaaannnndddd ggggeeeennnneeeerrrraaaallll ppppuuuurrrrppppoooosssseeee AAAALLLL iiiissss NNNNOOOOTTTT lllliiiikkkkeeeellllyyyy ttttoooo eeeexxxxiiiisssstttt SSSSttttaaaakkkkeeeehhhhoooollllddddeeeerrrr ccccoooonnnncccceeeerrrrnnnnssss are various, ever evolving, and adapting to changing system requirements. [ISO/IEC/IEEE 42010] Difficult to capture all such concerns with a single, narrowly focused notation. 21 Architectural languages must be able to focus on “what is needed” by the stakeholders involved in the SEA Group architecting process.
  • 23. ADL/Tool Support Mainly for Analysis Strongly oriented to Architectural Styles Supports code generation and architectural programming Oriented to dynamic architectures via FSP AADL/OSATE ACME/AcmeStudio AcmeArchJava DARWIN/SAA Supports for model checking SEA Group SA Representationa and Implementatino of PLAs Support to Aspect Oriented and Component Based development XML Schemas-based extensibility EAST-ADL/AutoFocus2 xADL/Ménage-Palantir Prisma/PrismaCase xADL/ArchStudio
  • 24. A Look to Some of them Darwin FSP SEA Group → Imperial College London, J. Kramer J. Magee Koala → Philips Research ACME → Carnegie-Mellon, D. Garlan Rapide → Stanford, D. Luckham xArch/xADL → University of California, Irvine
  • 25. Darwin/FSP SEA Group [Darwin], [DarwinWeb] range N = 0..1 range K = 0..1 range Sent = 0..1 a) /**UserProcess*/ USER_ALARM= (sendAlarm_To_Router - receiveAck_From_Router - USER_ALARM). USER_CHECK = (sendCheck_To_Router - USER_CHECK). b) ||USER = (USER_ALARM||USER_CHECK). /**RouterProcess*/ ROUTER_RECEIVEALARM = (receiveAlarm_From_User - sendAlarm_To_Server - receiveAck_From_Server - sendAck_To_User - ROUTER_RECEIVEALARM). ROUTER_RECEIVECHECK = (receiveCheck_From_User - (sendInput_To_Timer - ROUTER_RECEIVECHECK|pre_receiveCheck - ROUTER_RECEIVECHECK)). c) ROUTER_RECEIVETIME = (receiveTime_From_Timer -(sendNoFunc_To_Server - ROUTER_RECEIVETIME|pre_receiveTime- ROUTER_RECEIVETIME)). ||ROUTER = ([0..1]:ROUTER_RECEIVEALARM||[0..1]:ROUTER_RECEIVECHECK|| ROUTER_RECEIVETIME). ... d) /**System*/ ||ALL_PROCESSES=(u[0..1]:USER||r:ROUTER||sa[0..1]:SERVER||t:TIMER)/ { u[0].sendAlarm_To_Router/r.[0].receiveAlarm_From_User, e) u[1].sendAlarm_To_Router/r.[1].receiveAlarm_From_User, ... For distributed sytems
  • 26. Darwin Darwin is a language for describing software structures, i.e., network topologies. Model distributed systems Model dynamic systems It possesses both a textual and graphical notation SEA Group [Darwin], [DarwinWeb]
  • 27. Darwin Example [Darwin] SEA Group component filter{ provide outputstream char; require inputstream char; }; component pipeline(int n){ provide output; require input; array F[n]: filter; forall k:0..n-1{ inst F[k] @ k+1; when k n-1 bind F[k+1].input -- F[k].output; } bind F[0].input -- input; output -- F[n-1].output; } } H2
  • 28. Diapositiva 27 H2 The Example description is specified in the paper Specifying Distributed Software Architectures, [Darwin] Henry_2; 10/10/2011
  • 30. Diapositiva 28 h12 Take a look to the printed document [SAA] hank72; 18/09/2002
  • 31. Chat in Darwin Main differences: There are not rules on how components and connectors need to be put together Different interfaces for different messages User 1 ok/no chat chat register chat Chat Client Chat Client Chat Client Chat Client Chat Client SEA Group User 2 User 3 Chat Log Chat Room Chat Room User 4 Reg. Dbase run run run register check save
  • 32. FSP [FSP, FSPWeb] The Finite State Process (FSP) is a specification language which provides a concise way of describing Labeled Transition Systems (LTSs). SEA Group →Each FSP expression can be mapped onto a finite LTS and vice versa The FSP specification is based on the definition of processes, whose behavior is modeled by LTSs; →each process instance implements an architectural component; →several processes can be combined (with a parallel composition operator) to describe the interaction between different processes. The LTSA tool automatically generates the LTS associated to the FSP specification
  • 33. An example range N = 0..1 range K = 0..1 range Sent = 0..1 /**UserProcess*/ USER_ALARM= (sendAlarm_To_Router - receiveAck_From_Router - USER_ALARM). USER_CHECK = (sendCheck_To_Router - USER_CHECK). ||USER = (USER_ALARM||USER_CHECK). /**RouterProcess*/ ROUTER_RECEIVEALARM = (receiveAlarm_From_User - sendAlarm_To_Server - receiveAck_From_Server - sendAck_To_User - ROUTER_RECEIVEALARM). ROUTER_RECEIVECHECK = (receiveCheck_From_User - (sendInput_To_Timer - ROUTER_RECEIVECHECK|pre_receiveCheck - ROUTER_RECEIVECHECK)). ROUTER_RECEIVETIME = (receiveTime_From_Timer -(sendNoFunc_To_Server - ROUTER_RECEIVETIME|pre_receiveTime- ROUTER_RECEIVETIME)). ||ROUTER = ([0..1]:ROUTER_RECEIVEALARM||[0..1]:ROUTER_RECEIVECHECK|| ROUTER_RECEIVETIME). ... /**System*/ ||ALL_PROCESSES=(u[0..1]:USER||r:ROUTER||sa[0..1]:SERVER||t:TIMER)/ { u[0].sendAlarm_To_Router/r.[0].receiveAlarm_From_User, u[1].sendAlarm_To_Router/r.[1].receiveAlarm_From_User, ... SEA Group a) b) c) d) e)
  • 35. Koala [KoalaWeb][Koala] Koala (Ommering, 2004) is an ADL specially designed for modeling embedded software for consumer electronics. It inherits from Darwin the main concepts and ideals, even though it is more oriented to notations and concepts commonly used in consumer electronics products. Koala allows to specify hierarchical architectures, it makes a distinction between component types and instances, it allows to construct configurations by instantiating components and connectors and explicitly models optional interfaces. SEA Group
  • 36. A graphical view of Koala SEA Group For product lines
  • 37. AcmeStudio ACME tool SEA Group For modeling styles
  • 38. SEA Group Rapide [Rapide, RapideWeb] Rapide is an event-based ADL For formal verification →component behavior and interconnection represented by ─ explicit event sequences. Events are the method of communication ─ event sequencing constraints →Events organized in POSETs (Partially Ordered SETs) →Specified systems can be simulated by Rapide toolset →Simulations can be visualized in a graph format
  • 39. POSETs Consider events that a person might emit at a gas station: SEA Group → Pull up → Leave → Use Credit Card Machine → Wash Windows → Pump Gas Credit Card Pump Gas What are the orderings between these events? Pull Up Leave Wash Credit Card Wash Pump Gas Credit Card Pump Gas
  • 40. The Result h13 SEA Group
  • 41. Diapositiva 38 h13 This example comes from http://pavg.stanford.edu/rapide/examples/teaching/gas_station/ that is linked in [RapideWeb] hank72; 12/10/2002
  • 42. The Result Could this be a problem? Ability to specify Constraints (patterns that should or should not happen) are important in finding these issues. SEA Group
  • 43. xArch/xADL 2.0 [xADL_Wicsa01] For extensibility xArch is an XML-based representation for building ADLs. It consists of a core of basic architectural elements, defined in an XML schema called the “instances” schema. The xArch instances schema provides definitions for the following elements typically found in an ADL: SEA Group •Component, connector, interface, and link instances; •Subarchitectures, for specifying hierarchically composed component and connector instances; and •Groups, allowing the combination of basic elements
  • 44. xArch XML Schema Open the XMLinstance.html file SEA Group
  • 46. AADL Part of the material on AADL comes from www.aadl.info and from Dr. Peter Feiler. Notation for specification of runtime architecture of real-time, embedded, fault-tolerant, secure, safety-critical, SEA Group software-intensive systems Fields of application: Avionics, Aerospace, Automotive, Autonomous systems, Medical devices Based on 15 years of research industry input Standard approved published Nov 2004 www.aadl.info
  • 47. High level description of AADL Developed and standardized under the auspices of the International Society of Automotive Engineers (SAE) Support the design and analysis of complex real-time safety-critical systems in avionics, automotive, space, … AADL provides a formal mechanism to capture the architecture specification SEA Group ─ AADL - mathematical analysis of real-time embedded, multiprocessor, safety critical, fault tolerant systems (hardware and software) AADL is precise but abstract, incremental, system of systems, extendable
  • 48. Model-based Assurance SEA Group Predictive Analysis Across Perspectives Security Intrusion Integrity Confidentiality Availability Reliability MTBF FMEA Hazard analysis Real-time Performance Execution time/ Deadline Deadlock/starvation Latency Resource Consumption Bandwidth CPU time Power consumption Data Quality Data precision/ accuracy Temporal correctness Confidence Architecture Model Reduced model validation cost due to single source model
  • 49. SEA Group Model-Based Embedded System Engineering Execution Platform Electronic . . . . . . . . . . Document the Architecture Abstract, but Precise Navigation System Airbag Parking Deployment Assistance Emission Management Cruise Control Antilock Braking System Application Software Fuel Injection System Analysis • Schedulability • Performance • Reliability • Fault Tolerance • Dynamic Configurability System Construction • AADL Runtime System • Application Software Integration External Environment
  • 50. SAE AADL Standard Embedded Systems Research Industrial SEA Group MetaH Honeywell DSSA RMA Lehoczky Klein SAE AADL Standard Nov 2004 Industry Industrial Standards Projects Industrial Initiatives Simplex Dependable Upgrade Sha GME VanderBilt MoBIES ACME Garlan EDCS HOOD STOOD MetaH Error Model Honeywell Automotive Unmanned Vehicles OSATE Toolset SEI AADL Meta Model XMI June 2006 AADL Error Annex Standard June 2006 AADL UML Profile Std 2007 Tools Aerospace Avionics Medical Automotive Avionics Aerospace Eclipse EMF MBE www.aadl.info
  • 51. Industrial Embedded Systems Initiatives SEA Group SAE AADL Standard Nov 2004 Automotive OSATE Toolset SEI AADL Meta Model XMI June 2006 AADL Error Annex Standard June 2006 Avionics Aerospace MBE EAST ADL AutoSAR US AVSI Avionics Consortium Analysis-based System Validation 8 partners $12+M 2007-2010 ITEA SPICES Model-Driven Embedded Systems Engineering 15 partners €16M 2006-2009 TOPCASED Open Source Embedded Systems Tool Framework 28 partners €20+M2005-2008 EC ASSERT Proof-based Satellite Architectures ESA + 30 partners €15M 2004-2007 IST ARTIST2 Embedded Systems Center of Excellence 2007-2011 OpenGroup Real-Time Forum EU + US partners
  • 52. Two-Tier Tool Strategy Based on AADL XMI interchange format standard Open Source Tool Solution SEA Group ─ Low entry cost solution based on Eclipse Eclipse Modeling Framework ─ SEI Open Source AADL Tool Environment (OSATE) integrated with open source Airbus TOPCASED tools ─ Vehicle for pilot projects, in-house prototyping, and architecture research Commercial Tool Support ─ Addition of AADL to existing commercial environment (ElliDiss) ─ Interface with in-house commercial tools (Dassault, Airbus, Rockwell, Honeywell) ─ UML tool environment extension integration (Telelogic, Rational, Artisan, MARTE)
  • 53. AADL: The Language Precise execution semantics for components interactions SEA Group ─ Thread, process, data, subprogram, system, processor, memory, bus, device, abstract component, virtual processor, virtual bus Continuous signal processing stochastic event processing ─ Data, event, message communication, unqueued queued ─ Synchronous call/return, Shared data access ─ End-to-End flow specifications Modeling of large-scale configurable systems ─ Component variants, packaging of component classifiers, layered systems, parameterized templates, component arrays Accommodation of diverse analysis needs ─ User-defined properties, sublanguage extensions AADL V2
  • 54. Application Components System: hierarchical organization of components Process: protected virtual address space Thread group: organization of threads in processes Thread: an active unit of concurrent execution Data: potentially sharable data Subprogram: Callable unit of sequential code SEA Group
  • 55. In general As a matter of fact, a Software Architect needs to use different ADLs or UML profiles to model different aspects of his system SEA Group →As analyzed in many papers, it is impractical to think about a universal ADL covering all the different users’ concerns →We will see our solution (DUALLY) in L17 and L18
  • 56. Textual Implementation of the “process”component SEA Group Type.name Name: element
  • 57. Why So Many ADLs? There are many reasons for having many ADLs: SEA Group →Different ADLs for different “stakeholder concerns” ─ Different Domains ─ Different Analysis ─ Different Viewpoints →Some of them are really similar, with just small semantic or syntactic differences →Many are just prototipal languages research specific
  • 58. SEA Group Problems with Existing ADLs High degree of formality →making difficult their integration in industrial life-cycles Specialized semantic basis: →Different analysis require different ADLs →Impossible to construct an ADL which supports every kind of analysis Limited tool support Lack of lifecycle-wide support Very limited industry buy-in to date
  • 59. SEA Group A Compromise: UML UML is the de facto standard design notation of choice in industrial software development Understood by many industrial software developers Reasonably applicable to software architectures →UML can be adapted for use as an ADL, but ─ Less formal and much more ambiguous than existing ADLs ─ Mature design environments, but lack of powerful analysis tools Nowadays, many approaches to extend the UML for SA modeling
  • 60. What you shall have learned You get the precise idea on what an ADL is You get a precise idea on why there are many ADLs SEA Group
  • 61. SEA Group Specification and Formal Specification “Formal methods provide mathematically based techniques” that have the additional advantage of “being amenable to machine analysis and manipulation” [Wing90] A Formal specification is the expression, in some formal language and at some level of abstraction, of a collection of properties some system should satisfy [Lam00] A formal specification language consists of → syntax (the notation) → semantics (the specifiable objects) → satisfies relation (the semantics associated to the syntax) h9
  • 62. Diapositiva 58 h9 From [Meyer85] hank72; 10/04/2002
  • 63. Formal Specification: Why For avoiding: SEA Group » [In]Consistency 1. [In]Completeness 2. [Non] Minimality
  • 64. Types of Formal Specifications for SA modeling Structural specifications: SEA Group → Structural specifications describe topological constraints → Properties on the structure of the element in the specification Behavioral specification → Behavioral specifications describe constraints on behavior of the system → functional properties
  • 66. State Transition Specifications: the FSP Process Algebra range N = 0..1 range K = 0..1 range Sent = 0..1 /**UserProcess*/ USER_ALARM= (sendAlarm_To_Router - receiveAck_From_Router - USER_ALARM). USER_CHECK = (sendCheck_To_Router - USER_CHECK). ||USER = (USER_ALARM||USER_CHECK). /**RouterProcess*/ ROUTER_RECEIVEALARM = (receiveAlarm_From_User - sendAlarm_To_Server - receiveAck_From_Server - sendAck_To_User - ROUTER_RECEIVEALARM). ROUTER_RECEIVECHECK = (receiveCheck_From_User - (sendInput_To_Timer - ROUTER_RECEIVECHECK|pre_receiveCheck - ROUTER_RECEIVECHECK)). ROUTER_RECEIVETIME = (receiveTime_From_Timer -(sendNoFunc_To_Server - ROUTER_RECEIVETIME|pre_receiveTime- ROUTER_RECEIVETIME)). ||ROUTER = ([0..1]:ROUTER_RECEIVEALARM||[0..1]:ROUTER_RECEIVECHECK|| ROUTER_RECEIVETIME). ... /**System*/ ||ALL_PROCESSES=(u[0..1]:USER||r:ROUTER||sa[0..1]:SERVER||t:TIMER)/ { u[0].sendAlarm_To_Router/r.[0].receiveAlarm_From_User, u[1].sendAlarm_To_Router/r.[1].receiveAlarm_From_User, ... SEA Group a) b) c) d) e)