Architecture Description Languages (ADLs) - PowerPoint PPT Presentation

1 / 50
About This Presentation
Title:

Architecture Description Languages (ADLs)

Description:

... Koala Developed at Philips In collaboration with Imperial College London Used in the consumer electronics domain Both graphical ... for Avionics ADL ... – PowerPoint PPT presentation

Number of Views:298
Avg rating:3.0/5.0
Slides: 51
Provided by: csew6
Category:

less

Transcript and Presenter's Notes

Title: Architecture Description Languages (ADLs)


1
Architecture Description Languages (ADLs)
2
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

3
  • What is an ADL?

4
So, What Was the Answer?
  • An ADL is a language that provides features for
    modeling a software systems conceptual
    architecture, distinguished from the systems
    implementation.
  • An ADL must support the building blocks of an
    architectural description
  • Components
  • Interfaces
  • Connectors
  • Configurations

5
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

6
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

7
What Does/Did an ADL Description Look Like?
  • A Rapide component

type Application is interface extern action
Request(p params) public action Results(p
params) behavior (?M in String) Receive(?M) gt
Results(?M) end Application
8
What Does/Did an ADL Description Look Like?
  • A Wright connector

9
What Does/Did an ADL Description Look Like?
  • An Acme architecture

10
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

11
(No Transcript)
12
(No Transcript)
13
(No Transcript)
14
(No Transcript)
15
  • Brilliant!
  • So, what went wrong?

16
Remember This?
Software Architecture
17
Where 1G ADLs Lived
Software Architecture
18
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

19
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 systems architecture.
  • Architectural modeling is the effort to capture
    and document the design decisions that make up a
    systems architecture.
  • An architecture description language is a
    notation in which architecture models can be
    expressed.

20
2G ADLs
  • Only 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

21
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

22
UML 2.0 in Action
23
UML 2.0 in Action
24
UML 2.0 in Action
25
UML 2.0 Under the Lampposts
Software Architecture
26
UML 2.0 Under the Lampposts
Software Architecture
27
UML 2.0 Under the Lampposts
Software Architecture
Business
28
UML 2.0 Under the Lampposts
Software Architecture
Business
Domain
29
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

30
AADL in Action
system implementation sensor_type.temperature subc
omponents the_sensor_processor
processor sensor_processor_type
the_sensor_process process
sensor_process_type.one_thread connections
bus access network -gt the_sensor_processor.networ
k event data port sensed -gt
the_sensor_process.sensed event data
port control -gt the_sensor_process.
control properties Actual_Processor_Bindin
g gt reference the_sensor_processor
applies to the_sensor_process end
sensor_type.temperature
31
AADL Under the Lampposts
Software Architecture
32
AADL Under the Lampposts
Software Architecture
33
AADL Under the Lampposts
Software Architecture
34
AADL Under the Lampposts
Software Architecture
Business
35
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

36
Koala in Action
37
Koala in Action
38
Koala Under the Lampposts
Software Architecture
39
Koala Under the Lampposts
Software Architecture
Technology
40
Koala Under the Lampposts
Software Architecture
Technology
41
Koala Under the Lampposts
Software Architecture
Technology
42
xADL 2.0
  • Developed at UC Irvine
  • In use at Boeing
  • XML substrate
  • Both graphical and textual
  • Primary focus extensibility

43
xADL 2.0 in Action
44
xADL 2.0 in Action
ltcomponent id"dbComp"gt ltdescriptiongtDatabaselt
/descriptiongt ltinterface id"sql-in"gt
ltdescriptiongtSQLlt/descriptiongt
ltdirectiongtinlt/directiongt lt/interfacegt
ltdatasourcegt ltvendorgtOracle
Corp.lt/vendorgt ltlocationgtdb.example.com12
34/db1lt/locationgt ltusernamegtwebUserlt/usern
amegt ltpasswordgtsecretlt/passwordgt
lt/datasourcegt lt/componentgt
45
xADL 2.0 Under the Lampposts
Software Architecture
46
xADL 2.0 Under the Lampposts
Software Architecture
47
xADL 2.0 Under the Lampposts
Software Architecture
48
xADL 2.0 Under the Lampposts
Software Architecture
Domain
49
2G ADLs Side-by-Side
UML 2.0
AADL
Koala
xADL 2.0
50
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
Write a Comment
User Comments (0)
About PowerShow.com