SlideShare a Scribd company logo
Università degli Studi dell’Aquila




L07: Views and Viewpoints
                                        Henry Muccini
     DISIM Department, University of L’Aquila, Italy
              henry.muccini@univaq.it
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
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
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
Architecture as a set of Viewpoints
Structure
Behavior
Hw/Sw
Real-time
…
Software Architecture: views and viewpoints
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
Software Architecture: views and viewpoints
Software Architecture: views and viewpoints
Software Architecture: views and viewpoints
Software Architecture: views and viewpoints
ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – Architectural
Description, 2011
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.”
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.
ISO/IEC/IEEE 42010 - International Standard for Systems and Software Engineering – Architectural
Description, 2011
[…] “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
Software Architect
Software Developer
Financial manager
Business manager
      …
…
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
Use Case   Analysis   Design   Depl.   Impl.    Test
 Model      Model     Model    Model   Model   Model
                                                       Models




                                                       Views
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.
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)
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.
Model Kinds    Architectural Languages
                      System Concerns

  Stakeholders


                                                                          Correspondences

Viewpoints

                                Architectural
                                   Assets
                                    Architecture
                                    Framework
                                 Repository
                 Architecture           Architecture       Architecture
                 Description            Description        Description
                      A                      B                  C
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?
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.
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]
Model Kinds
                 System Concerns                 Architectural Languages


  Stakeholders         sc             mk
         stk                                            Correspondences

Viewpoints                                                   c1
  vp
CASE STUDY
Viewpoints: structural, behaviour, web services
ADLs: Diasuite, UML
Extensions: REST services metamodel, LTS
Stakeholders: sw architect, end-user, developer, sys eng.
42010 AF definition
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.
Software Architecture: views and viewpoints
CONCLUSIONS
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
Our vision




Reuse, compose, and extend ADLs and AFs instead
of creating new ones
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
other
DUALLy   byADL
         MEGAF     engines
          MEGAF
         AMMA

 AM3      AMW     ATL

          EMF
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
Ad

More Related Content

What's hot (20)

Architectural patterns part 1
Architectural patterns part 1Architectural patterns part 1
Architectural patterns part 1
assinha
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
Dhivyaa C.R
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
Himanshu
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법
YoungSu Son
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
farazimlak
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Robert Sim
 
Class notes
Class notesClass notes
Class notes
Pitchairaj Bhuvaneswari
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Dharmalingam Ganesan
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
Hayim Makabee
 
4+1 view model
4+1 view model4+1 view model
4+1 view model
Shobana Chokkalingam
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
Sudarshan Dhondaley
 
Introduction to UML
Introduction to UMLIntroduction to UML
Introduction to UML
Emertxe Information Technologies Pvt Ltd
 
Software Product Line
Software Product LineSoftware Product Line
Software Product Line
Himanshu
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
Himanshu
 
ArchiMate introduction
ArchiMate introductionArchiMate introduction
ArchiMate introduction
Ashraf Fouad
 
Mc call's software quality model
Mc call's software quality modelMc call's software quality model
Mc call's software quality model
Yatharth Aggarwal
 
Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?
Evgeniy Labunskiy
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
software-engineering-book
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
Henry Muccini
 
System testing
System testingSystem testing
System testing
Sifat Hossain
 
Architectural patterns part 1
Architectural patterns part 1Architectural patterns part 1
Architectural patterns part 1
assinha
 
Unit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycleUnit iii-Architecture in the lifecycle
Unit iii-Architecture in the lifecycle
Dhivyaa C.R
 
Architectural styles and patterns
Architectural styles and patternsArchitectural styles and patterns
Architectural styles and patterns
Himanshu
 
SW 아키텍처 분석방법
SW 아키텍처 분석방법 SW 아키텍처 분석방법
SW 아키텍처 분석방법
YoungSu Son
 
Software architecture design ppt
Software architecture design pptSoftware architecture design ppt
Software architecture design ppt
farazimlak
 
Service Oriented Architecture
Service Oriented ArchitectureService Oriented Architecture
Service Oriented Architecture
Robert Sim
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
Hayim Makabee
 
