architecture description languages (adls)
DESCRIPTION
Architecture Description Languages (ADLs). A Brief History of ADLs. Software architecture emerged as a research discipline in the early 1990s Soon thereafter, many notations were either invented, recast, and/or argued for as architecture description languages - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/1.jpg)
Architecture Description Languages (ADLs)
![Page 2: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/2.jpg)
A Brief History of ADLs
Software architecture emerged as a research discipline in the early 1990s
Soon thereafter, many notations were either invented, recast, and/or argued for as architecture description languages
Each provided modeling capabilities geared at software design– Though not necessarily architecture!
They saw varying degrees of adoption and use
![Page 3: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/3.jpg)
What is an ADL?
![Page 4: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/4.jpg)
So, What Was the Answer?
An ADL is a language that provides features for modeling a software system’s conceptual architecture, distinguished from the system’s implementation.
An ADL must support the building blocks of an architectural description – Components
• Interfaces
– Connectors– Configurations
![Page 5: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/5.jpg)
What Happened to the ADLs?
Some of the obvious reasons:– Often targeted at research environments– Awkward syntax and/or semantics– Modeling rigidity– Limited and idiosyncratic analysis support– Inadequate tool support– UML
• Video killed the radio star…
![Page 6: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/6.jpg)
Examples on ADL
Early generations:– Darwin, Rapide, Wright
Domain and style specific ADLs:– Koala, AADL
Extensible ADLs:– Acme, ADML (an XML based ADL; syntax
derived from Acme), xADL
![Page 7: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/7.jpg)
What Does/Did an ADL Description Look Like?
type Application is interface
extern action Request(p : params);
public action Results(p : params);
behavior
(?M in String) Receive(?M) => Results(?M);;
end Application;
A Rapide component
![Page 8: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/8.jpg)
A Wright connector
What Does/Did an ADL Description Look Like?
![Page 9: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/9.jpg)
RPC
System simple_cs = {Component client = {Port send-request}Component server = {Port receive-request}Connector rpc = {Roles {caller, callee}}Attachments : {
client.send-request to rpc.caller;server.receive-request to rpc.callee
}}
Client Server
An Acme architecture
What Does/Did an ADL Description Look Like?
![Page 10: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/10.jpg)
Classifying ADLs Essential features
– Components– Connectors– Interfaces– Configurations
Desirable features– Specific aspects of components, connectors, and
configurations– Tool support
Approaches to modeling configurations– Implicit configuration– Explicit configuration
Approaches to associating architecture with implementation– Implementation constraining– Implementation independent
![Page 11: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/11.jpg)
ACME
Aesop
C2
Darwin
MetaH
Rapide
SADL
UniCon
Weaves
Ev
olu
tio
n
Co
ns
tra
ints
Se
ma
nti
cs
Typ
es
Inte
rfa
ce
Com
pone
nts
Wright
No
n-F
un
ct.
Pro
pe
rtie
s
![Page 12: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/12.jpg)
ACME
Aesop
C2
Darwin
MetaH
Rapide
SADL
UniCon
Weaves
Ev
olu
tio
n
Co
ns
trai
nts
Se
ma
nti
cs
Typ
es
Inte
rfac
e
Con
nect
ors
Wright
No
n-F
un
ct.
Pro
pe
rtie
s
![Page 13: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/13.jpg)
ACME
Aesop
C2
Darwin
MetaH
Rapide
SADL
UniCon
Weaves
Ref
ine
men
t &
Co
ns
tra
ints
He
tero
ge
ne
ity
Co
mp
os
itio
na
lity
Un
de
rsta
nd
ab
ilit
y
Sca
lab
ilit
y
Ev
olu
tio
n
Dyn
am
ism
Tra
cea
bili
ty
Con
figu
ratio
ns
Wright
No
n-F
un
ct.
Pro
pe
rtie
s
![Page 14: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/14.jpg)
ACME
Aesop
C2
Darwin
MetaH
Rapide
SADL
UniCon
WeavesD
yn
am
ism
Co
de
Re
fin
em
en
t
An
aly
sis
Mu
ltip
le
Ac
tive
Sp
ec
ific
ati
on
Vie
ws
Ge
ne
rati
on
Tool
Sup
port
Wright
![Page 15: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/15.jpg)
Brilliant!
So, what went wrong?
![Page 16: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/16.jpg)
Remember This?
Technology
Software
Archite
cture
Domain Business
![Page 17: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/17.jpg)
Where “1G” ADLs Lived…
Technology
Software
Archite
cture
Domain Business
![Page 18: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/18.jpg)
So, a Deeper Reason
1G ADLs focused exclusively on technology– So did our study
The broader context was completely missing– Relation to system requirements– Constraints imposed by implementation platforms– Characteristics of application domains– Organizational structure and politics– Business model– Position in the marketplace– …
![Page 19: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/19.jpg)
How Do We Define an ADL Then?
An architectural model is an artifact or document that captures some or all of the design decisions that make up a system’s architecture.
Architectural modeling is the effort to capture and document the design decisions that make up a system’s architecture.
An architecture description language is a notation in which architecture models can be expressed.
![Page 20: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/20.jpg)
2G ADLsOnly a handful of 1G ADLs have “stuck
around”…– …but, boy, have they changed
They evolved into 2G ADLs– UML 2.0 UML 1.x– AADL MetaH– Koala Darwin Conic– xADL 2.0 xADL 1.0 C2
All have strong technological foci– Yet they are very different from each other
![Page 21: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/21.jpg)
UML 2.0
De facto standard software design language– Developed by OMG
A “Swiss Army Knife” of notations
Has a number of architectural constructs
Ubiquitous
Primary focus – to conquer the world
![Page 22: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/22.jpg)
UML 2.0 in Action
![Page 23: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/23.jpg)
UML 2.0 in Action
![Page 24: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/24.jpg)
UML 2.0 in Action
![Page 25: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/25.jpg)
UML 2.0 Under the Lampposts
Software
Archite
cture
![Page 26: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/26.jpg)
UML 2.0 Under the Lampposts
Software
Archite
cture
Domain
Technology
![Page 27: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/27.jpg)
UML 2.0 Under the Lampposts
Software
Archite
cture
Technology
Business
![Page 28: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/28.jpg)
UML 2.0 Under the Lampposts
Software
Archite
cture
Technology
BusinessDomain Business
![Page 29: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/29.jpg)
AADL
Architecture Analysis and Design Language– Initially stood for “Avionics ADL”
Primarily textual
Very detailed– An AADL component runs on a processor, which
runs one or more processes, each of which contains one or more threads of control, all of which can receive instructions through in ports and send data through out ports over a bus…
Primary focus – embedded, real-time, hybrid systems
![Page 30: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/30.jpg)
AADL in Action
system implementation sensor_type.temperaturesubcomponents the_sensor_processor : processor sensor_processor_type; the_sensor_process : process sensor_process_type.one_thread;connections bus access network -> the_sensor_processor.network; event data port sensed -> the_sensor_process.sensed; event data port control -> the_sensor_process.control;properties Actual_Processor_Binding => reference the_sensor_processor applies to the_sensor_process;end sensor_type.temperature;
![Page 31: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/31.jpg)
AADL Under the Lampposts
Software
Archite
cture
![Page 32: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/32.jpg)
AADL Under the Lampposts
Software
Archite
cture
Domain
Technology
![Page 33: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/33.jpg)
AADL Under the Lampposts
Software
Archite
cture
Domain
Technology
![Page 34: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/34.jpg)
AADL Under the Lampposts
Software
Archite
cture
Domain
Technology
BusinessBusiness
![Page 35: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/35.jpg)
Koala
Developed at Philips– In collaboration with Imperial College London
Used in the consumer electronics domain
Both graphical and textual
Primary focus – management of product populations– Modeling– Analysis– Implementation generation– Deployment
![Page 36: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/36.jpg)
Koala in Action
![Page 37: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/37.jpg)
Koala in Action
![Page 38: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/38.jpg)
Koala Under the Lampposts
Software
Archite
cture
![Page 39: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/39.jpg)
Koala Under the Lampposts
Software
Archite
cture
Domain
Technology
![Page 40: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/40.jpg)
Koala Under the Lampposts
Software
Archite
cture
Technology
Business
![Page 41: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/41.jpg)
Koala Under the Lampposts
Software
Archite
cture
Domain
Technology
Business
![Page 42: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/42.jpg)
xADL 2.0
Developed at UC Irvine– In use at Boeing
XML substrate
Both graphical and textual
Primary focus – extensibility
![Page 43: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/43.jpg)
xADL 2.0 in Action
![Page 44: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/44.jpg)
xADL 2.0 in Action
<component id="dbComp"> <description>Database</description> <interface id="sql-in"> <description>SQL</description> <direction>in</direction> </interface> <datasource> <vendor>Oracle Corp.</vendor> <location>db.example.com:1234/db1</location> <username>webUser</username> <password>secret</password> </datasource></component>
![Page 45: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/45.jpg)
xADL 2.0 Under the Lampposts
Software
Archite
cture
![Page 46: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/46.jpg)
xADL 2.0 Under the Lampposts
Software
Archite
cture
Domain
Technology
![Page 47: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/47.jpg)
xADL 2.0 Under the Lampposts
Software
Archite
cture
Technology
Business
![Page 48: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/48.jpg)
xADL 2.0 Under the Lampposts
Software
Archite
cture
Technology
Domain Business
![Page 49: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/49.jpg)
Software
Archite
cture
DomainDomain
Technology
BusinessBusiness
Software
Archite
cture
TechnologyTechnology
Domain BusinessBusiness
2G ADLs Side-by-Side
Software
Archite
cture
DomainDomain
TechnologyTechnology
BusinessBusinessBusiness
Software
Archite
cture
TechnologyTechnology
BusinessBusinessDomain Business
UML 2.0 AADL
xADL 2.0Koala
![Page 50: Architecture Description Languages (ADLs)](https://reader035.vdocuments.site/reader035/viewer/2022082210/5681501f550346895dbe05bf/html5/thumbnails/50.jpg)
Some Observations
Architecture embraces many concerns
More mature and successful ADLs incorporate concerns from 3L
Multiple views are a must
No single set of modeling features is sufficient for every project
Extensibility is a key property of ADLs
Tools are often as important as notations