Top Banner
Using Aspects in Architectural Description Rich Hilliard [email protected] 13 March 2007 (The 10 minute remix)
13

Using Aspects in Architecture Description

Dec 18, 2014

Download

Technology

Rich Hilliard

 
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: Using Aspects in Architecture Description

Using Aspectsin Architectural Description

Rich [email protected]

13 March 2007

(The 10 minute remix)

Page 2: Using Aspects in Architecture Description

What the Viewer brings to the Viewed in the Viewing, yields the View.

— Douglas T. Ross

Creator of plex and SADT

(21 December 1929 – 31 January 2007)

Page 3: Using Aspects in Architecture Description

Questions

• Is the aspects metaphor of any use in the Architectural Description of software-intensive systems?

• How might this differ from its use in programming?

• Should aspects be supported with(in) existing architectural standards and practices?

Page 4: Using Aspects in Architecture Description

Architecting vs. Programming

• Architects routinely practice sophisticated separation of concerns

• Non-functional concerns prevail in architecting. (Functionality is easy)

• Current architecting practices are based on multiple viewpoints

∴ no dominant decomposition in a single language

• Is there a role for aspects in this setting?

Page 5: Using Aspects in Architecture Description

Context

• Focus on one portion of architectural practices: Architectural Description

• Using the conceptual framework of IEEE Std 1471 (2000), Recommended Practice for Architectural Description of Software-Intensive Systems

- Currently undergoing joint revision with ISO as ISO/IEC 42010

Page 6: Using Aspects in Architecture Description

IEEE 1471 Conceptual Framework

Mission

Environment System

1..*fulfills 1..*

inhabits

influences

Library Viewpoint

Rationale

Architecturehas an

Stakeholder

1..*has1..*

View

Model1..*

1..*

consists of1..*

participates in1..*

Concern

1..*

1..*

has 1..*

is important to 1..*

Architectural Description provides1

described by1

1..*identifies1..*

1..*organized by1..*

1..*

participates in

aggregates

1..*

1..*identifies

1..* Viewpoint

1..*

used to cover

1..*

conforms to

0..1has source

0..1

1..*establishes methods for

1..*

1..*is addressed to1..*

1..*

selects

1..*

Page 7: Using Aspects in Architecture Description

Architectural Models

• A view consists of one or more architectural models

• Architectural models are used to:

- facilitate the use of multiple notations (viewpoint languages) within a view

‣ e.g. Kruchten’s 4+1 Logical Viewpoint uses both UML class diagrams and component diagrams

- modularize architectural details which apply to more than one view

‣ a model may be shared among views

• Viewpoints establish what models may appear in associated view

Page 8: Using Aspects in Architecture Description

Using Aspects in AD

• Definition

- An architectural aspect is a shared architectural model addressing exactly one architectural concern

• Consequences of Definition

- architectural aspects cross-cut architectural views (and their models)

- an aspect is the finest-grained solution element expressible

Page 9: Using Aspects in Architecture Description

Further Consequences of the Definition

• There are two kinds of aspects: intra-view aspects (shared within a view) and cross-view aspects (shared among views)

• When a model is not shared (i.e, applies in only one place) it is not an aspect—just a constituent of a view

• Asymmetric: base remains the views and viewpoint languages

Page 10: Using Aspects in Architecture Description

Cartoon Example

Refers to elements from “base”viewpoint languages

—join points

Uses elements of “aspect”viewpoint languages

Page 11: Using Aspects in Architecture Description

Fixing Architectural Models

• Models minimally specified in IEEE 1471:2000, no rules applying to them

- Can we do better?

• Define model ownership, or separate definitions from viewpoints

• Enhancing models with provides and requires clauses gives us

- Join points

- signatures: model types

- open question what kind of quantification is needed. type? instance? Hypothesis: “style” in most ADs is universally quantified statements over types

• Basis for view integration (which was left open in IEEE 1471:2000)

Page 12: Using Aspects in Architecture Description

Related Work: several themes

• Component & connector-based, single viewpoint (i.e., “ADLs”)

- aspects cut across components and connectors (view elements), not across views; e.g., AspectualACME, TranSAT, FuseJ, Fractal Aspect Component, ...Special mention: Katara-Katz

• Concern-oriented: the future is better modeling of concerns (Kandé, Sutton-Tarr)

• Existing cross-cutting architectural constructs, nicely align with cross-view and intra-view aspects, respectively

- Rozanski & Woods’ architectural perspectives

- Ran’s architectural textures

Workshop on Aspects in Architectural Descriptionhttp://aosd.net/workshops/aarch/2007/

Page 13: Using Aspects in Architecture Description

Future Work

• Refine an approach to making the provides/requires language(s) more rigorous in the face of an open set of viewpoint languages

• Community example using the Health-Watcher case study