kellan hilscher. definition different perspectives on the components, behavioral specifications, and...
TRANSCRIPT
![Page 1: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/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: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/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: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/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: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/5.jpg)
Some ADLs
![Page 6: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/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: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/7.jpg)
![Page 8: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/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: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/9.jpg)
![Page 10: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/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: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/11.jpg)
ArchC Example
![Page 12: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/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: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/14.jpg)
![Page 15: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/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: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/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: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/19.jpg)
Logical Architecture
![Page 20: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/20.jpg)
Process Architecture
![Page 21: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/21.jpg)
Development Architecture
![Page 22: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/22.jpg)
Physical Architecture
![Page 23: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/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: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/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: Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051401/56649c945503460f94950268/html5/thumbnails/27.jpg)
Questions?