architecture description languages and architecture viewpoints
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 PresentationTRANSCRIPT
![Page 1: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/1.jpg)
Kellan Hilscher
Architecture Description Languages and
Architecture Viewpoints
![Page 2: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/5.jpg)
Some ADLs
![Page 6: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/7.jpg)
![Page 8: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/9.jpg)
![Page 10: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/11.jpg)
ArchC Example
![Page 12: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/12.jpg)
Existing ADLs are far from perfect
![Page 13: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/14.jpg)
![Page 15: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/15.jpg)
UML as an ADL
![Page 16: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/16.jpg)
“[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](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/17.jpg)
Krutchen’s Architecture Model
![Page 18: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/19.jpg)
Logical Architecture
![Page 20: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/20.jpg)
Process Architecture
![Page 21: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/21.jpg)
Development Architecture
![Page 22: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/22.jpg)
Physical Architecture
![Page 23: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/23.jpg)
Why Krutchen’s Model?
![Page 24: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/26.jpg)
4+1, UML, and OCL
![Page 27: Architecture Description Languages and Architecture Viewpoints](https://reader035.vdocuments.us/reader035/viewer/2022062301/568150ae550346895dbec7d2/html5/thumbnails/27.jpg)
Questions?