SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Sustainability Evaluation
of Software Architectures

Heiko Koziolek
Industrial Software Systems
ABB Corporate Research, Germany




1
2   2
• Technology
                    2004            • Technology
                                                       2011
    – GUI: Microsoft Visual Basic      – GUI: Microsoft WPF
    – Middleware: Classic OPC          – Middleware: OPC UA
    – OS: Windows XP                   – OS: Windows 7
• Functionality (select.)           • Functionality (select.)
    – Basic alarm management           – Rich alarm management
    – No system integration            – Multi-system integration
    – No online updates                – Online updates
• Code & Documentation              • Code & Documentation
    – Defined APIs and layers          – Some layer violations
    – Design rationale present         – Some design rationale lost
    – Up-to-date documentation         – Outdated documentation


3
Measuring sustainability?




4
State of practice:
Techniques for architecture evaluation
     Experience                                            83%

     Prototyping                                70%

       Scenarios                   54%

      Checklists            40%

      Simulation      17%

Questionaires         16%

         Metrics    15%

         Others    11%

    Math. models 5%
                              [Source: AliBabar & Gorton 2009, survey with 88 architects]
5
Research Questions
• RQ1:
  Scenario-based methods
  & sustainability evaluation?

• RQ2:
  What kind of architecture-level metrics?

• RQ3:
  Implications for industry & research?
6
Search
• 14 conferences, 12 journals, 10 books
• Included only methods/metrics
  from renowned venues
• Excluded dormant or unvalidated
  methods/metrics




7
Research Questions
• RQ1:
  Scenario-based methods
  & sustainability evaluation?

• RQ2:
  What kind of architecture-level metrics?

• RQ3:
  Implications for industry & research?
8
Scenario-based Methods
•   SAAM (5%)             •   ALMA (1%)
•   ATAM (5%)             •   ESAAMI
                                          Practitioners
•   ARID                  •   SAAF        applying
                                          the method
•   SAAMER                •   ASAAM       [AliBabar &
•   PASA                  •   SALUTA      Gorton2009]

•   SBAR                  •   SACAM
•   SAAMCS      dormant
                          •   DOSAM
•   ISAAMCR               •   SBAR

9
Sustainability Evaluation Criteria



 Change scenario     Ripple effect     Variation point
  specification        analysis           analysis




   Architecture                        Existing tools &
                   Tradeoff analysis
  improvement                              artifacts
Sustainability Evaluation Criteria



 Change scenario     Ripple effect     Variation point
  specification        analysis           analysis




   Architecture                        Existing tools &
                   Tradeoff analysis
  improvement                              artifacts
ATAM   ALMA
Change
      Sustainability evaluation
scenario spec.
Ripple effect
analysis
Variation point
analysis
Architecture
improvement
Tradeoff
analysis
Existing
artifacts/tools
Return on
Investment
12
ATAM                      ALMA
Change
      Sustainability evaluation
          Quality attribute Top-down, bottom-up,
scenario spec.    scenario template         no template
Ripple effect     Manual, based on          Manual, based on
analysis          experience                experience
Variation point n/a                         n/a
analysis
Architecture      Modifiability Tactics,    n/a
improvement       Styles
Tradeoff          Utility tree with       n/a
analysis          stakeholder preferences
Existing          No support                No support
artifacts/tools
Return on         Cost: 30-70 person days   Cost: unknown
Investment        Benefit: not quantified   Benefit: not quantified
13
Findings RQ1: Scenarios
•    ATAM: more features
•    ALMA: more specific for sustainability
•    Manual ripple effect analysis
•    No reverse engineering
•    No tool integration
•    Return on Investment unknown
•    In practice: use best of both methods

14
Research Questions
• RQ1:
  Scenario-based methods
  & sustainability evaluation?

• RQ2:
  What kind of architecture-level metrics?

• RQ3:
  Implications for industry & research?

