architecture description languages and architecture viewpoints

27
Kellan Hilscher Architecture Description Languages and Architecture Viewpoints

Upload: hogan

Post on 21-Jan-2016

55 views

Category:

Documents


0 download

DESCRIPTION

Architecture Description Languages and Architecture Viewpoints. Kellan Hilscher. Software Architecture Descriptions. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance of Formalized Architecture - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Architecture Description Languages and Architecture Viewpoints

Kellan Hilscher

Architecture Description Languages and

Architecture Viewpoints

Page 2: Architecture Description Languages and Architecture Viewpoints

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: Architecture Description Languages and Architecture Viewpoints

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: Architecture Description Languages and Architecture Viewpoints

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: Architecture Description Languages and Architecture Viewpoints

Some ADLs

Page 6: Architecture Description Languages and Architecture Viewpoints

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: Architecture Description Languages and Architecture Viewpoints
Page 8: Architecture Description Languages and Architecture Viewpoints

Architecture (formerly Avionics) Analysis & Design Language

Describes DRE architectures with software and hardware components

Dissuades “build then test” mentality

AADL – TELECOM ParisTech

Page 9: Architecture Description Languages and Architecture Viewpoints
Page 10: Architecture Description Languages and Architecture Viewpoints

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: Architecture Description Languages and Architecture Viewpoints

ArchC Example

Page 12: Architecture Description Languages and Architecture Viewpoints

Existing ADLs are far from perfect

Page 13: Architecture Description Languages and Architecture Viewpoints

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: Architecture Description Languages and Architecture Viewpoints
Page 15: Architecture Description Languages and Architecture Viewpoints

UML as an ADL

Page 16: Architecture Description Languages and Architecture Viewpoints

“[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: Architecture Description Languages and Architecture Viewpoints

Krutchen’s Architecture Model

Page 18: Architecture Description Languages and Architecture Viewpoints

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: Architecture Description Languages and Architecture Viewpoints

Logical Architecture

Page 20: Architecture Description Languages and Architecture Viewpoints

Process Architecture

Page 21: Architecture Description Languages and Architecture Viewpoints

Development Architecture

Page 22: Architecture Description Languages and Architecture Viewpoints

Physical Architecture

Page 23: Architecture Description Languages and Architecture Viewpoints

Why Krutchen’s Model?

Page 24: Architecture Description Languages and Architecture Viewpoints

Logical Model -> Class Diagram

Process Model -> Activity Diagram

Development Model -> Package Diagram

Physical Model -> Deployment Diagram

It can be approximated with UML!

Page 25: Architecture Description Languages and Architecture Viewpoints

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: Architecture Description Languages and Architecture Viewpoints

4+1, UML, and OCL

Page 27: Architecture Description Languages and Architecture Viewpoints

Questions?