Q-ImPrESS

24
© ABB Group 6/6/22 | Slide 1 Q-ImPrESS Quality Impact Prediction for Evolving Service-oriented Software Heiko Koziolek, DECRC/I1 Industrial Software Technologies, 2010-11-26

description

Systematic decision support for architectural design decisions is a major concern for software architects of evolving service-oriented systems. In practice, architects often analyse the expected performance and reliability of design alternatives based on prototypes or former experience. Model-driven prediction methods claim to uncover the tradeoffs between different alternatives quantitatively while being more cost-effective and less error-prone. However, they often suffer from weak tool support and focus on single quality attributes. Furthermore, there is limited evidence on their effectivenessbased on documented industrial case studies. Thus, we have applied a novel, model-driven prediction method called Q-ImPrESS on a large-scale process control system consisting of several million lines of code from the automation domain to evaluate its evolution scenarios. This presentation reports our experiences with the method and lessons learned. Benefits of Q-ImPrESS are the good architectural decision support and comprehensive tool framework, while one drawback is the time-consuming datacollection.

Transcript of Q-ImPrESS

Page 1: Q-ImPrESS

© ABB Group April 9, 2023 | Slide 1

Q-ImPrESSQuality Impact Prediction for Evolving Service-oriented Software

Heiko Koziolek, DECRC/I1 Industrial Software Technologies, 2010-11-26

Page 2: Q-ImPrESS

© ABB Group April 9, 2023 | Slide 2

Agenda

Context & Motivation

ABB Demonstrat

or

ApplyingQ-ImPrESS

LessonsLearned

Page 3: Q-ImPrESS

EU Project Q-ImPrESSContext

© ABB Group April 9, 2023 | Slide 3

First Discussions

01/2008

Demonstrators finished

12/201004/2009

Tools available for testing

12/2008

Requirementsfinished

12/2009

First Iteration Demonstrators

Consortium members

Q-ImPrESS tools

Ericsson demonstrator ABB demonstrator

Page 4: Q-ImPrESS

Industrial automation: Process Control Systems

© ABB Group April 9, 2023 | Slide 4

Page 5: Q-ImPrESS

MotivationSoftware development at ABB

Continuous evolution of ABB software systems

New requirements, technologies, failure reports

Software maintenance and evolutionare 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 methodsfor systematic tradeoff analysesto save costs and achieve higher quality?

© ABB Group April 9, 2023 | Slide 5

Page 6: Q-ImPrESS

Q-ImPrESS MethodOverview

Eclipse Modeling

Framework

Q-ImPrESS Workbench Backbone

Layered Queueing Networks or Palladio/SimuCOM

Discrete Time Markov Chains

KAMP cost calculator

QVT ModelTransformations

Page 7: Q-ImPrESS

ABB Demonstrator: Process control systemTopology

© ABB Group April 9, 2023 | Slide 7

Plant / Office Network

NetworkIsolation

Device

RemoteWorkplaces

Firewall

Internet

RemoteWorkplaces

Redundant Network

Workplaces

Controllers

Servers

Fieldbus

Remote I/O andField devices

Focus on the server-side

software

Page 8: Q-ImPrESS

Reverse Engineering in Q-ImPrESSProcess/Method

© ABB Group April 9, 2023 | Slide 8

SoMoX3

Q-ImPrESSModel

C++Source

1Structural Investigation of Software Systems

3Software Model eXtractor

2Generalized Abstract Syntax Tree

SISSy1

GAST2

Page 9: Q-ImPrESS

Reverse Engineering in Q-ImPrESSSample Result for 50KLOC subsystem

© ABB Group April 9, 2023 | Slide 9

Page 10: Q-ImPrESS

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 EngineeringResults 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 April 9, 2023 | Slide 10

Page 11: Q-ImPrESS

Manual ModelingProcess/Method

Analyzed existing

architectural documentatio

n

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

(processes = components)

Recorded component transitions

Wrote script to derive transition

probabilities

Discussed validity with architects

and developers

© ABB Group April 9, 2023 | Slide 11

Page 12: Q-ImPrESS

Manual ModelingQ-ImPrESS model of the ABB process control system

© ABB Group April 9, 2023 | Slide 12

Page 13: Q-ImPrESS

Performance PredictionProcess

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 April 9, 2023 | Slide 13

Page 14: Q-ImPrESS

Performance PredictionSample predictions for different allocation scenarios

© ABB Group April 9, 2023 | Slide 14

Heiko Koziolek. Performance Prediction for an Industrial Control System. Submitted to ACM/SPEC International Conference on Performance Engineering (ICPE‘11)

Page 15: Q-ImPrESS

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 PredictionResults

Workload PerfMonMeasured

SimuComPrediction

Error (%) LQNSPrediction

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 April 9, 2023 | Slide 15

Page 16: Q-ImPrESS

Reliability PredictionData 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 April 9, 2023 | Slide 16

Page 17: Q-ImPrESS

Reliability PredictionSample sensitivity analysis

© ABB Group April 9, 2023 | 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)

Page 18: Q-ImPrESS

Reliability PredictionResults

© ABB Group April 9, 2023 | 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

Page 19: Q-ImPrESS

Tradeoff AnalysisDesign space exploration with PerOpteryx

© ABB Group April 9, 2023 | 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)

Page 20: Q-ImPrESS

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 AnalysisWeighing Alternatives with AHP Wizard

© ABB Group April 9, 2023 | 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)

Page 21: Q-ImPrESS

Lessons LearnedExperience 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 April 9, 2023 | Slide 21

Page 22: Q-ImPrESS

Lessons LearnedCost 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 April 9, 2023 | Slide 22

Page 23: Q-ImPrESS

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 April 9, 2023 | Slide 23

Page 24: Q-ImPrESS

© ABB Group April 9, 2023 | Slide 24