15
Architectural metrics categories



     Similarity of                                 Independent
                          Encapsulation
       Purpose                                   Compil. & Testing




                   Acyclic                                 [Sarkar2007]
                                          Size
16              Dependencies
Architectural metrics categories



     Similarity of                                 Independent
                          Encapsulation
       Purpose                                   Compil. & Testing




                   Acyclic                                 [Sarkar2007]
                                          Size
17              Dependencies
Architecture Metrics
Similarity of
Purpose

Encapsulation




Independent
Compilation
& Testing

Acyclic
Dependencies
Size
18
Architecture Metrics
Similarity of   Concept Domination Metric, Concept Coherency Metic,
                API Function Usage Index, Concern Diffusion over Arch. Components,
Purpose         Concern Scope, Concern Overlap

Encapsulation   Ratio of Cohesive Interactions, Import Coupling, Export Coupling,
                Modularization Quality, Afferent Couplings, Efferent Couplings,
                Component-level Interlacing Between Concerns,
                Lack of Concern-based Cohesion, Module Interaction Index,
                Non-API Function Closedness Index, Implicit Dependency Index,
                Base class fragility index, Inheritance-based inter-module coupling,
                Not-programming-to-interfaces Index, Association-induced coupling,
                State Access Violation Index, Entropy of an architectural slicing,
                Architecture Slicing Cohesion, Decision Volatility

Independent     Cumulative Component Dependency, Average Cumulative Component
                Dependency, Normalized Cumulative Component Dependency,
Compilation     Coupling of a module, Intra-module coupling of a module, Cohesion of a
& Testing       module, Abstractness, Instability, Distance from the Main Sequence,
                Module Interaction Stability Index, Normalized Testability Dependency
                Metric, Plugin Pollution Index, Change impact, Independence Level

Acyclic         Package Dependency Cycles, Cyclic Dependencies Index, Layer
                Organization Index, Excessive Structural Complexity
Dependencies
Size            Module Size Boundness Index, Module Size Uniformity Index

19
Architecture Metrics
Similarity of   Concept Domination Metric, Concept Coherency Metic,
                API Function Usage Index, Concern Diffusion over Arch. Components,
Purpose         Concern Scope, Concern Overlap

Encapsulation   Ratio of Cohesive Interactions, Import Coupling, Export Coupling,
                Modularization Quality, Afferent Couplings, Efferent Couplings,
                Component-level Interlacing Between Concerns,
                Lack of Concern-based Cohesion, Module Interaction Index,
                Non-API Function Closedness Index, Implicit Dependency Index,
                Base class fragility index, Inheritance-based inter-module coupling,
                Not-programming-to-interfaces Index, Association-induced coupling,
                State Access Violation Index, Entropy of an architectural slicing,
                Architecture Slicing Cohesion, Decision Volatility

Independent     Cumulative Component Dependency, Average Cumulative Component
                Dependency, Normalized Cumulative Component Dependency,
Compilation     Coupling of a module, Intra-module coupling of a module, Cohesion of a
& Testing       module, Abstractness, Instability, Distance from the Main Sequence,
                Module Interaction Stability Index, Normalized Testability Dependency
                Metric, Plugin Pollution Index, Change impact, Independence Level

Acyclic         Package Dependency Cycles, Cyclic Dependencies Index, Layer
                Organization Index, Excessive Structural Complexity
Dependencies
Size            Module Size Boundness Index, Module Size Uniformity Index

20
Example: Module Interact. Idx



       call     call         call                          ������     ������
                                                  ������������ ∈ ������1 … ������������    ������������������������ (������ ������ )
                                    ������������������ ������ =
                                                           ������������������������ (������)
                                               1+1
                                             =     ≈ 0.67
         API           Non-API                  3

               ������

                                                     [Source: Sarkar2007 IEEE TSE]
21
Example: Comparing Systems




                         [Source: Sarkar2007 IEEE TSE]
