Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

19
Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models Christian Vogel (KIT), Heiko Koziolek (ABB), Thomas Goldschmidt (ABB), Erik Burger (KIT) © ABB Group Slide 1

description

 

Transcript of Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

Page 1: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

Christian Vogel (KIT), Heiko Koziolek (ABB), Thomas Goldschmidt (ABB), Erik Burger (KIT)

© ABB Group Slide 1

Page 2: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

MotivationPerformance Modeling at ABB

Industrial Automation Domain Efficient control/data flow

crucial for real-time constraints

Design sketches on whiteboards

End-to-end latency as a requirement

Challenges How to reason on

complex control/data flows?

How to break down global response time requirements to performance budgets for software components?

© ABB Group Slide 2

Sketchof a simple webserver

Page 3: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

Solution ApproachUCM2PCM

Palladio Component Model (PCM) allows consideration and prediction of performance from the beginning

But

Control flow and structure in different views

PCM models are difficult to create for persons from industrial automation

Thus

Use Case Maps (UCM) as new frontend for PCM

Transformation from UCM to PCM

© ABB Group Slide 3

Page 4: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

Related WorkModel transformations in SW Performance Engineering

Performance engineering C. Smith and L.Williams, Addison-Wesley (2002)

Performance Solutions: a practical guide to creating responsive, scalable software

D. Menasce, L.W. Dowdy, V. Almeida, Prentice Hall (2004)Performance by design: computer capacity planning by example

Survey of approaches for performance predictions S. Balsamo, A. Di Marco, P. Inverardi, and M. Simeoni, IEEE TSE (2004)

Model-based performance prediction in software development: A survey

H. Koziolek, Elsevier Performance Evaluation (2010)Performance evaluation of component-based software systems: A survey

Transformation of UCM into Layered Queuing Networks (LQN) D. B. Petriu (2001)

Layered software performance models constructed from use case map specifications

Use of UML Marte Profile for creating performance models M. Woodside (2007)

From annotated software designs (UML SPT/Marte) to model formalisms© ABB Group Slide 4

Page 5: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

FoundationsUse Case Maps

Scenario-based modeling language

Part of the User Requirements Notations (URN)

Intuitive and easy to learn

Graphical editor exists*

Allows specification of performance annotations

© ABB Group Slide 5

* http://lotos.site.uottawa.ca/ucm/bin/view/ProjetSEG/WebHome

Page 6: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

UCM2PCMArchitecture

© ABB Group Slide 6

Page 7: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

UCM2PCMPerformance Annotations added to UCMs

© ABB Group Slide 7

Loop IterationCount Resource Demands

Component AllocationBranch Probabilities

Scenario Workload

Page 8: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

UCM2PCMMapping Approach

© ABB Group Slide 8

UCM Path

Component

Responsibility

Page 9: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

UCM2PCMMapping Approach

© ABB Group Slide 9

Return Call

Component Call

All calls

Page 10: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

UCM2PCMMapping Approach

© ABB Group Slide 10

SystemRequiredCall

SystemProvidedCall

ParentCall

Page 11: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

UCM2PCMMapping Approach

© ABB Group Slide 11

Usage Model

Page 12: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

UCM2PCMLimitations

Limited Input Assistance Performance Annotations need to be added as key-value pairs

Limited PCM feature support Variables & Guarded Branches are not supported

No Customized ResourceEnvironment supported

Duplicated SEFFs For every call of a function a new SEFF is created

© ABB Group Slide 12

Page 13: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

EvaluationGoals

Evaluation of Accuracy Apply UCM2PCM to three test systems

Validate the correctness of the PCM models resulting from the UCM2PCM transformation

Measure and check the accuracy of the produced SimuCom performance results

Evaluation of Usability Tutorial & Assignment for UCM2PCM

Survey among developers for getting feedback about the UCM2PCM tool

© ABB Group Slide 13

Page 14: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

EvaluationTested Models

Media Store Plain Java web application for storing and retrieving

media files.

SPECjAppServer Industry-standard benchmark, designed to measure the

performance of application servers conforming to the Java EE 5.0 or later specifications.

Business Reporting System Loosely modeled after a management information

system, formerly analyzed at Carlton University. Users can retrieve live business data from the system and run statistical analyses.

© ABB Group Slide 14

Page 15: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

EvaluationBusiness Reporting System UCM

© ABB Group Slide 15

Page 16: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

EvaluationAccuracy: Original vs. transformed UCM model

Transformation successfully bridged gap between UCM and PCM

Simulation result difference to reference model below 15% and below 5% in most cases

Accuracy is seen sufficiently for early reasoning of different design alternatives

© ABB Group Slide 16

Page 17: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

EvaluationUsability: qualitative user survey

Main Advantages

Comprehensibility of model is high, also for non-experts

Fast(er) modeling

Modeling complex systems is seen critical with UCM2PCM

Results are only hints, without statistical relevance

© ABB Group Slide 17

Page 18: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

UCM2PCMConclusions and Future Work

Transformation successfully bridges semantic gap between UCM & PCM

High result accuracy

Mainly positive feedback by survey

Future Work Adding Input Assistance

to UCM editor

Reverse transformation from PCM to UCM

Conducting further case studies & experiments

© ABB Group Slide 18

Page 19: Rapid Performance Modeling by transforming Use Case Maps to Palladio Component Models

© ABB Group April 10, 2023 | Slide 19