+ All Categories
Home > Documents > Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and...

Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and...

Date post: 14-Jan-2016
Category:
Upload: ronald-broomhead
View: 217 times
Download: 0 times
Share this document with a friend
Popular Tags:
27
Kellan Hilscher Architecture Description Languages and Architecture Viewpoints
Transcript
Page 1: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Kellan Hilscher

Architecture Description Languages and

Architecture Viewpoints

Page 2: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

DefinitionDifferent perspectives on the components,

behavioral specifications, and interactions that make up a software system

Importance of Formalized ArchitectureArchitectural decisions have a very long lifespanVery valuable tool in developer and stakeholder

understanding of a system at a high levelIncreased potential for commonality across

architectures.Reduces time spent in maintenance and evolution

phases

Software Architecture Descriptions

Page 3: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Formal languages that can be used to represent the architecture of software-intensive systems.Evolved from Module Interconnection LanguagesAllow for very high level views of a system even

before design work beginsAllow for early analysis and feasibility testing of

architectural possibilitiesHow ADLs Work

Decompose a system into multiple components, connections, and configurations

Standardization through the use of stylesProvide different views of a system’s architecture

Architecture Description Languages (ADLs)

Page 4: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

DefinitionDiverse representations of a system’s

architecture for distinct audiences and usesEx. Structural, behavioral, physical

Viewpoints address concerns identified by particular stakeholdersEx. A process viewpoint might address

concurrency, distribution, scalability, and integration

Architectural Viewpoints

Page 5: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Some ADLs

Page 6: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

First version released in 1997

Similar to IBM Rational for UML

Two components:Acme ADLAcmeStudio

Can act as a vehicle for standardizing elements used across multiple ADLs

Acme – Carnegie Mellon University

Page 7: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Page 8: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Architecture (formerly Avionics) Analysis & Design Language

Describes DRE architectures with software and hardware components

Dissuades “build then test” mentality

AADL – TELECOM ParisTech

Page 9: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Page 10: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Specialized for processor architecture description.

Allows users to generate assemblers and simulators for processors from:Architecture Resources: User provides

processor resource info from programmer’s manual

Instruction Set Architecture: User enters information about each instruction such as format and syntax, behavior, and info for decoding

Tailors the modeling environment to your processor

ArchC

Page 11: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

ArchC Example

Page 12: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Existing ADLs are far from perfect

Page 13: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

No clear consensus on what is required of architecture modeling (or ADLs)

Can be very convolutedMany lack explicit mechanisms for multiple

architecture views.

ADL Shortcomings

Page 14: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
Page 15: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

UML as an ADL

Page 16: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

“[A]n ADL for software application focuses on the high-level structure of the overall application rather than the implementation details of any specific source module”

Less formalized than ADLsNo notion of entity restriction (styles)Largely a documenting language

UML Shortcomings as an ADL

Page 17: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Krutchen’s Architecture Model

Page 18: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Idea:One view cannot capture an entire complex

architectureConcurrent views:

4:Logical View – Object ModelProcess View – Concurrency ModelPhysical View – Mapping and distribution of

software to hardwareDevelopment View – Development environment view

+1:Use Cases/Scenarios

Krutchen’s 4+1 View Model

Page 19: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Logical Architecture

Page 20: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Process Architecture

Page 21: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Development Architecture

Page 22: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Physical Architecture

Page 23: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Why Krutchen’s Model?

Page 24: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Logical Model -> Class Diagram

Process Model -> Activity Diagram

Development Model -> Package Diagram

Physical Model -> Deployment Diagram

It can be approximated with UML!

Page 25: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Wraps the notion of component standardization around design languages:Contexts (styles)Properties (style conformant attributes)Operations (define property behavior)

Provides additions to graph navigationsLess ambiguity

OCL tools parse UML diagrams to provide further analysis

Object Constraint Language

Page 26: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

4+1, UML, and OCL

Page 27: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.

Questions?


Recommended