22
Findings RQ2
• >40 architecture-level
  source code metrics in literature
• Measures for architecture
  and modularization quality
• Success factors for application:
     – Mix of metrics
     – Combination with
       class-level / process metrics
• Limitations:
     – Empirical validation
     – Tool support
23
Research Questions
• RQ1:
  Scenario-based methods
  & sustainability evaluation?

• RQ2:
  What kind of architecture-level metrics?

• RQ3:
  Implications for industry & research?

24
Findings RQ3: Implications
•    More empirical research
•    Method integration
•    Effective formal models
•    Codify experiences
•    Explore other
     approaches (simulation?)



25
Conclusions
• Sustainability Evaluation of Architectures
     – change scenarios:
       basic support for sustainability criteria
     – architectural code metrics:
       measure modularization, lack empirical evidence

• Research opportunities
     – combined methods
     – empirical research




26
27
Existing surveys
• Surveys on scenario-    • Surveys / papers
  based method              on code metrics
     –   Dobrica 2002       –   McCabe 1976
     –   Ali Babar 2004     –   Halstead 1977
     –   Kazman 2005        –   Chidamber 1994
     –   Breivold 2010      –   Riaz 2009
     –   ...                –   ...




28                                    28
ATAM                        ALMA
Goals           Sensitivity & Tradeoff      Change impact analysis,
                Analysis                    maint. effort prediction

Architectural   Process, data-flow, uses,   Any
description     physical & module view

Process         Comprehensive               Limited
support

Tool support    n/a                         n/a


Knowledge       Recommended                 n/a
repository

Validation      > 20 industrial case        7 industrial case studies
                studies documented          (before 2004)
29

Más contenido relacionado

La actualidad más candente

Detection of Seed Methods for Quantification of Feature Confinement
Detection of Seed Methods for Quantification of Feature ConfinementDetection of Seed Methods for Quantification of Feature Confinement
Detection of Seed Methods for Quantification of Feature Confinement
Andrzej Olszak
 
Software engineering
Software engineeringSoftware engineering
Software engineering
nidhi5388
 
Practical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile DevicesPractical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile Devices
Johan Hoberg
 
Model-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A SurveyModel-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A Survey
Mr. Chanuwan
 

La actualidad más candente (10)

Testing Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons LearnedTesting Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons Learned
 
PhD-viva_ver0.4
PhD-viva_ver0.4PhD-viva_ver0.4
PhD-viva_ver0.4
 
ITS-Fidel
ITS-FidelITS-Fidel
ITS-Fidel
 
Detection of Seed Methods for Quantification of Feature Confinement
Detection of Seed Methods for Quantification of Feature ConfinementDetection of Seed Methods for Quantification of Feature Confinement
Detection of Seed Methods for Quantification of Feature Confinement
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Requirements Engineering Pmi
Requirements Engineering PmiRequirements Engineering Pmi
Requirements Engineering Pmi
 
Practical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile DevicesPractical Testing Definition for Mobile Devices
Practical Testing Definition for Mobile Devices
 
Software testing
Software testingSoftware testing
Software testing
 
Pimpri Chinchwad Software Testing Courses
Pimpri Chinchwad  Software Testing Courses  Pimpri Chinchwad  Software Testing Courses
Pimpri Chinchwad Software Testing Courses
 
Model-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A SurveyModel-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A Survey
 

Destacado

ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
Heiko Koziolek
 
A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...
Heiko Koziolek
 
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Heiko Koziolek
 

Destacado (7)

Comparing and Considering: Exhibit vs Palladio
Comparing and Considering: Exhibit vs PalladioComparing and Considering: Exhibit vs Palladio
Comparing and Considering: Exhibit vs Palladio
 
Q-ImPrESS
Q-ImPrESSQ-ImPrESS
Q-ImPrESS
 
ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
ICSE 2011: Q-ImPrESS - An Industrial Case Study on Quality Impact Prediction
 