Software architecture Unit 1 notes
Software architecture Unit 1 notesSoftware architecture Unit 1 notes
Software architecture Unit 1 notes
Sudarshan Dhondaley
 
Software Product Line
Software Product LineSoftware Product Line
Software Product Line
Himanshu
 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
Himanshu
 
ArchiMate introduction
ArchiMate introductionArchiMate introduction
ArchiMate introduction
Ashraf Fouad
 
Mc call's software quality model
Mc call's software quality modelMc call's software quality model
Mc call's software quality model
Yatharth Aggarwal
 
Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?Functional vs Non-functional Requirements - Which comes first?
Functional vs Non-functional Requirements - Which comes first?
Evgeniy Labunskiy
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
Henry Muccini
 

Viewers also liked (18)

Modeling Big Data with the ArchiMate 3.0 Language
Modeling Big Data with the ArchiMate 3.0 LanguageModeling Big Data with the ArchiMate 3.0 Language
Modeling Big Data with the ArchiMate 3.0 Language
Iver Band
 
TOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-admTOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-adm
Cuneyt Kaya
 
Software Architecture: Why and What?
Software Architecture: Why and What?Software Architecture: Why and What?
Software Architecture: Why and What?
Chris F Carroll
 
TOGAF Classroom Series - M1 intro-ea-togaf
TOGAF Classroom Series - M1 intro-ea-togafTOGAF Classroom Series - M1 intro-ea-togaf
TOGAF Classroom Series - M1 intro-ea-togaf
Cuneyt Kaya
 
TOGAF Classroom Series - M2 togaf-9-components
TOGAF Classroom Series - M2 togaf-9-componentsTOGAF Classroom Series - M2 togaf-9-components
TOGAF Classroom Series - M2 togaf-9-components
Cuneyt Kaya
 
TOGAF Classroom Series - M7 business-scenarios
TOGAF Classroom Series - M7 business-scenariosTOGAF Classroom Series - M7 business-scenarios
TOGAF Classroom Series - M7 business-scenarios
Cuneyt Kaya
 
Software Architecture as Systems Dissolve
Software Architecture as Systems DissolveSoftware Architecture as Systems Dissolve
Software Architecture as Systems Dissolve
Eoin Woods
 
Using Software Architecture Principles in Practice
Using Software Architecture Principles in PracticeUsing Software Architecture Principles in Practice
Using Software Architecture Principles in Practice
Eoin Woods
 
Modeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMateModeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMate
Iver Band
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and Viewpoints
Henry Muccini
 
Archimate Introduction
Archimate IntroductionArchimate Introduction
Archimate Introduction
emergingpractices
 
Building a strong Data Management capability with TOGAF and ArchiMate
Building a strong Data Management capability with TOGAF and ArchiMateBuilding a strong Data Management capability with TOGAF and ArchiMate
Building a strong Data Management capability with TOGAF and ArchiMate
Bas van Gils
 
TOGAF 9 Architectural Artifacts
TOGAF 9  Architectural ArtifactsTOGAF 9  Architectural Artifacts
TOGAF 9 Architectural Artifacts
Maganathin Veeraragaloo
 
Iasa UK Archimate Overview
Iasa UK Archimate OverviewIasa UK Archimate Overview
Iasa UK Archimate Overview
Iasa UK
 
Archimate 2.1 an introduction
Archimate 2.1   an introductionArchimate 2.1   an introduction
Archimate 2.1 an introduction
Daan Bakboord
 
Archi mate views_and_viewpoints
Archi mate views_and_viewpointsArchi mate views_and_viewpoints
Archi mate views_and_viewpoints
Igor Igoroshka
 
An Introduction to Enterprise Architecture Visual Modeling With The ArchiMate...
An Introduction to Enterprise Architecture Visual Modeling With The ArchiMate...An Introduction to Enterprise Architecture Visual Modeling With The ArchiMate...
An Introduction to Enterprise Architecture Visual Modeling With The ArchiMate...
Iver Band
 
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overviewEnterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Winton Winton
 
