Top Banner
{ A Survey of Architecture Description Language Summary by Claire Dimech
35
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Presentation

{

A Survey of Architecture Description Language

Summary by Claire Dimech

Page 2: Presentation

How would you define an Architecture Description Language (ADL)? Architecture Description Languages (ADLs) are

formal languages that can be used to represent the architecture of a software-intensive system

How would you define an architecture? The components that comprise a system; The behavioural specifications for those

components; The patterns and mechanisms for interactions

among them.

Page 3: Presentation

What are the main differences between ADL and requirements?

In principle…

… Requirements describe problem spaces, while… ADL are rooted in the solution space.

In practice…

… Requirements are often divided into behavioural chunks for ease of presentation, … Languages such as ADLs are more suited to represent architectural components.

Page 4: Presentation

What are the main differences between ADL and programming languages?

In principle…

… Programming languages bind all architectural abstractions to specific point solutions, while… ADLs intentionally suppress or vary such binding.

In practice…

… Architecture is embodied and recoverable from code, while… Languages provide architecture-level views of the system.

Page 5: Presentation

What are the main differences between ADL and modelling languages?

In principle…

… Modelling languages are more concerned with the behaviours of the sholw rather than of the parts, while… ADLs concentrate on representation of components.

In practice…

… Many modelling languages allow the representation of cooperating components and can represent architectures reasonably well.

Page 6: Presentation

Which leads to the question…

Why do we study ADLs when modelling languages, such as UML, “can represent architectures quite well”?

Page 7: Presentation

Properties that ADLs should exhibit:

[Shaw] Ability to represent

components Ability to represent

connectors Abstraction and

encapsulation Types and Type-

checking Ability to accommodate

analysis tools openly

[Luckham] Component abstraction Communication

abstraction Communication integrity Ability to model dynamic

architectures Ability to reason about

causality and time Hierarchical refinement

support Relativity, the mapping of

behaviours to architecture

What are the commonalities between the two lists?

Page 8: Presentation

Do you think that researchers are re-inventing the wheel of

ADLs?

Page 9: Presentation

Why do you think ADLs still lack industrial applicability?

Page 10: Presentation

{

A Classification and Comparison Framework for Software Architecture Description Languages

Summary by Claire Dimech

Page 11: Presentation

Two aspects of ADL:

1. To aid understanding and communication about a software system

2. To provide formal syntax and semantics of ADLs, powerful analysis tools and runtime support tools.

Researchers have generally adopted one or another…

Page 12: Presentation

{

Tracz defines an ADL as consisting of four “C”s: components, connectors, configurations and constraints.

Medvidovic and colleagues argue that it is vital to model architectures at four levels of abstraction: internal component semantics, component interfaces, component interconnections in an architecture, and architectural style rules.

We have seen Luckham and Shaw in the previous paper…

Given that there is NO standard definition of what properties an ADL should exhibit, do you think ADL interchange is possible?

If you had to define a consensus of an ADL, what would that be?

Page 13: Presentation

Different types of ADLs:Implementation Independent Wright and Rapide:

Model components and connectors at a high level of abstraction;

Do not assume or prescribe a particular relationship between an architectural description and an implementation.

Implementation Constraining Weaves UniCon MetaH

Require a much higher degree of fidelity of an architecture to its implementations.

Components are directly related to their implementationsWhat do you think is the most successful

ADL? Implementation Independent or Constraining?

Page 14: Presentation

Examples of formal specification theories:

1. Statecharts: partially-ordered event sets;

2. CSP: communicating sequential processes;

3. CHAM: Chemical Abstract Machine;

4. Z-Notation;5. Algebraic formalisms (ex. Obj);6. Axiomatic formalisms (ex. Anna)

Page 15: Presentation

{Here, the paper states that:“Although UML may provide modeling power equivalent to or suprassing that of an ADL, the abstractions it provides will not match an architect’s mental model of the system”.

So previously we discussed ADL vs. Modelling Languages, especially UML…

Page 16: Presentation

{Comparing Statecharts & ADLs

States -> componentsTransitions -> connectorsInterconnections -> configurations

Statecharts is a modeling formalism based on finite state machines (FSM) that provides a state encapsulation construct, support for concurrency, and broadcast communication.

Page 17: Presentation

Do you think Statechart is an ADL?

Statechart is NOT an ADL!

Page 18: Presentation

ACME, Aesop, CS, Darwin, SADL, UniCon and Wright -> components;

Rapide -> interfaces; Weaves -> tool fragments; MetaH -> processes.

---> Differ in the Terminology!

Each ADL models components

Different ADLs focus on different application domains, architectural styles, or aspects of the architectures theymodel.

Page 19: Presentation

{UniCon

PLAYER input IS StreamInMAXASSOCS (1)MINASSOCS(1)SIGNATURE (“line”)PORTBINDING (stdin)

END input

Explanation: The constraint that the input player of StreamIn type is bound to standard input and participates in exactly one association in a given architecture.

Page 20: Presentation

{Wright

port DataRead = get DataRead ☐ ✓

Explanation: Interaction protocol for a component port. : event transition✓ : successfully terminating process ☐ : deterministic choice

Page 21: Presentation

{SADL

Local_client : TYPE = {c:Client | Local(c)}

Explanation: Local_client is a subtype of Client such that all of its instance satisfy the predicate Local.

Page 22: Presentation

Do you think an ADL is capable of specifying non-functional component requirements?

ACME, Aesop and Weaves lack support.

MetaH and UniCon provide more support for modelling non-functional properties.

Page 23: Presentation

ACME, Aesop, C2, SADL, UniCon and Wright -> connectors;

Rapide and MetaH-> connections; Weaves -> transport services; Darwin -> bindings.

---> Differ in the Terminology!

ADLs that model connectors

Page 24: Presentation

{Example of connector in UniCon

ROLE output IS SourceMAXCONNS(1)

END input

Explanation: Belongs to the Pipe connector type and is constrained to be connected to at most a single player.

Page 25: Presentation

What about Non-Functional Connector

Properties? UniCon is the only ADL that supports explicit specification of non-functional connector properties.

Page 26: Presentation

In-line configuration ADLs (ex. Rapide) tend to be encumbered with connector details.

Explicit configuration ADLs (ex. Wright) have the best potential to facilitate understandability of architectural structure.

ADLs that model configurations

Page 27: Presentation

In-line configuration ADLs (ex. Rapide) tend to be encumbered with connector details.

Explicit configuration ADLs (ex. Wright) have the best potential to facilitate understandability of architectural structure.

Configurations are used to facilitate communication among different

stakeholders with different level of technical expertise.

Page 28: Presentation

Aesop and Darwin C++; MetaH Ada; Unicon C; C2 C++, Ada and Java; Weaves C, C++, Objective C and Fortran.

ADLs support development in the following programming

languages:

Page 29: Presentation

{An existing architecture is scaled up: (a) by adding new components/connectors to its interior and (b) by expanding it “outward”.

Scaling an Architecture

Can you name any disadvantages between the two different scaling approaches?

C2’s graphical notation

Page 30: Presentation

What are the two different perspectives of evolvability of architectural configuration?

Evolvability

The ability to accommodate addition of new components (as shown in the previous slide).

An ADL’s tolerance and/or support for incomplete architectural descriptions.

Page 31: Presentation

What is Architecture Tradeoff Analysis Method (ATAM)? - A comprehensive way to evaluate a software architecture;

- Reveals how well an architecture satisfies particular quality goals;

- Provides insight into how quality goals interact.

Page 32: Presentation

ATAM requires participation and

mutual cooperation of 3 groups:

1. The evaluation team – an external group to the project.

2. Project decision makers – are empowered to speak for the development project or have to mandate changes to it.

3. Architecture stakeholders.

Page 33: Presentation

Outputs of the ATAM- A concise presentation of the architecture;

- Articulation of the business goals;

- Quality requirements in terms of a collection of scenarios;

- Mapping of architectural decisions to quality requirements;

- A set of identified sensitivity and tradeoff points;

- A set of risks and non risks;- A set of risk themes.

Page 34: Presentation

Phases of the ATAM

Phase

Activity Participants Typical Duration

0 Partnership and

Preparation

Evaluation team leadership and key

project decision makers

Proceeds informally as

required, perhaps over a

few weeks.

1 Evaluation Evaluation team and project decision

makers

1 day followed by a hiatus of 2 to 3

weeks

2 Evaluation (continued)

Evaluation team, project decision

makers and stakeholders

2 days

3 Follow-up Evaluation team and evaluation client

1 week

Page 35: Presentation

Thank you for you attention