A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...A Model Transformation from the Palladio Component Model to Layered Queueing ...
A Model Transformation from the Palladio Component Model to Layered Queueing ...
 
Towards Software Sustainability Guides for Industrial Software Systems
Towards Software Sustainability Guides for Industrial Software SystemsTowards Software Sustainability Guides for Industrial Software Systems
Towards Software Sustainability Guides for Industrial Software Systems
 
Parameter Dependencies for Component Reliability Specifications
Parameter Dependencies for Component Reliability SpecificationsParameter Dependencies for Component Reliability Specifications
Parameter Dependencies for Component Reliability Specifications
 
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
Rapid Performance Modeling by transforming Use Case Maps to Palladio Componen...
 

Similar a Sustainability Evaluation of Software Architectures: A Systematic Review

Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
Slideshare
 
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Lionel Briand
 
Software Process Model_Se lect4 btech
Software Process Model_Se lect4 btechSoftware Process Model_Se lect4 btech
Software Process Model_Se lect4 btech
IIITA
 
Featureous: An Integrated Approach To Location, Analysis And Modularization O...
Featureous: An Integrated Approach To Location, Analysis And Modularization O...Featureous: An Integrated Approach To Location, Analysis And Modularization O...
Featureous: An Integrated Approach To Location, Analysis And Modularization O...
Andrzej Olszak
 

Similar a Sustainability Evaluation of Software Architectures: A Systematic Review (20)

Agile for Software as a Medical Device
Agile for Software as a Medical DeviceAgile for Software as a Medical Device
Agile for Software as a Medical Device
 
comparative study software quality models
comparative study  software quality models comparative study  software quality models
comparative study software quality models
 
Solo Requisitos 2008 - 07 Upc
Solo Requisitos 2008 - 07 UpcSolo Requisitos 2008 - 07 Upc
Solo Requisitos 2008 - 07 Upc
 
E3 chap-06
E3 chap-06E3 chap-06
E3 chap-06
 
MexADL
MexADLMexADL
MexADL
 
Product metrics
Product metricsProduct metrics
Product metrics
 
Design process and concepts
Design process and conceptsDesign process and concepts
Design process and concepts
 
CodeMR - Software Quality
CodeMR - Software QualityCodeMR - Software Quality
CodeMR - Software Quality
 
Architecture evaluation
Architecture evaluationArchitecture evaluation
Architecture evaluation
 
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
 
Ch17SoftwareQuality.ppt
Ch17SoftwareQuality.pptCh17SoftwareQuality.ppt
Ch17SoftwareQuality.ppt
 
SoftwareQuality.ppt
SoftwareQuality.pptSoftwareQuality.ppt
SoftwareQuality.ppt
 
A Framework for Classifying and Comparing Architecture-Centric Software Evolu...
A Framework for Classifying and Comparing Architecture-Centric Software Evolu...A Framework for Classifying and Comparing Architecture-Centric Software Evolu...
A Framework for Classifying and Comparing Architecture-Centric Software Evolu...
 
Chapter 15 software product metrics
Chapter 15 software product metricsChapter 15 software product metrics
Chapter 15 software product metrics
 
MexADL - HADAS Presentation
MexADL - HADAS PresentationMexADL - HADAS Presentation
MexADL - HADAS Presentation
 
From requirements management to requirements authoring - Innovate 2014
From requirements management to requirements authoring - Innovate 2014From requirements management to requirements authoring - Innovate 2014
From requirements management to requirements authoring - Innovate 2014
 
Thesis+of+wei+wu.ppt
Thesis+of+wei+wu.pptThesis+of+wei+wu.ppt
Thesis+of+wei+wu.ppt
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical Systems
 
Software Process Model_Se lect4 btech
Software Process Model_Se lect4 btechSoftware Process Model_Se lect4 btech
Software Process Model_Se lect4 btech
 