Modeling Big Data with the ArchiMate 3.0 Language
Modeling Big Data with the ArchiMate 3.0 LanguageModeling Big Data with the ArchiMate 3.0 Language
Modeling Big Data with the ArchiMate 3.0 Language
Iver Band
 
TOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-admTOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-adm
Cuneyt Kaya
 
Software Architecture: Why and What?
Software Architecture: Why and What?Software Architecture: Why and What?
Software Architecture: Why and What?
Chris F Carroll
 
TOGAF Classroom Series - M1 intro-ea-togaf
TOGAF Classroom Series - M1 intro-ea-togafTOGAF Classroom Series - M1 intro-ea-togaf
TOGAF Classroom Series - M1 intro-ea-togaf
Cuneyt Kaya
 
TOGAF Classroom Series - M2 togaf-9-components
TOGAF Classroom Series - M2 togaf-9-componentsTOGAF Classroom Series - M2 togaf-9-components
TOGAF Classroom Series - M2 togaf-9-components
Cuneyt Kaya
 
TOGAF Classroom Series - M7 business-scenarios
TOGAF Classroom Series - M7 business-scenariosTOGAF Classroom Series - M7 business-scenarios
TOGAF Classroom Series - M7 business-scenarios
Cuneyt Kaya
 
Software Architecture as Systems Dissolve
Software Architecture as Systems DissolveSoftware Architecture as Systems Dissolve
Software Architecture as Systems Dissolve
Eoin Woods
 
Using Software Architecture Principles in Practice
Using Software Architecture Principles in PracticeUsing Software Architecture Principles in Practice
Using Software Architecture Principles in Practice
Eoin Woods
 
Modeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMateModeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMate
Iver Band
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and Viewpoints
Henry Muccini
 
Building a strong Data Management capability with TOGAF and ArchiMate
Building a strong Data Management capability with TOGAF and ArchiMateBuilding a strong Data Management capability with TOGAF and ArchiMate
Building a strong Data Management capability with TOGAF and ArchiMate
Bas van Gils
 
Iasa UK Archimate Overview
Iasa UK Archimate OverviewIasa UK Archimate Overview
Iasa UK Archimate Overview
Iasa UK
 
Archimate 2.1 an introduction
Archimate 2.1   an introductionArchimate 2.1   an introduction
Archimate 2.1 an introduction
Daan Bakboord
 
Archi mate views_and_viewpoints
Archi mate views_and_viewpointsArchi mate views_and_viewpoints
Archi mate views_and_viewpoints
Igor Igoroshka
 
An Introduction to Enterprise Architecture Visual Modeling With The ArchiMate...
An Introduction to Enterprise Architecture Visual Modeling With The ArchiMate...An Introduction to Enterprise Architecture Visual Modeling With The ArchiMate...
An Introduction to Enterprise Architecture Visual Modeling With The ArchiMate...
Iver Band
 
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overviewEnterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Enterprise Architecture for Dummies - TOGAF 9 enterprise architecture overview
Winton Winton
 
Ad

Similar to Software Architecture: views and viewpoints (20)

On the Composition and Reuse of Viewpoints
On the Composition and Reuse of ViewpointsOn the Composition and Reuse of Viewpoints
On the Composition and Reuse of Viewpoints
Henry Muccini
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
Ivano Malavolta
 
Sa 008 architecture_views
Sa 008 architecture_viewsSa 008 architecture_views
Sa 008 architecture_views
Frank Gielen
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
Tot Bob
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
drewz lin
 
Uml3
Uml3Uml3
Uml3
Majong DevJfu
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Vikas Dhyani
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
Majong DevJfu
 
Web2MexADL - CSMR Presentation
Web2MexADL - CSMR PresentationWeb2MexADL - CSMR Presentation
Web2MexADL - CSMR Presentation
jccastrejon
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Mozaic Works
 
What is Software Architecture?
What is Software Architecture?What is Software Architecture?
What is Software Architecture?
University of Pretoria
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
Frank Gielen
 
Devnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software DevelopmentDevnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering Culture
Obeo
 
software architecture
software architecturesoftware architecture
software architecture
Manidheer Babu
 
