This is an introductory lecture to Software Architecture Views and Viewpoints, part of the Advanced Software Engineering course, at the University of L'Aquila, Italy (www.di.univaq.it/muccini/SE+/2012)
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
Software Architecture: views and viewpoints
1. Università degli Studi dell’Aquila
L07: Views and Viewpoints
Henry Muccini
DISIM Department, University of L’Aquila, Italy
henry.muccini@univaq.it
2. The material in these slides may be freely reproduced
and distributed, partially or totally, as far as an explicit
reference or acknowledge to the material author is
preserved.
Henry Muccini
3. Intro to SA Intro to Software Testing
SA Case study Structural Testing
SA style Model-based Testing
ADLs Architecture-based Testing
Design Decisions
Lab
Views/Viewpoints
UML Non Functional S.E.
UML Profiling Performance modeling
Lab Performance analysis
4. Software Architecture
The Software Architecture is the earliest model of the
whole software system created along the software
lifecycle
“Traditional” definition:
→A set of components and connectors communicating through
interfaces
“Recent/Future” understanding:
→A set of architecture design decisions taken to generate the
architecture artifact
→Focus on set of Views and Viewpoints, looking at
stakeholders and their concern
8. Two important views
Structural Spec. Behavioral Spec.
3
2 0 1 4
5
- Posets, pre-post conditions
- Process Algebras
-Formal ADLs - Labeled Transition Systems,
-UML notations IO Automata, IOLTS
- Statechart, UML state machine
9.
10.
11.
12.
13. ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – Architectural
Description, 2011
14. Architecture Description:
Architecture Description is the practice of expressing
architectures (ISO/IEC 42010)
“The practices of recording software, system and
enterprise architectures so that architectures can be
understood, documented, analysed and realized.”
“Architecture descriptions are created by architects
and used by architects and other stakeholders
throughout all stages of a system’s life cycle, from
development through operation and maintenance.”
15. 1) Architecture Viewpoints:
define the contents of each architecture view;
2) Architecture Frameworks (AFs):
coordinated set of viewpoints for use within a
particular stakeholder community or domain of
application (e.g., GERAM, TOGAF, MODAF);
3) Architecture Description Languages (ADLs): any
mode of expression used in an architecture
description.
ADL provides model kinds selected to frame one
or more concerns.
16. ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – Architectural
Description, 2011
17. […] “a viewpoint is a way of looking at a system; a view is what you see”
“A viewpoint defines the conventions (such as notations, languages and
types of models) for constructing a certain kind of view”
[…]”viewpoint refers to the conventions for representing an architecture
relative to one set of concerns.”
“A view is the result of applying a viewpoint to a particular system of
interest”
[…] “viewpoints as first-class entities of architecture descriptions.”
view : viewpoint :: program : programming language
From the ISO/IEC/IEEE 42010
19. RUP 4+1 views
Logical View Implementation (Development) View
Object Model Static Organization
of Design of the Software
End-user Programmers
Functionality Software management
Process View Use Case View Deployment View
Concurrency and Software Mapping
Synchronization System integrators System engineering To Hw
Performance System topology
Scalability Delivery, installation
Throughput Communication
Conceptual Physical
20. Use Case Analysis Design Depl. Impl. Test
Model Model Model Model Model Model
Models
Views
21. Architectural views: Applied SA [Applied] & UML Process [UMLProcess]
[Applied]
Still based on Architectural views… [Applied] C. Hofmeister, R. Nord
and D. Soni. Applied Software
→Conceptual Architecture. Addison-Wesley.
1998.
→Module
→Execution
→Code
… but more Diagrams for each view
[UMLProcess]
[UMLProcess] I. Jacobson, G.
Booch and J. Rumbaugh.
The Unified Software Development
Process. Addison Wesley,
Object Technology Series, 1999.
22. Using multiple views has become standard practice in
industry
• IEEE Std 1471 (2000) -> … -> ISO/IEC/IEEE 42010 (2011)
• Based on a survey we conducted with 48 practitioners
[Survey2012], and about the usage of ALs in industry
85% uses multiple views
[Survey2012] “What Industry needs from Architectural Languages: A Survey”, I. Malavolta, P. Lago, H.
Muccini, P. Pelliccione, A. Tang (under review)
23. To provide an infrastructure that enables to
build reusable architecture frameworks
by treating views, viewpoints,
concerns as first-class entities.
MEGAF is an MDE approach to create new architecture
frameworks by means of mechanisms:
i. to store retrieve, and combine existing viewpoints, by properly
store, retrieve
selecting and reusing models previously defined and resident in
MEGAF;
ii. to define correspondences among views, viewpoints,
stakeholders, system concerns and their elements;
iii. to enforce consistency and completeness checks based on
defined architectural relationships and rules among elements.
24. Model Kinds Architectural Languages
System Concerns
Stakeholders
Correspondences
Viewpoints
Architectural
Assets
Architecture
Framework
Repository
Architecture Architecture Architecture
Description Description Description
A B C
25. Model Kinds
System Concerns Architectural Languages
Stakeholders sc mk
al
stk Architecture Correspondences
af
Framework
Viewpoints c1
vp Architecture
Description
Architecture
ad
Description
Architecture
Description
A B C
How to manage models that contains classes
and other models?
26. Technological solution
MEGAF is realized via megamodeling techniques
A megamodel is a kind of model in which elements could
represent and/or refer to models or metamodels [Bézivin et al.,
OOPSLA/GPCE 2004]
A megamodel specifies properties and rules governing model
construction, including multiple models and metamodels
→Models and metamodels are first-class entities
→It offers also the possibility to specify relationships between
them and to navigate them.
27. MEGAF meta megamodel
GMM4SA
meta megamodel
(describing how
to build 42010–
conformant
megamodels)
In MEGAF, a
megamodel is a
repository of AD
elements
Megamodels in combination with weaving models for coordinating
sets of models;
The navigability and traceability extension.
[Jouault et. al, ACM SAC 2010]
28. Model Kinds
System Concerns Architectural Languages
Stakeholders sc mk
stk Correspondences
Viewpoints c1
vp
32. Work Done…
Definition of the GMM4SA metamegamodel, fully
compliant to the ISO/IEC/IEEE 42010
Each megamodel conforming to it must satisfy those relationships
in order to be valid:
definition of conformance of an AF to the 42010
definition of conformance of an AD to an AF
definition AF correspondence rules
Specification of the model weaving and composition
mechanisms
Use of the AM3 megamodel management component (in
the AMMA platform) to record all available resources,
acting as an MDE repository.
35. Future Work
Advanced searches
Overlapping viewpoints management
Usability and GUI
Extension and customization of repository elements
AF extensions can create problems to the
corresponding AD
Application to industrial projects
37. Composed AF Extended/customized ADL
Our solution generated in MEGAF generated in byADL
VP BPMN
St1 2
VP Darwin/FSP FT
1
MK1
ACME
SA UML profiles pivot
metamodel
(A0) AADL
other ADLs xADL
DUALLy: an automated approach for ADLs interoperability
byADL: an approach to adapt and customize existing ADLs
MEGAF: a model-driven infrastructure for building reusable
and extensible architecture frameworks
38. other
DUALLy byADL
MEGAF engines
MEGAF
AMMA
AM3 AMW ATL
EMF
39. megaf.di.univaq.it
• Preliminary prototype in Eclipse, using
megamodeling techniques
dually.di.univaq.it
• Prototype in Eclipse, using model-driven
engineering techniques
byadl.di.univaq.it
• Prototype in Eclipse, using model-driven
engineering techniques