Featureous: An Integrated Approach To Location, Analysis And Modularization O...
Featureous: An Integrated Approach To Location, Analysis And Modularization O...Featureous: An Integrated Approach To Location, Analysis And Modularization O...
Featureous: An Integrated Approach To Location, Analysis And Modularization O...
 

Más de Heiko Koziolek

The SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software ApplicationsThe SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software Applications
Heiko Koziolek
 
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
Heiko Koziolek
 
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Heiko Koziolek
 

Más de Heiko Koziolek (17)

Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...
Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...
Bottleneck Identification and Performance Modeling of OPC UA Communication Mo...
 
Architectural Decision Forces at Work: Experiences in an Industrial Consultan...
Architectural Decision Forces at Work: Experiences in an Industrial Consultan...Architectural Decision Forces at Work: Experiences in an Industrial Consultan...
Architectural Decision Forces at Work: Experiences in an Industrial Consultan...
 
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of ThingsOpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
OpenPnP: a Plug-and-Produce Architecture for the Industrial Internet of Things
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software Engineering
 
Self-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT SystemsSelf-commissioning Industrial IoT Systems
Self-commissioning Industrial IoT Systems
 
IoT challenges for Smart Manufacturing
IoT challenges for Smart ManufacturingIoT challenges for Smart Manufacturing
IoT challenges for Smart Manufacturing
 
Software Architecture in Process Automation: UML & the "Smart Factory"
Software Architecture in Process Automation: UML & the "Smart Factory"Software Architecture in Process Automation: UML & the "Smart Factory"
Software Architecture in Process Automation: UML & the "Smart Factory"
 
Plug-and-Produce based on Standardized Industrie 4.0 Asset Admin Shells
Plug-and-Produce based on Standardized Industrie 4.0 Asset Admin ShellsPlug-and-Produce based on Standardized Industrie 4.0 Asset Admin Shells
Plug-and-Produce based on Standardized Industrie 4.0 Asset Admin Shells
 
6 Years of Performance Modeling at ABB
6 Years of Performance Modeling at ABB6 Years of Performance Modeling at ABB
6 Years of Performance Modeling at ABB
 
Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...
Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...
Towards the Automation Cloud: Architectural Challenges for a Novel Smart Ecos...
 
MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis
MORPHOSIS: A Case Study on Lightweight Architecture Sustainability AnalysisMORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis
MORPHOSIS: A Case Study on Lightweight Architecture Sustainability Analysis
 
The SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software ApplicationsThe SPOSAD Architectural Style for Multi-tenant Software Applications
The SPOSAD Architectural Style for Multi-tenant Software Applications
 
2011 05-27-icse
2011 05-27-icse2011 05-27-icse
2011 05-27-icse
 
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
A Large-Scale Industrial Case Study on Architecture-based Software Reliabilit...
 
Towards an Architectural Style for Multi-tenant Software Applications
Towards an Architectural Style for Multi-tenant Software ApplicationsTowards an Architectural Style for Multi-tenant Software Applications
Towards an Architectural Style for Multi-tenant Software Applications
 
