SlideShare a Scribd company logo
1 of 24
© ABB Group
January 29, 2015 | Slide 1
Q-ImPrESS
Quality Impact Prediction
for Evolving Service-oriented Software
Heiko Koziolek, DECRC/I1 Industrial Software Technologies, 2010-11-26
© ABB Group
January 29, 2015 | Slide 2
Agenda
Context &
Motivation
ABB
Demonstrator
Applying
Q-ImPrESS
Lessons
Learned
EU Project Q-ImPrESS
Context
© ABB Group
January 29, 2015 | Slide 3
First
Discussions
01/2008
Demonstrators
finished
12/201004/2009
Tools available
for testing
12/2008
Requirements
finished
12/2009
First Iteration
Demonstrators
Consortium members
Q-ImPrESS tools
Ericsson demonstrator ABB demonstrator
Industrial automation: Process Control Systems
© ABB Group
January 29, 2015 | Slide 4
Motivation
Software development at ABB
 Continuous evolution of ABB software systems
 New requirements, technologies, failure reports
Software maintenance and evolution
are a large cost factor for ABB software development
 Current practice
 Design decisions for evolutions based on experience
 Prototyping for new technologies, performance impacts
 Limited systematic tradeoff analyses
Apply model-based prediction methods
for systematic tradeoff analyses
to save costs and achieve higher quality?
© ABB Group
January 29, 2015 | Slide 5
Q-ImPrESS Method
Overview
Eclipse
Modeling
Framework
Q-ImPrESS Workbench
Backbone
Layered Queueing Networks
or Palladio/SimuCOM
Discrete Time
Markov Chains
KAMP cost
calculator
QVT Model
Transformations
ABB Demonstrator: Process control system
Topology
© ABB Group
January 29, 2015 | Slide 7
Plant / Office Network
Network
Isolation
Device
Remote
Workplaces
Firewall
Internet
Remote
Workplaces
Redundant Network
Workplaces
Controllers
Servers
Fieldbus
Remote I/O and
Field devices
Focus on the
server-side
software
Reverse Engineering in Q-ImPrESS
Process/Method
© ABB Group
January 29, 2015 | Slide 8
SoMoX3
Q-ImPrESS
Model
C++
Source
1
Structural Investigation of Software Systems
3
Software Model eXtractor
2
Generalized Abstract Syntax Tree
SISSy1
GAST2
Reverse Engineering in Q-ImPrESS
Sample Result for 50KLOC subsystem
© ABB Group
January 29, 2015 | Slide 9
 SISSy parser not robust against Microsoft C++ code
 Configuring of the metrics intransparent
 Reference decomposition essential
 Limited scalability, unclear if faster than manual modelling
 Static analysis of limited use for QoS prediction
Reverse Engineering
Results from ABB code
Lines
of
Code
Time for
parsing,
clustering
Percentage
of reconstructed
higher level
components
Qualitative
evaluation
(--, -, o, +, ++)
ABB Component 1 10 0.5h / 1h 100% +
ABB Component 2 250 4h / 16h 0% --
ABB Component 3 3300 >60h / ? n/a --
© ABB Group
January 29, 2015 | Slide 10
Manual Modeling
Process/Method
Analyzed
existing
architectural
documentation
Created test-
bed (2 quad-
cores, emulated
controllers)
Installed and
configured the
system (>100h)
Identified 4
critical usage
scenarios
Configured load
drivers with
typical
workloads
Decided for
abstr. level
(processes =
components)
Recorded
component
transitions
Wrote script to
derive transition
probabilities
Discussed
validity with
architects and
developers
© ABB Group
January 29, 2015 | Slide 11
Manual Modeling
Q-ImPrESS model of the ABB process control system
© ABB Group
January 29, 2015 | Slide 12
Performance Prediction
Process
Applied Service
Demand Law
(S = X/U)
Measured X, U
for each
process
(PerfMon)
Determined 20
CPU and HD
resource
demands
Parametrized
resource
demands
(linear regr.)
Abstracted
memory,
network,
virtualization
Integrated
demands into
Q-ImPrESS
model
Performed
predictions
(SimuCom,
LQN)
© ABB Group
January 29, 2015 | Slide 13
Performance Prediction
Sample predictions for different allocation scenarios
© ABB Group
January 29, 2015 | Slide 14
Heiko Koziolek. Performance Prediction for an Industrial Control System.
Submitted to ACM/SPEC International Conference on Performance Engineering (ICPE‘11)
 Achieved prediction error below 30 percent
 Data collection consumed more time than expected
 Support for service-oriented systems limited
 Easy to analyse different evolution scenarios
 Many bottlenecks below the architectural level
