architecture description languages adls n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Architecture Description Languages (ADLs) PowerPoint Presentation
Download Presentation
Architecture Description Languages (ADLs)

Loading in 2 Seconds...

play fullscreen
1 / 50

Architecture Description Languages (ADLs) - PowerPoint PPT Presentation


  • 165 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Architecture Description Languages (ADLs)' - herbst


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
a brief history of 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
  • Each provided modeling capabilities geared at software design
    • Though not necessarily architecture!
  • They saw varying degrees of adoption and use
so what was the answer
So, What Was the Answer?
  • An ADL is a language that provides features for modeling a software system’s conceptualarchitecture, distinguished from the system’s implementation.
  • An ADL must support the building blocks of an architectural description
    • Components
      • Interfaces
    • Connectors
    • Configurations
what happened to the adls
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…
examples on adl
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
what does did an adl description look like
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) => Results(?M);;

end Application;

classifying adls
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
slide15
Brilliant!

So, what went wrong?

remember this

Business

Domain

Technology

Remember This?

Software

Architecture

where 1g adls lived

Business

Domain

Technology

Where “1G” ADLs Lived…

Software

Architecture

so a deeper reason
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
how do we define an adl then
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.
2g adls
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
uml 2 0
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
uml 2 0 under the lampposts
UML 2.0 Under the Lampposts

Software

Architecture

uml 2 0 under the lampposts1

Domain

Technology

UML 2.0 Under the Lampposts

Software

Architecture

uml 2 0 under the lampposts2

Technology

UML 2.0 Under the Lampposts

Software

Architecture

Business

uml 2 0 under the lampposts3

Business

Technology

UML 2.0 Under the Lampposts

Software

Architecture

Business

Domain

slide29
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
aadl in action
AADL in Action

system implementation sensor_type.temperature

subcomponents

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;

aadl under the lampposts
AADL Under the Lampposts

Software

Architecture

aadl under the lampposts1

Domain

Technology

AADL Under the Lampposts

Software

Architecture

aadl under the lampposts2

Domain

Technology

AADL Under the Lampposts

Software

Architecture

aadl under the lampposts3

Business

Domain

Technology

AADL Under the Lampposts

Software

Architecture

Business

koala
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
koala under the lampposts
Koala Under the Lampposts

Software

Architecture

koala under the lampposts1

Domain

Koala Under the Lampposts

Software

Architecture

Technology

koala under the lampposts2

Business

Koala Under the Lampposts

Software

Architecture

Technology

koala under the lampposts3

Business

Domain

Koala Under the Lampposts

Software

Architecture

Technology

xadl 2 0
xADL 2.0
  • Developed at UC Irvine
    • In use at Boeing
  • XML substrate
  • Both graphical and textual
  • Primary focus – extensibility
xadl 2 0 in action1
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>

xadl 2 0 under the lampposts
xADL 2.0 Under the Lampposts

Software

Architecture

xadl 2 0 under the lampposts1

Domain

Technology

xADL 2.0 Under the Lampposts

Software

Architecture

xadl 2 0 under the lampposts2

Business

Technology

xADL 2.0 Under the Lampposts

Software

Architecture

xadl 2 0 under the lampposts3

Business

Technology

xADL 2.0 Under the Lampposts

Software

Architecture

Domain

2g adls side by side
2G ADLs Side-by-Side

UML 2.0

AADL

Koala

xADL 2.0

some observations
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