PerOpteryx
PerOpteryxPerOpteryx
PerOpteryx
 
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...Evolving Industrial Software Architectures into a Software Product Line: A Ca...
Evolving Industrial Software Architectures into a Software Product Line: A Ca...
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Último (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 

Sustainability Evaluation of Software Architectures: A Systematic Review

  • 1. Sustainability Evaluation of Software Architectures Heiko Koziolek Industrial Software Systems ABB Corporate Research, Germany 1
  • 2. 2 2
  • 3. • Technology 2004 • Technology 2011 – GUI: Microsoft Visual Basic – GUI: Microsoft WPF – Middleware: Classic OPC – Middleware: OPC UA – OS: Windows XP – OS: Windows 7 • Functionality (select.) • Functionality (select.) – Basic alarm management – Rich alarm management – No system integration – Multi-system integration – No online updates – Online updates • Code & Documentation • Code & Documentation – Defined APIs and layers – Some layer violations – Design rationale present – Some design rationale lost – Up-to-date documentation – Outdated documentation 3
  • 5. State of practice: Techniques for architecture evaluation Experience 83% Prototyping 70% Scenarios 54% Checklists 40% Simulation 17% Questionaires 16% Metrics 15% Others 11% Math. models 5% [Source: AliBabar & Gorton 2009, survey with 88 architects] 5
  • 6. Research Questions • RQ1: Scenario-based methods & sustainability evaluation? • RQ2: What kind of architecture-level metrics? • RQ3: Implications for industry & research? 6
  • 7. Search • 14 conferences, 12 journals, 10 books • Included only methods/metrics from renowned venues • Excluded dormant or unvalidated methods/metrics 7
  • 8. Research Questions • RQ1: Scenario-based methods & sustainability evaluation? • RQ2: What kind of architecture-level metrics? • RQ3: Implications for industry & research? 8
  • 9. Scenario-based Methods • SAAM (5%) • ALMA (1%) • ATAM (5%) • ESAAMI Practitioners • ARID • SAAF applying the method • SAAMER • ASAAM [AliBabar & • PASA • SALUTA Gorton2009] • SBAR • SACAM • SAAMCS dormant • DOSAM • ISAAMCR • SBAR 9
  • 10. Sustainability Evaluation Criteria Change scenario Ripple effect Variation point specification analysis analysis Architecture Existing tools & Tradeoff analysis improvement artifacts
  • 11. Sustainability Evaluation Criteria Change scenario Ripple effect Variation point specification analysis analysis Architecture Existing tools & Tradeoff analysis improvement artifacts
  • 12. ATAM ALMA Change Sustainability evaluation scenario spec. Ripple effect analysis Variation point analysis Architecture improvement Tradeoff analysis Existing artifacts/tools Return on Investment 12
  • 13. ATAM ALMA Change Sustainability evaluation Quality attribute Top-down, bottom-up, scenario spec. scenario template no template Ripple effect Manual, based on Manual, based on analysis experience experience Variation point n/a n/a analysis Architecture Modifiability Tactics, n/a improvement Styles Tradeoff Utility tree with n/a analysis stakeholder preferences Existing No support No support artifacts/tools Return on Cost: 30-70 person days Cost: unknown Investment Benefit: not quantified Benefit: not quantified 13
  • 14. Findings RQ1: Scenarios • ATAM: more features • ALMA: more specific for sustainability • Manual ripple effect analysis • No reverse engineering • No tool integration • Return on Investment unknown • In practice: use best of both methods 14
  • 15. Research Questions • RQ1: Scenario-based methods & sustainability evaluation? • RQ2: What kind of architecture-level metrics? • RQ3: Implications for industry & research? 15
  • 16. Architectural metrics categories Similarity of Independent Encapsulation Purpose Compil. & Testing Acyclic [Sarkar2007] Size 16 Dependencies
  • 17. Architectural metrics categories Similarity of Independent Encapsulation Purpose Compil. & Testing Acyclic [Sarkar2007] Size 17 Dependencies
  • 19. Architecture Metrics Similarity of Concept Domination Metric, Concept Coherency Metic, API Function Usage Index, Concern Diffusion over Arch. Components, Purpose Concern Scope, Concern Overlap Encapsulation Ratio of Cohesive Interactions, Import Coupling, Export Coupling, Modularization Quality, Afferent Couplings, Efferent Couplings, Component-level Interlacing Between Concerns, Lack of Concern-based Cohesion, Module Interaction Index, Non-API Function Closedness Index, Implicit Dependency Index, Base class fragility index, Inheritance-based inter-module coupling, Not-programming-to-interfaces Index, Association-induced coupling, State Access Violation Index, Entropy of an architectural slicing, Architecture Slicing Cohesion, Decision Volatility Independent Cumulative Component Dependency, Average Cumulative Component Dependency, Normalized Cumulative Component Dependency, Compilation Coupling of a module, Intra-module coupling of a module, Cohesion of a & Testing module, Abstractness, Instability, Distance from the Main Sequence, Module Interaction Stability Index, Normalized Testability Dependency Metric, Plugin Pollution Index, Change impact, Independence Level Acyclic Package Dependency Cycles, Cyclic Dependencies Index, Layer Organization Index, Excessive Structural Complexity Dependencies Size Module Size Boundness Index, Module Size Uniformity Index 19
  • 20. Architecture Metrics Similarity of Concept Domination Metric, Concept Coherency Metic, API Function Usage Index, Concern Diffusion over Arch. Components, Purpose Concern Scope, Concern Overlap Encapsulation Ratio of Cohesive Interactions, Import Coupling, Export Coupling, Modularization Quality, Afferent Couplings, Efferent Couplings, Component-level Interlacing Between Concerns, Lack of Concern-based Cohesion, Module Interaction Index, Non-API Function Closedness Index, Implicit Dependency Index, Base class fragility index, Inheritance-based inter-module coupling, Not-programming-to-interfaces Index, Association-induced coupling, State Access Violation Index, Entropy of an architectural slicing, Architecture Slicing Cohesion, Decision Volatility Independent Cumulative Component Dependency, Average Cumulative Component Dependency, Normalized Cumulative Component Dependency, Compilation Coupling of a module, Intra-module coupling of a module, Cohesion of a & Testing module, Abstractness, Instability, Distance from the Main Sequence, Module Interaction Stability Index, Normalized Testability Dependency Metric, Plugin Pollution Index, Change impact, Independence Level Acyclic Package Dependency Cycles, Cyclic Dependencies Index, Layer Organization Index, Excessive Structural Complexity Dependencies Size Module Size Boundness Index, Module Size Uniformity Index 20
  • 21. Example: Module Interact. Idx call call call ������ ������ ������������ ∈ ������1 … ������������ ������������������������ (������ ������ ) ������������������ ������ = ������������������������ (������) 1+1 = ≈ 0.67 API Non-API 3 ������ [Source: Sarkar2007 IEEE TSE] 21
  • 22. Example: Comparing Systems [Source: Sarkar2007 IEEE TSE] 22
  • 23. Findings RQ2 • >40 architecture-level source code metrics in literature • Measures for architecture and modularization quality • Success factors for application: – Mix of metrics – Combination with class-level / process metrics • Limitations: – Empirical validation – Tool support 23
  • 24. Research Questions • RQ1: Scenario-based methods & sustainability evaluation? • RQ2: What kind of architecture-level metrics? • RQ3: Implications for industry & research? 24
  • 25. Findings RQ3: Implications • More empirical research • Method integration • Effective formal models • Codify experiences • Explore other approaches (simulation?) 25
  • 26. Conclusions • Sustainability Evaluation of Architectures – change scenarios: basic support for sustainability criteria – architectural code metrics: measure modularization, lack empirical evidence • Research opportunities – combined methods – empirical research 26
  • 27. 27
  • 28. Existing surveys • Surveys on scenario- • Surveys / papers based method on code metrics – Dobrica 2002 – McCabe 1976 – Ali Babar 2004 – Halstead 1977 – Kazman 2005 – Chidamber 1994 – Breivold 2010 – Riaz 2009 – ... – ... 28 28
  • 29. ATAM ALMA Goals Sensitivity & Tradeoff Change impact analysis, Analysis maint. effort prediction Architectural Process, data-flow, uses, Any description physical & module view Process Comprehensive Limited support Tool support n/a n/a Knowledge Recommended n/a repository Validation > 20 industrial case 7 industrial case studies studies documented (before 2004) 29