SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
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
…
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
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.
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

Más contenido relacionado

La actualidad más candente

Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
mewaseem
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software design
Cliftone Mullah
 

La actualidad más candente (20)

UML diagrams and symbols
UML diagrams and symbolsUML diagrams and symbols
UML diagrams and symbols
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
 
Software Architecture: Design Decisions
Software Architecture: Design DecisionsSoftware Architecture: Design Decisions
Software Architecture: Design Decisions
 
Software Architecture Views and Viewpoints
Software Architecture Views and ViewpointsSoftware Architecture Views and Viewpoints
Software Architecture Views and Viewpoints
 
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...Essential Software Architecture - Chapter 1 Understanding Software Architectu...
Essential Software Architecture - Chapter 1 Understanding Software Architectu...
 
Dynamic Systems Development Method (DSDM) - Agile
Dynamic Systems Development Method (DSDM) - AgileDynamic Systems Development Method (DSDM) - Agile
Dynamic Systems Development Method (DSDM) - Agile
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Evolving role of Software
Evolving role of SoftwareEvolving role of Software
Evolving role of Software
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Chapter 4 software design
Chapter 4  software designChapter 4  software design
Chapter 4 software design
 
Ch9 evolution
Ch9 evolutionCh9 evolution
Ch9 evolution
 
Object oriented and function oriented design
Object oriented and function oriented designObject oriented and function oriented design
Object oriented and function oriented design
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Gof design pattern
Gof design patternGof design pattern
Gof design pattern
 
Ch7 implementation
Ch7 implementationCh7 implementation
Ch7 implementation
 
Importance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML DesigningImportance & Principles of Modeling from UML Designing
Importance & Principles of Modeling from UML Designing
 
Ch21 real time software engineering
Ch21 real time software engineeringCh21 real time software engineering
Ch21 real time software engineering
 
Lecture4 requirement engineering
Lecture4 requirement engineeringLecture4 requirement engineering
Lecture4 requirement engineering
 
UNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGEUNIFIED MODELING LANGUAGE
UNIFIED MODELING LANGUAGE
 
Ch17 distributed software engineering
Ch17 distributed software engineeringCh17 distributed software engineering
Ch17 distributed software engineering
 

Destacado

Software Architecture as Systems Dissolve
Software Architecture as Systems DissolveSoftware Architecture as Systems Dissolve
Software Architecture as Systems Dissolve
Eoin Woods
 

Destacado (18)

4+1 view model
4+1 view model4+1 view model
4+1 view model
 
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
 
TOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-admTOGAF Classroom Series - M3 intro-adm
TOGAF Classroom Series - M3 intro-adm
 
Software Architecture: Why and What?
Software Architecture: Why and What?Software Architecture: Why and What?
Software Architecture: Why and What?
 
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
 
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
 
TOGAF Classroom Series - M7 business-scenarios
TOGAF Classroom Series - M7 business-scenariosTOGAF Classroom Series - M7 business-scenarios
TOGAF Classroom Series - M7 business-scenarios
 
Software Architecture as Systems Dissolve
Software Architecture as Systems DissolveSoftware Architecture as Systems Dissolve
Software Architecture as Systems Dissolve
 
Using Software Architecture Principles in Practice
Using Software Architecture Principles in PracticeUsing Software Architecture Principles in Practice
Using Software Architecture Principles in Practice
 
Modeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMateModeling TOGAF with ArchiMate
Modeling TOGAF with ArchiMate
 
Archimate Introduction
Archimate IntroductionArchimate Introduction
Archimate Introduction
 
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
 
TOGAF 9 Architectural Artifacts
TOGAF 9  Architectural ArtifactsTOGAF 9  Architectural Artifacts
TOGAF 9 Architectural Artifacts
 
Iasa UK Archimate Overview
Iasa UK Archimate OverviewIasa UK Archimate Overview
Iasa UK Archimate Overview
 
Archimate 2.1 an introduction
Archimate 2.1   an introductionArchimate 2.1   an introduction
Archimate 2.1 an introduction
 
Archi mate views_and_viewpoints
Archi mate views_and_viewpointsArchi mate views_and_viewpoints
Archi mate views_and_viewpoints
 
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...
 
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
 

Similar a Software Architecture: views and viewpoints

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
drewz lin
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
Tot Bob
 
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
 
Sa 004 quality_attributes
Sa 004 quality_attributesSa 004 quality_attributes
Sa 004 quality_attributes
Frank Gielen
 

Similar a 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
 
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
 
Sa 008 architecture_views
Sa 008 architecture_viewsSa 008 architecture_views
Sa 008 architecture_views
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
 
4+1view architecture
4+1view architecture4+1view architecture
4+1view architecture
 
Uml3
Uml3Uml3
Uml3
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture2 - Architetture Software - Software architecture
2 - Architetture Software - Software architecture
 
Web2MexADL - CSMR Presentation
Web2MexADL - CSMR PresentationWeb2MexADL - CSMR Presentation
Web2MexADL - CSMR Presentation
 
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
 
What is Software Architecture?
What is Software Architecture?What is Software Architecture?
What is Software Architecture?
 
Sa 008 patterns
Sa 008 patternsSa 008 patterns
Sa 008 patterns
 
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
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering Culture
 
software architecture
software architecturesoftware architecture
software architecture
 
Sa 004 quality_attributes
Sa 004 quality_attributesSa 004 quality_attributes
Sa 004 quality_attributes
 
Pattern-based Evolution
Pattern-based EvolutionPattern-based Evolution
Pattern-based Evolution
 
Pattern-based Evolution
Pattern-based EvolutionPattern-based Evolution
Pattern-based Evolution
 
2
22
2
 

Más de Henry Muccini

Más de Henry Muccini (20)

Human Behaviour Centred Design
Human Behaviour Centred Design Human Behaviour Centred Design
Human Behaviour Centred Design
 
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...
 
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
 
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
 
Sustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd managementSustainable Tourism - IoT and crowd management
Sustainable Tourism - IoT and crowd management
 
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
 
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
 
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
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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)
 
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
 
Engineering Cyber Physical Spaces
Engineering Cyber Physical SpacesEngineering Cyber Physical Spaces
Engineering Cyber Physical Spaces
 
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
 
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
 

Último

Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
MateoGardella
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 

Último (20)

Gardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch LetterGardella_PRCampaignConclusion Pitch Letter
Gardella_PRCampaignConclusion Pitch Letter
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 

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
  • 7.
  • 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
  • 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.
  • 33.
  • 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