spacer search

Software Engineering for Service-Oriented Overlay Computers
Software Engineering for Service-Oriented Overlay Computers

Main Menu

Model-driven Performance Validation and Orchestration Print

This development scenario describes one of the issues of the Automotive Case Study

Problem statement

Service level guarantees are often performance related. Measuring performance only after the service has been implemented maybe costly, in particular if the results are not satisfactory and major redesign is required. Thus, performance question should be addressed at design level already. However, languages used for software design are not usually suited for performance analysis, and manual transformations are too error-prone. The same applies to the transformation of the model to the implementation, where WS-BPEL has emerged as a standard.


Some car manufacturers are offering a service by which, when the airbag system detects an accident with their car, customers are contacted via their mobile phone to check if they require assistance. If they do, a nearby ambulance is dispatched. To guarantee a certain level of service, the provider has to be sure that, e.g., in 90% of the cases the ambulance would arrive within 15 minutes after the accident. Formally this is a service level agreement, relating an execution path through the system, a probability bound and a time bound.

The system (consisting of the airbag system in the car, a central server, a call center, and an interface to the emergency services) is modelled in UML, using component diagrams for the architecture and activity diagrams for the behavior of the components. Actions in the activity diagram are annotated with timing information, e.g., specifying that the average rate of accidents in any given car would be once in every 3 years.
The model is analysed for the desired service levels. The question can be direct, like whether the statement above is true, or indirect, like “What is the probability of the ambulance arriving within 15 min?”. Further, by undertaking a number of different runs of the analysis with different timing annotations for the activities one can undertake a sensitivity analysis for the problem. This answers questions of the form "We are failing to meet our service level agreement, where should we invest effort in trying to improve the service?". Depending on the roles of the activities in the model a modest improvement in one of the rates may have a significant impact on the time from the start to the end, whereas a great improvement in another of the rates may make little difference at all.

After the analysis and suitable revision of the model, the new service will be implemented by transforming component and activity diagrams to WS-BPEL and deploying it to a WS-BPEL engine for execution. The advantage of the approach is that performance evaluation and implementation can be based on the same high-level models, without the need to understand a dedicated formal or XML-based notation.


In order to do the analysis, the UML model will be translated into a PEPA process (PEPA: Process Algebra for Performance Analysis). Specifying the property in a stochastic logic, the analysis can then be carried out in a by a stochastic model checker like PRISM or a transient analysis evaluator such as Hydra.
Automated model transformations from design models in UML to both PEPA and WS-BPEL are employed. A model transformation language and tools are used to define and implement these transformations.


  • UML component and activity diagrams (BPEL profile, with performance annotations)
  • PEPA
  • Model transformation language


  • UML CASE tool
  • PEPA tool
  • Model Transformation Tool
  • WS-BPEL engine
  • Steps

    • Create UML model (UML case tool)
    • Transform into PEPA (model transformation tool)
    • Analyse model (PEPA tool)
    • Create feedback at model level (model transformation tool), and revise model (UML CASE tool)
    • Transform model into WS-BPEL (model transformation tool)
    • Deploy and execute process (WS-BPEL engine)

    Relevant for Case Studies

    • Automotive (Airbag Scenario)
    • Finance (Self-Service System), evaluating the scalability and QOS of a network of ATMs

    Relevant for Work packages

    • WP1: Modelling in Service-Oriented Architectures
    • WP7: Model-driven Development
    • WP4: Quantitative Aspects of Services


Martin Wirsing, Allan Clark, Stephen Gilmore, Matthias Hölzl, Alexander Knapp, Nora Koch, and Andreas Schroeder. Semantic-Based Development of Service-Oriented Systems. In E. Najn et al., editor, Proc. 26th IFIP WG 6.1 International Conference on Formal Methods for Networked and Distributed Systems
(FORTE'06), Paris, France, LNCS 4229, pages 24-45. Springer-Verlag, 2006.

The Sensoria Project Website
2005 - 2010