Performance Prediction
Results
Workload PerfMon
Measured
SimuCom
Prediction
Error (%) LQNS
Prediction
Error (%)
30 17.146 12.467 27.288 12.464 27.305
60 26.681 22.366 16.174 22.343 16.260
90 31.902 32.347 1.395 32.322 1.317
120 39.016 42.432 8.754 42.329 8.490
150 51.929 51.943 0.027 51.760 0.326
© ABB Group
January 29, 2015 | Slide 15
Reliability Prediction
Data Collection
Acquired
access to bug
tracking system
Selected
growth model
from IEEE
1633-2008
Performed
curve fitting on
bug report
dates (CASRE)
Determined
failure rates per
subsystem
Validated failure
rates against
code metrics
Annotated
components in
Q-ImPrESS
model
Performed
reliability
predictions
(PRISM)
© ABB Group
January 29, 2015 | Slide 16
Reliability Prediction
Sample sensitivity analysis
© ABB Group
January 29, 2015 | Slide 17
Heiko Koziolek, Bastian Schlich, and Carlos Bilich.
A Large-Scale Industrial Case Study on Architecture-based Software Reliability Analysis.
Proc. 21st IEEE International Symposium on Software Reliability Engineering (ISSRE'10)
Reliability Prediction
Results
© ABB Group
January 29, 2015 | Slide 18
 Possible use of results for future test budget distribution
 Abstraction level too high: no hardware, no concurrency
 Data collection for lower abstraction levels difficult
 Many statistical assumptions (e.g., Markovian control flow)
 Validation inherently difficult: would take years to get data
 Difficult to establish trust into the results
 Data collection method not applicable for new systems
 Limited step-by-step guidance and best practice known
 Limited amount of case studies in literature
Tradeoff Analysis
Design space exploration with PerOpteryx
© ABB Group
January 29, 2015 | Slide 19
 Manually specified degrees of freedom in the model
(processor speeds, component allocations, COTS)
 PerOpteryx applied an evolutionary algorithm (NSGA II)
to search the space spanned by the degrees of freedom
 Determines optimal performance/reliability/costs tradeoffs
 Could be applied for future sizing of the system
Anne Martens, Heiko Koziolek, Steffen Becker, and Ralf Reussner.
Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms.
Proc. ACM/SPEC International Conference on Performance Engineering (ICPE'10)
 Analytical Hierachy Process (from decision support)
 Requires manual pairwise comparison of candidates
 Applied on 4 alternatives, specified 24 weights
 Alternative 3 best because of the preference for reliability
 Method not scalable: e.g., 180 comparisons for 10 alt.
Tradeoff Analysis
Weighing Alternatives with AHP Wizard
© ABB Group
January 29, 2015 | Slide 20
Leo Hatvani, Anton Jansen, Cristina Seceleanu and Paul Pettersson.
Integrated Tool for Trade-off Analysis of Quality-of-Service Attributes
Proc. 2nd Int. Workshop on the Quality of Service-oriented Software Systems (QUAOSS’10)
Lessons Learned
Experience with Q-ImPrESS method and tools
 Integrated approach with comprehensive tool support
 Limited integration with other tools and methods
 Cost-effective only for large systems
 Limited expressiveness of the Q-ImPrESS meta model
 Missing data collection support
 Complexity of evolution scenarios determines accuracy
 Iterative modelling and strong goal-orientation required
© ABB Group
January 29, 2015 | Slide 21
Lessons Learned
Cost estimations in person hours
 Cost estimation (in person hours) based on our experience
 Best case: input data or test-bed readily available
 Worst case: unknown system, new data collection method
 We actually needed more effort than the worst case!
© ABB Group
January 29, 2015 | Slide 22
Conclusions
 Q-ImPrESS reverse engineering
 Parser not robust for MS C++,
clustering intransparent
 Q-ImPrESS modeling tools
 Well-integrated, graphical editors
 Q-ImPrESS performance prediction
 Accurate results possible
 Q-ImPrESS reliability prediciton
 Many assumptions, still primitive models
 More research for efficient data
collection needed
 Internal ABB follow-up planned
© ABB Group
January 29, 2015 | Slide 23
© ABB Group
January 29, 2015 | Slide 24

More Related Content

What's hot

New Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling ProblemNew Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling Problem
Philippe Laborie
 
RAMYA_V_RAO - Resume
RAMYA_V_RAO - ResumeRAMYA_V_RAO - Resume
RAMYA_V_RAO - Resume
Ramya Rao
 
Industrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingIndustrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint Programming
Philippe Laborie
 

What's hot (20)

You have been called in as a consultant to set up a kanban control system
You have been called in as a consultant to set up a kanban control systemYou have been called in as a consultant to set up a kanban control system
You have been called in as a consultant to set up a kanban control system
 
New Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling ProblemNew Results for the GEO-CAPE Observation Scheduling Problem
New Results for the GEO-CAPE Observation Scheduling Problem
 
Ops 571 final exam guide (new, 2018) you have been called in as a consultant ...
Ops 571 final exam guide (new, 2018) you have been called in as a consultant ...Ops 571 final exam guide (new, 2018) you have been called in as a consultant ...
Ops 571 final exam guide (new, 2018) you have been called in as a consultant ...
 
IWSM2014 COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
IWSM2014   COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)IWSM2014   COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
IWSM2014 COSMIC masterclass part 2 - Dealing with NFR (Chris Woodward)
 
Ops 571 final exam guide (new, 2018) you have been called in as a consultant ...
Ops 571 final exam guide (new, 2018) you have been called in as a consultant ...Ops 571 final exam guide (new, 2018) you have been called in as a consultant ...
Ops 571 final exam guide (new, 2018) you have been called in as a consultant ...
 
1806 cosmic progress
1806 cosmic progress1806 cosmic progress
1806 cosmic progress
 
RAMYA_V_RAO - Resume
RAMYA_V_RAO - ResumeRAMYA_V_RAO - Resume
RAMYA_V_RAO - Resume
 
Planning/Scheduling with CP Optimizer
Planning/Scheduling with CP OptimizerPlanning/Scheduling with CP Optimizer
Planning/Scheduling with CP Optimizer
 
Implementing Level 5 Metrics Programme @ Capgemini Netherlands
Implementing Level 5 Metrics Programme @ Capgemini NetherlandsImplementing Level 5 Metrics Programme @ Capgemini Netherlands
Implementing Level 5 Metrics Programme @ Capgemini Netherlands
 
Industrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint ProgrammingIndustrial project and machine scheduling with Constraint Programming
Industrial project and machine scheduling with Constraint Programming
 
Case-study by CT-Ingénierie: Capella in the preliminary design of the micro l...
Case-study by CT-Ingénierie: Capella in the preliminary design of the micro l...Case-study by CT-Ingénierie: Capella in the preliminary design of the micro l...
Case-study by CT-Ingénierie: Capella in the preliminary design of the micro l...
 
CP Optimizer pour la planification et l'ordonnancement
CP Optimizer pour la planification et l'ordonnancementCP Optimizer pour la planification et l'ordonnancement
CP Optimizer pour la planification et l'ordonnancement
 
ICAPS-2020 Industry Session
ICAPS-2020 Industry SessionICAPS-2020 Industry Session
ICAPS-2020 Industry Session
 
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...CP Optimizer: a generic optimization engine at the crossroad of AI and OR  fo...
CP Optimizer: a generic optimization engine at the crossroad of AI and OR fo...
 
AVEVA World Conference NA - Patrick Reilly, Vista Projects
AVEVA World Conference NA - Patrick Reilly, Vista ProjectsAVEVA World Conference NA - Patrick Reilly, Vista Projects
AVEVA World Conference NA - Patrick Reilly, Vista Projects
 
AVEVA World Conference NA - Greg Pada, Digital Twin Solutions
AVEVA World Conference NA - Greg Pada, Digital Twin SolutionsAVEVA World Conference NA - Greg Pada, Digital Twin Solutions
AVEVA World Conference NA - Greg Pada, Digital Twin Solutions
 
Rohit new resume
Rohit new resumeRohit new resume
Rohit new resume
 
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
An Update on the Comparison of MIP, CP and Hybrid Approaches for Mixed Resour...
 
AVEVA World Conference NA - Tom Singer, Aker Solutions
AVEVA World Conference NA - Tom Singer, Aker SolutionsAVEVA World Conference NA - Tom Singer, Aker Solutions
AVEVA World Conference NA - Tom Singer, Aker Solutions
 
Nesma autumn conference 2015 - Functional testing miniguide - Ignacio López C...
Nesma autumn conference 2015 - Functional testing miniguide - Ignacio López C...Nesma autumn conference 2015 - Functional testing miniguide - Ignacio López C...
Nesma autumn conference 2015 - Functional testing miniguide - Ignacio López C...
 

Viewers also liked

Sustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic ReviewSustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic Review
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
 

Viewers also liked (6)

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
 
Comparing and Considering: Exhibit vs Palladio
Comparing and Considering: Exhibit vs PalladioComparing and Considering: Exhibit vs Palladio
Comparing and Considering: Exhibit vs Palladio
 
Sustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic ReviewSustainability Evaluation of Software Architectures: A Systematic Review
Sustainability Evaluation of Software Architectures: A Systematic Review
 
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 ...
 
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 to Q-ImPrESS

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
 
SpiritIT_mCT_Petrolchimico_Final_rev1
SpiritIT_mCT_Petrolchimico_Final_rev1SpiritIT_mCT_Petrolchimico_Final_rev1
SpiritIT_mCT_Petrolchimico_Final_rev1
Nunzio Bonavita
 

Similar to Q-ImPrESS (20)

2011 05-27-icse
2011 05-27-icse2011 05-27-icse
2011 05-27-icse
 
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
 
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...
 
ABB Scheduling.pdf
ABB Scheduling.pdfABB Scheduling.pdf
ABB Scheduling.pdf
 
Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...Automatic Performance Modelling from Application Performance Management (APM)...
Automatic Performance Modelling from Application Performance Management (APM)...
 
Requirements quality management within the airbus group v3
Requirements quality management within the airbus group v3Requirements quality management within the airbus group v3
Requirements quality management within the airbus group v3
 
SpiritIT_mCT_Petrolchimico_Final_rev1
SpiritIT_mCT_Petrolchimico_Final_rev1SpiritIT_mCT_Petrolchimico_Final_rev1
SpiritIT_mCT_Petrolchimico_Final_rev1
 
Performance Calculation and Benchmarking using the ISBSG Release 10 Data Rep...
Performance Calculation and Benchmarking  using the ISBSG Release 10 Data Rep...Performance Calculation and Benchmarking  using the ISBSG Release 10 Data Rep...
Performance Calculation and Benchmarking using the ISBSG Release 10 Data Rep...
 
CostEstimation-1.ppt
CostEstimation-1.pptCostEstimation-1.ppt
CostEstimation-1.ppt
 
Test Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment ToolTest Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment Tool
 
Spot Lets NetApp Get the Most Out of the Cloud
Spot Lets NetApp Get the Most Out of the CloudSpot Lets NetApp Get the Most Out of the Cloud
Spot Lets NetApp Get the Most Out of the Cloud
 
A company is planning for its financing needs and uses the basic fixed order-...
A company is planning for its financing needs and uses the basic fixed order-...A company is planning for its financing needs and uses the basic fixed order-...
A company is planning for its financing needs and uses the basic fixed order-...
 
A company is planning for its financing needs and uses the basic fixed order-...
A company is planning for its financing needs and uses the basic fixed order-...A company is planning for its financing needs and uses the basic fixed order-...
A company is planning for its financing needs and uses the basic fixed order-...
 
A Model Driven Approach for automated generation of Service-oriented Holonic ...
A Model Driven Approach for automated generation of Service-oriented Holonic ...A Model Driven Approach for automated generation of Service-oriented Holonic ...
A Model Driven Approach for automated generation of Service-oriented Holonic ...
 
Past Experiences and Future Challenges using Automatic Performance Modelling ...
Past Experiences and Future Challenges using Automatic Performance Modelling ...Past Experiences and Future Challenges using Automatic Performance Modelling ...
Past Experiences and Future Challenges using Automatic Performance Modelling ...
 
Microsoft power point from requiremens management to requirements authoring...
Microsoft power point   from requiremens management to requirements authoring...Microsoft power point   from requiremens management to requirements authoring...
Microsoft power point from requiremens management to requirements authoring...
 
about how software prototyping helps in SDLC
about how software prototyping helps in SDLCabout how software prototyping helps in SDLC
about how software prototyping helps in SDLC
 
Testwarez 2009 Use Proper Tool
Testwarez 2009 Use Proper ToolTestwarez 2009 Use Proper Tool
Testwarez 2009 Use Proper Tool
 
Presentation
PresentationPresentation
Presentation
 
An investigation of extreme programming practices and its impact on software ...
An investigation of extreme programming practices and its impact on software ...An investigation of extreme programming practices and its impact on software ...
An investigation of extreme programming practices and its impact on software ...
 

More from 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
 
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
 

More from Heiko Koziolek (14)

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

Recently uploaded

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
 

Recently uploaded (20)

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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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, ...
 
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
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Q-ImPrESS

  • 1. © ABB Group January 29, 2015 | Slide 1 Q-ImPrESS Quality Impact Prediction for Evolving Service-oriented Software Heiko Koziolek, DECRC/I1 Industrial Software Technologies, 2010-11-26
  • 2. © ABB Group January 29, 2015 | Slide 2 Agenda Context & Motivation ABB Demonstrator Applying Q-ImPrESS Lessons Learned
  • 3. EU Project Q-ImPrESS Context © ABB Group January 29, 2015 | Slide 3 First Discussions 01/2008 Demonstrators finished 12/201004/2009 Tools available for testing 12/2008 Requirements finished 12/2009 First Iteration Demonstrators Consortium members Q-ImPrESS tools Ericsson demonstrator ABB demonstrator
  • 4. Industrial automation: Process Control Systems © ABB Group January 29, 2015 | Slide 4
  • 5. Motivation Software development at ABB  Continuous evolution of ABB software systems  New requirements, technologies, failure reports Software maintenance and evolution are a large cost factor for ABB software development  Current practice  Design decisions for evolutions based on experience  Prototyping for new technologies, performance impacts  Limited systematic tradeoff analyses Apply model-based prediction methods for systematic tradeoff analyses to save costs and achieve higher quality? © ABB Group January 29, 2015 | Slide 5
  • 6. Q-ImPrESS Method Overview Eclipse Modeling Framework Q-ImPrESS Workbench Backbone Layered Queueing Networks or Palladio/SimuCOM Discrete Time Markov Chains KAMP cost calculator QVT Model Transformations
  • 7. ABB Demonstrator: Process control system Topology © ABB Group January 29, 2015 | Slide 7 Plant / Office Network Network Isolation Device Remote Workplaces Firewall Internet Remote Workplaces Redundant Network Workplaces Controllers Servers Fieldbus Remote I/O and Field devices Focus on the server-side software
  • 8. Reverse Engineering in Q-ImPrESS Process/Method © ABB Group January 29, 2015 | Slide 8 SoMoX3 Q-ImPrESS Model C++ Source 1 Structural Investigation of Software Systems 3 Software Model eXtractor 2 Generalized Abstract Syntax Tree SISSy1 GAST2
  • 9. Reverse Engineering in Q-ImPrESS Sample Result for 50KLOC subsystem © ABB Group January 29, 2015 | Slide 9
  • 10.  SISSy parser not robust against Microsoft C++ code  Configuring of the metrics intransparent  Reference decomposition essential  Limited scalability, unclear if faster than manual modelling  Static analysis of limited use for QoS prediction Reverse Engineering Results from ABB code Lines of Code Time for parsing, clustering Percentage of reconstructed higher level components Qualitative evaluation (--, -, o, +, ++) ABB Component 1 10 0.5h / 1h 100% + ABB Component 2 250 4h / 16h 0% -- ABB Component 3 3300 >60h / ? n/a -- © ABB Group January 29, 2015 | Slide 10
  • 11. Manual Modeling Process/Method Analyzed existing architectural documentation Created test- bed (2 quad- cores, emulated controllers) Installed and configured the system (>100h) Identified 4 critical usage scenarios Configured load drivers with typical workloads Decided for abstr. level (processes = components) Recorded component transitions Wrote script to derive transition probabilities Discussed validity with architects and developers © ABB Group January 29, 2015 | Slide 11
  • 12. Manual Modeling Q-ImPrESS model of the ABB process control system © ABB Group January 29, 2015 | Slide 12
  • 13. Performance Prediction Process Applied Service Demand Law (S = X/U) Measured X, U for each process (PerfMon) Determined 20 CPU and HD resource demands Parametrized resource demands (linear regr.) Abstracted memory, network, virtualization Integrated demands into Q-ImPrESS model Performed predictions (SimuCom, LQN) © ABB Group January 29, 2015 | Slide 13
  • 14. Performance Prediction Sample predictions for different allocation scenarios © ABB Group January 29, 2015 | Slide 14 Heiko Koziolek. Performance Prediction for an Industrial Control System. Submitted to ACM/SPEC International Conference on Performance Engineering (ICPE‘11)
  • 15.  Achieved prediction error below 30 percent  Data collection consumed more time than expected  Support for service-oriented systems limited  Easy to analyse different evolution scenarios  Many bottlenecks below the architectural level Performance Prediction Results Workload PerfMon Measured SimuCom Prediction Error (%) LQNS Prediction Error (%) 30 17.146 12.467 27.288 12.464 27.305 60 26.681 22.366 16.174 22.343 16.260 90 31.902 32.347 1.395 32.322 1.317 120 39.016 42.432 8.754 42.329 8.490 150 51.929 51.943 0.027 51.760 0.326 © ABB Group January 29, 2015 | Slide 15
  • 16. Reliability Prediction Data Collection Acquired access to bug tracking system Selected growth model from IEEE 1633-2008 Performed curve fitting on bug report dates (CASRE) Determined failure rates per subsystem Validated failure rates against code metrics Annotated components in Q-ImPrESS model Performed reliability predictions (PRISM) © ABB Group January 29, 2015 | Slide 16
  • 17. Reliability Prediction Sample sensitivity analysis © ABB Group January 29, 2015 | Slide 17 Heiko Koziolek, Bastian Schlich, and Carlos Bilich. A Large-Scale Industrial Case Study on Architecture-based Software Reliability Analysis. Proc. 21st IEEE International Symposium on Software Reliability Engineering (ISSRE'10)
  • 18. Reliability Prediction Results © ABB Group January 29, 2015 | Slide 18  Possible use of results for future test budget distribution  Abstraction level too high: no hardware, no concurrency  Data collection for lower abstraction levels difficult  Many statistical assumptions (e.g., Markovian control flow)  Validation inherently difficult: would take years to get data  Difficult to establish trust into the results  Data collection method not applicable for new systems  Limited step-by-step guidance and best practice known  Limited amount of case studies in literature
  • 19. Tradeoff Analysis Design space exploration with PerOpteryx © ABB Group January 29, 2015 | Slide 19  Manually specified degrees of freedom in the model (processor speeds, component allocations, COTS)  PerOpteryx applied an evolutionary algorithm (NSGA II) to search the space spanned by the degrees of freedom  Determines optimal performance/reliability/costs tradeoffs  Could be applied for future sizing of the system Anne Martens, Heiko Koziolek, Steffen Becker, and Ralf Reussner. Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. Proc. ACM/SPEC International Conference on Performance Engineering (ICPE'10)
  • 20.  Analytical Hierachy Process (from decision support)  Requires manual pairwise comparison of candidates  Applied on 4 alternatives, specified 24 weights  Alternative 3 best because of the preference for reliability  Method not scalable: e.g., 180 comparisons for 10 alt. Tradeoff Analysis Weighing Alternatives with AHP Wizard © ABB Group January 29, 2015 | Slide 20 Leo Hatvani, Anton Jansen, Cristina Seceleanu and Paul Pettersson. Integrated Tool for Trade-off Analysis of Quality-of-Service Attributes Proc. 2nd Int. Workshop on the Quality of Service-oriented Software Systems (QUAOSS’10)
  • 21. Lessons Learned Experience with Q-ImPrESS method and tools  Integrated approach with comprehensive tool support  Limited integration with other tools and methods  Cost-effective only for large systems  Limited expressiveness of the Q-ImPrESS meta model  Missing data collection support  Complexity of evolution scenarios determines accuracy  Iterative modelling and strong goal-orientation required © ABB Group January 29, 2015 | Slide 21
  • 22. Lessons Learned Cost estimations in person hours  Cost estimation (in person hours) based on our experience  Best case: input data or test-bed readily available  Worst case: unknown system, new data collection method  We actually needed more effort than the worst case! © ABB Group January 29, 2015 | Slide 22
  • 23. Conclusions  Q-ImPrESS reverse engineering  Parser not robust for MS C++, clustering intransparent  Q-ImPrESS modeling tools  Well-integrated, graphical editors  Q-ImPrESS performance prediction  Accurate results possible  Q-ImPrESS reliability prediciton  Many assumptions, still primitive models  More research for efficient data collection needed  Internal ABB follow-up planned © ABB Group January 29, 2015 | Slide 23
  • 24. © ABB Group January 29, 2015 | Slide 24

Editor's Notes

  1. 3 MLOC C++, COM, ATL9 subsystems, >100 componentsmanaging industrial process (e.g., power generation, paper production, oil and gas refining, etc.)distributed system, controllers, servers, networks, field devicesoperator workplace for controlling the process: montoring sensor readings, manipulating actuators
  2. units obfuscated for confidentiality reasonssubsystem 8 has highest failure probabilitysubsystem 1 has highest sensitivity to system reliabilitysubsystem 6 is used by many subsystems, but only limited contribution to system reliability