Performance Evaluation of UML Software Systems

Simonetta Balsamo, Moreno Marzolla
Dipartimento di Informatica,

Università Ca' Foscari di Venezia

{balsamo,marzolla}@dsi.unive.it

Overview of the presentation

Motivation: Performance evaluation at the Software Architecture level

Modeling Performances with UML

Mobility Modeling with UML

Future Works

Performance Evaluation at the Architectural Level

Early identification of performance problems in Software Architectures is very useful

Costs of changing the design increases as the software development process proceeds

Performances of SA can be evaluated with

Measurement-based approach
(requires a running system)

Model-based approach
(can be done at early stages of the software development process)

UML-

Model-Based Approach

Software
Architecture

Software
Model

Performance
Model

Perf. Model
Evaluation

Performance
Results

Feedback

Modeling Performances
with UML

Combine Use Case, Activity and Deployment diagrams

Use Case diagrams	→	Workloads

Activity diagrams	→	Processing Steps

Deployment diagrams	→	Resources

Process-oriented simulation model, implemented with a custom C++ simulation library

Computed results:

Utilization/Throughput of resources

Mean execution time of actions

Annotations: Use Case Diagram

PApopulation = 10

PAextDelay = [“assm”, “dist”,
[“exponential”,10.0]]

Paprob = 1.0

<<ClosedWorkload>>

Request

Video

Annotations: Activity Diagram

Annotations:
Deployment Diagram

<<PAhost>>

<<PAhost>>

<<PAhost>>

<<PAhost>>

PAschedPolicy = ”PS”

PArate = 2.0

PAschedPolicy = ”FIFO”

PArate = 5.0

PActxSwT = [“msr”,”dist”,[“constant”,0.05]]

UML Mobility Modeling

Problem of notation. Different proposals for high-level UML mobility modeling:

V. Grassi and R. Mirandola,
“UML Modeling and Performance Analysis of Mobile Software Architectures”

Baumeister et al.,
“Extending Activity Diagrams to Model Mobile Systems”

P. Kosiuczenko,
“Sequence Diagrams for Mobility”

Others...

Our proposal

Unified UML notation for mobility AND performance modeling

Deployment Diagrams

Represent the configuration of physical resources available in the system.

Activity Diagrams

Represent the computations performed on the system

Describe how the physical configuration of the system changes as the result of mobility (both physical and logical)

Use Case Diagrams

Represent workloads

The approach / 1

The approach / 2

Each workload (user class) is modeled as an Actor.

Each behavior executed by actors is represented by a Use Case.

Use Cases are expanded into top-level Activity Diagrams. Each action represents a possible system configuration.

Top-level Activity Diagrams are detailed with the actions performed while the system is in that configuration.

Deployment Diagrams represent resources.

Conclusions

We proposed a unified approach to mobility and performance modeling of software systems

The approach is based on standard UML notation

We defined a UML profile based on (a subsef of) OMG's “UML Profile for Schedulability, Performance and Time Specification”

We have built a performance evaluation tool UML- to show the approach in practice.

The performance model is a process-oriented simulation model.

Current Status & Future Research

What we have:

A UML-based approach for performance evaluation of software architectures at the SA level.

A prototype tool to implement the approach

An extension of the approach to mobile systems

What we are working on

Extend the approach with more features

Integrate our approach into a general framework

Extend the approach to reliability

More Informations

Our papers on UML performance modeling are available online at:
http://www.dsi.unive.it/~marzolla

2003-06-17T09:13:17