Sa 004 quality_attributes
Sa 004 quality_attributesSa 004 quality_attributes
Sa 004 quality_attributes
Frank Gielen
 
Pattern-based Evolution
Pattern-based EvolutionPattern-based Evolution
Pattern-based Evolution
Aakash Ahmad
 
Pattern-based Evolution
Pattern-based EvolutionPattern-based Evolution
Pattern-based Evolution
Aakash Ahmad
 
2
22
2
Majong DevJfu
 
On the Composition and Reuse of Viewpoints
On the Composition and Reuse of ViewpointsOn the Composition and Reuse of Viewpoints
On the Composition and Reuse of Viewpoints
Henry Muccini
 
Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization  Software Architecture by Reuse, Composition and Customization
Software Architecture by Reuse, Composition and Customization
Ivano Malavolta
 
Sa 008 architecture_views
Sa 008 architecture_viewsSa 008 architecture_views
Sa 008 architecture_views
Frank Gielen
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
Tot Bob
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
drewz lin
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
Vikas Dhyani
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
Majong DevJfu
 
Web2MexADL - CSMR Presentation
Web2MexADL - CSMR PresentationWeb2MexADL - CSMR Presentation
Web2MexADL - CSMR Presentation
jccastrejon
 
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Simon Brown: Software Architecture as Code at I T.A.K.E. Unconference 2015
Mozaic Works
 
Devnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software DevelopmentDevnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology Back to School: Empirical Evidence on Modeling in Software Development
Devnology
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering Culture
Obeo
 
Sa 004 quality_attributes
Sa 004 quality_attributesSa 004 quality_attributes
Sa 004 quality_attributes
Frank Gielen
 
Pattern-based Evolution
Pattern-based EvolutionPattern-based Evolution
Pattern-based Evolution
Aakash Ahmad
 
Pattern-based Evolution
Pattern-based EvolutionPattern-based Evolution
Pattern-based Evolution
Aakash Ahmad
 
Ad

More from Henry Muccini (20)

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design
Henry Muccini
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...
Henry Muccini
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
Henry Muccini
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Henry Muccini
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd management
Henry Muccini
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of Things
Henry Muccini
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design Decisions
Henry Muccini
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building Architecture
Henry Muccini
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)
Henry Muccini
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Henry Muccini
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)
Henry Muccini
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)
Henry Muccini
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)
Henry Muccini
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Henry Muccini
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)
Henry Muccini
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)
Henry Muccini
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on Sustainability
Henry Muccini
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
Henry Muccini
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
Henry Muccini
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software Architecture
Henry Muccini
 
Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design
Henry Muccini
 
How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...How cultural heritage, cyber-physical spaces, and software engineering can wo...
How cultural heritage, cyber-physical spaces, and software engineering can wo...
Henry Muccini
 
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle SegreterieLa gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
La gestione dell’utenza numerosa - dalle Segreterie, ai Musei, alle Segreterie
Henry Muccini
 
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibileTurismo 4.0: l'ICT a supporto del turismo sostenibile
Turismo 4.0: l'ICT a supporto del turismo sostenibile
Henry Muccini
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd management
Henry Muccini
 
Software Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of ThingsSoftware Engineering at the age of the Internet of Things
Software Engineering at the age of the Internet of Things
Henry Muccini
 
The influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design DecisionsThe influence of Group Decision Making on Architecture Design Decisions
The influence of Group Decision Making on Architecture Design Decisions
Henry Muccini
 
An IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building ArchitectureAn IoT Software Architecture for an Evacuable Building Architecture
An IoT Software Architecture for an Evacuable Building Architecture
Henry Muccini
 
Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)Web Engineering L8: User-centered Design (8/8)
Web Engineering L8: User-centered Design (8/8)
Henry Muccini
 
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Web Engineering L7: Sequence Diagrams and Design Decisions (7/8)
Henry Muccini
 
Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)Web Engineering L6: Software Architecture for the Web (6/8)
Web Engineering L6: Software Architecture for the Web (6/8)
Henry Muccini
 
Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)Web Engineering L5: Content Model (5/8)
Web Engineering L5: Content Model (5/8)
Henry Muccini
 
Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)Web Engineering L3: Project Planning (3/8)
Web Engineering L3: Project Planning (3/8)
Henry Muccini
 
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)Web Engineering L2: Requirements Elicitation for the Web (2/8)
Web Engineering L2: Requirements Elicitation for the Web (2/8)
Henry Muccini
 
Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)Web Engineering L1: introduction to Web Engineering (1/8)
Web Engineering L1: introduction to Web Engineering (1/8)
Henry Muccini
 
Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)Web Engineering L4: Requirements and Planning in concrete (4/8)
Web Engineering L4: Requirements and Planning in concrete (4/8)
Henry Muccini
 
Collaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on SustainabilityCollaborative aspects of Decision Making and its impact on Sustainability
Collaborative aspects of Decision Making and its impact on Sustainability
Henry Muccini
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
Henry Muccini
 
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPISI progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
I progetti UnivAq-UFFIZI, INCIPICT, e  CUSPIS
Henry Muccini
 
Exploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software ArchitectureExploring the Temporal Aspects of Software Architecture
Exploring the Temporal Aspects of Software Architecture
Henry Muccini
 

Recently uploaded (20)

Pope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptxPope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptx
Martin M Flynn
 
Transform tomorrow: Master benefits analysis with Gen AI today webinar, 30 A...
Transform tomorrow: Master benefits analysis with Gen AI today webinar,  30 A...Transform tomorrow: Master benefits analysis with Gen AI today webinar,  30 A...
Transform tomorrow: Master benefits analysis with Gen AI today webinar, 30 A...
Association for Project Management
 
Ajanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of HistoryAjanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of History
Virag Sontakke
 
Cultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptxCultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptx
UmeshTimilsina1
 
Drugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdfDrugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdf
crewot855
 
Overview Well-Being and Creative Careers
Overview Well-Being and Creative CareersOverview Well-Being and Creative Careers
Overview Well-Being and Creative Careers
University of Amsterdam
 
puzzle Irregular Verbs- Simple Past Tense
puzzle Irregular Verbs- Simple Past Tensepuzzle Irregular Verbs- Simple Past Tense
puzzle Irregular Verbs- Simple Past Tense
OlgaLeonorTorresSnch
 
antiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidenceantiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidence
PrachiSontakke5
 
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptxANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
Mayuri Chavan
 
Rock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian HistoryRock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian History
Virag Sontakke
 
2025 The Senior Landscape and SET plan preparations.pptx
2025 The Senior Landscape and SET plan preparations.pptx2025 The Senior Landscape and SET plan preparations.pptx
2025 The Senior Landscape and SET plan preparations.pptx
mansk2
 
Search Matching Applicants in Odoo 18 - Odoo Slides
Search Matching Applicants in Odoo 18 - Odoo SlidesSearch Matching Applicants in Odoo 18 - Odoo Slides
Search Matching Applicants in Odoo 18 - Odoo Slides
Celine George
 
Ancient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian HistoryAncient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian History
Virag Sontakke
 
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptxU3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
Mayuri Chavan
 
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
Celine George
 
*"Sensing the World: Insect Sensory Systems"*
*"Sensing the World: Insect Sensory Systems"**"Sensing the World: Insect Sensory Systems"*
*"Sensing the World: Insect Sensory Systems"*
Arshad Shaikh
 
