Presentation is loading. Please wait.

Presentation is loading. Please wait.

Architecture Description Languages (ADLs). A Brief History of ADLs  Software architecture emerged as a research discipline in the early 1990s  Soon.

Similar presentations


Presentation on theme: "Architecture Description Languages (ADLs). A Brief History of ADLs  Software architecture emerged as a research discipline in the early 1990s  Soon."— Presentation transcript:

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 WWhat is an ADL?

4 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

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? 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

8  A Wright connector What Does/Did an ADL Description Look Like?

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

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

12

13

14

15 Brilliant! So, what went wrong?

16 Remember This? Technology Software Architecture Domain Business

17 Where “1G” ADLs Lived… Technology Software Architecture Domain Business

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 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.

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

24

25 UML 2.0 Under the Lampposts Software Architecture

26 UML 2.0 Under the Lampposts Software Architecture Domain Technology

27 UML 2.0 Under the Lampposts Software Architecture Technology Business

28 UML 2.0 Under the Lampposts Software Architecture Technology Business Domain Business

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 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;

31 AADL Under the Lampposts Software Architecture

32 AADL Under the Lampposts Software Architecture Domain Technology

33 AADL Under the Lampposts Software Architecture Domain Technology

34 AADL Under the Lampposts Software Architecture Domain Technology 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

38 Koala Under the Lampposts Software Architecture

39 Koala Under the Lampposts Software Architecture Domain Technology

40 Koala Under the Lampposts Software Architecture Technology Business

41 Koala Under the Lampposts Software Architecture Domain Technology Business

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 Database SQL in Oracle Corp. db.example.com:1234/db1 webUser secret

45 xADL 2.0 Under the Lampposts Software Architecture

46 xADL 2.0 Under the Lampposts Software Architecture Domain Technology

47 xADL 2.0 Under the Lampposts Software Architecture Technology Business

48 xADL 2.0 Under the Lampposts Software Architecture Technology Domain Business

49 2G ADLs Side-by-Side UML 2.0 AADL xADL 2.0 Koala

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


Download ppt "Architecture Description Languages (ADLs). A Brief History of ADLs  Software architecture emerged as a research discipline in the early 1990s  Soon."

Similar presentations


Ads by Google