CNS infections (encephalitis, meningitis & Brain abscess
CNS infections (encephalitis, meningitis & Brain abscessCNS infections (encephalitis, meningitis & Brain abscess
CNS infections (encephalitis, meningitis & Brain abscess
Mohamed Rizk Khodair
 
Module 1: Foundations of Research
Module 1: Foundations of ResearchModule 1: Foundations of Research
Module 1: Foundations of Research
drroxannekemp
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
Nguyen Thanh Tu Collection
 
Pope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptxPope Leo XIV, the first Pope from North America.pptx
Pope Leo XIV, the first Pope from North America.pptx
Martin M Flynn
 
Transform tomorrow: Master benefits analysis with Gen AI today webinar, 30 A...
Transform tomorrow: Master benefits analysis with Gen AI today webinar,  30 A...Transform tomorrow: Master benefits analysis with Gen AI today webinar,  30 A...
Transform tomorrow: Master benefits analysis with Gen AI today webinar, 30 A...
Association for Project Management
 
Ajanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of HistoryAjanta Paintings: Study as a Source of History
Ajanta Paintings: Study as a Source of History
Virag Sontakke
 
Cultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptxCultivation Practice of Turmeric in Nepal.pptx
Cultivation Practice of Turmeric in Nepal.pptx
UmeshTimilsina1
 
Drugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdfDrugs in Anaesthesia and Intensive Care,.pdf
Drugs in Anaesthesia and Intensive Care,.pdf
crewot855
 
Overview Well-Being and Creative Careers
Overview Well-Being and Creative CareersOverview Well-Being and Creative Careers
Overview Well-Being and Creative Careers
University of Amsterdam
 
puzzle Irregular Verbs- Simple Past Tense
puzzle Irregular Verbs- Simple Past Tensepuzzle Irregular Verbs- Simple Past Tense
puzzle Irregular Verbs- Simple Past Tense
OlgaLeonorTorresSnch
 
antiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidenceantiquity of writing in ancient India- literary & archaeological evidence
antiquity of writing in ancient India- literary & archaeological evidence
PrachiSontakke5
 
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptxANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
ANTI-VIRAL DRUGS unit 3 Pharmacology 3.pptx
Mayuri Chavan
 
Rock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian HistoryRock Art As a Source of Ancient Indian History
Rock Art As a Source of Ancient Indian History
Virag Sontakke
 
2025 The Senior Landscape and SET plan preparations.pptx
2025 The Senior Landscape and SET plan preparations.pptx2025 The Senior Landscape and SET plan preparations.pptx
2025 The Senior Landscape and SET plan preparations.pptx
mansk2
 
Search Matching Applicants in Odoo 18 - Odoo Slides
Search Matching Applicants in Odoo 18 - Odoo SlidesSearch Matching Applicants in Odoo 18 - Odoo Slides
Search Matching Applicants in Odoo 18 - Odoo Slides
Celine George
 
Ancient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian HistoryAncient Stone Sculptures of India: As a Source of Indian History
Ancient Stone Sculptures of India: As a Source of Indian History
Virag Sontakke
 
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptxU3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
U3 ANTITUBERCULAR DRUGS Pharmacology 3.pptx
Mayuri Chavan
 
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
How to Clean Your Contacts Using the Deduplication Menu in Odoo 18
Celine George
 
*"Sensing the World: Insect Sensory Systems"*
*"Sensing the World: Insect Sensory Systems"**"Sensing the World: Insect Sensory Systems"*
*"Sensing the World: Insect Sensory Systems"*
Arshad Shaikh
 
CNS infections (encephalitis, meningitis & Brain abscess
CNS infections (encephalitis, meningitis & Brain abscessCNS infections (encephalitis, meningitis & Brain abscess
CNS infections (encephalitis, meningitis & Brain abscess
Mohamed Rizk Khodair
 
Module 1: Foundations of Research
Module 1: Foundations of ResearchModule 1: Foundations of Research
Module 1: Foundations of Research
drroxannekemp
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
BÀI TẬP BỔ TRỢ TIẾNG ANH 9 THEO ĐƠN VỊ BÀI HỌC - GLOBAL SUCCESS - CẢ NĂM (TỪ...
Nguyen Thanh Tu Collection
 

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
  • 5. Architecture as a set of Viewpoints
  • 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
  • 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
  • 18. Software Architect Software Developer Financial manager Business manager … …
  • 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
  • 30. Viewpoints: structural, behaviour, web services ADLs: Diasuite, UML Extensions: REST services metamodel, LTS Stakeholders: sw architect, end-user, developer, sys eng.
  • 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
  • 36. Our vision Reuse, compose, and extend ADLs and AFs instead of creating new ones
  • 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
  翻译: