U2Q - UML to Queueing Network


U2Q is a tool that allows developers to estimate the performance of a system prior to prototypes based on UML models only.


Contact

Lukas Pustina


Description

"UML to Queueing Network" (U2Q) is the implementation of a design methodology that allows developers to estimate the performance of a system in very early stages of development where no prototypes are yet available. Starting from a functional UML system model, the developer enhances the system model by incorporating performance annotations. From this performance aspects enhanced system model, U2Q generates Queueing Networks as performance models which then may be analysed using analytical or simulative approaches. The tool itself smoothly integrates into Telelogic Tau G2 3.1 and brings a command line version.

Methodology

The methodology bases on UML 2 and a clear separation of structural and behavioural system aspects. A strong emphasis is put on the non-invasive way the performance annotations are integrated into the functional system model. In this way, non-performance experts can concentrate and continue to use the system model without worrying about the performance annotations. The system model keeps meaningful even without them.

The system components are modelled by using class diagrams. These classes can be reused in composite structure diagrams modelling the system architecture as well as in sequence or activity diagrams specifying the dynamic behaviour.

All performance annotations use SPT-Profile or MARTE-Profile conform annotations or self-made extensions where the profiles were not appropriate enough.

For a complete description of our methodology; please read our published papers. You can download them in the publications section.

Tool Integration

The transformation algorithm generating an abstract queueing networks as well as the conversion into actual input for queueing network solvers and simulators are both decoupled from the used UML tool and operate on an internal Java data structure representing the diagrams. In this way, U2Q can be easily integrated into different UML CASE tools by simply adding a parser for the desired UML tool. In the current version, we support Telelogic Tau G2 version 3.1. Part of U2Q is a Tau G2 plug-in that helps to run U2Q and analyse its results directly from inside of Tau G2. In this way, developers do not need to change the application to get performance estimations.

The following four figures (please click to enlarge) show the Tau G2 and Eclipse plug-ins which integrate U2Q. The plug-ins hide the necessity to memorise and operates difficult command line options while allowing the user to use the full power of U2Q.
At the beginning, the system components, system architecture, and behaviour as well as the performance annotations have to be modelled according to our methodology. The first figure presents a fully annotated composite structure diagram.
The script tab of the output window shows the activation of the U2Q plug-in (in Tau G2 language plug-in are called "addins") which extends the menu bar by a new menu "U2Q".
The second figure shows the menu structure of the Tau G2 plug-in. There is a configuration option that allows the developer to choose the U2Q backend (the Java jar file) and other parameters. To ease the use of U2Q, the developer can create so called "scenarios" which represents a particular configuration to run U2Q with. In this way, the developer does not need to re-specify the performance scenario for every single run. It allows the developer to specify a subset of the model to analyse, estimate the performance by using U2Q, make modification to the model, and run the same performance scenarios with the same subset again. Of course, different scenarios can be created and used in parallel.
In the third figure, the scenario dialog is shown. Apart from a name, an output directory, and the converter (representing the queueing network solver or simulator) to use, the performance scenarios may be specified. The root and the top-level composite structure diagrams have been selected which may be nested in different Tau G2 packages. The last step is to choose the use case diagrams which contain the sequence and activity diagrams and their workloads.
For a detailed description of these parameters please refer to our papers in the publication section of this page.
After an evaluation scenario is set up, the transformation and analysis can be started via the same menu as described above. The whole process of transforming, generating, and analysing the scenario is transparent for the user and thus, the complexity is hidden. The simulator writes a detailed html encodes report which is shown inside the tool. Further, the component annotations are extended by the particular performance figures. If the threshold limits (see figure 2) are exceeded, the annotations are colourised in yellow and red. In this way, the designers can easily identify bottlenecks.
Figure 4 shows the scenario configuration dialog of the Eclipse plug-in.

Planed Enhancements for Future Versions

In a future version, we want to support Eclipse/EMF based UML tools. Therefore, we are working on an enhancing our Eclipse plug-in to directly support EMF based models. Another extension will be the support of other performance models. Currently, we plan to adapt the concepts of Layered Queueing Networks.

If you have any ideas, please feel free to contact us and tell us about your ideas for enhancements!


Download

License

U2Q and its components are in general free for academic and educational use. Please see the file License.txt for details. The license governs the use of U2Q in academic and educational environments. Commercial use requires a commercial license, please contact us for details.

Contrib

U2Q uses the following external programs that you will also need to run analysis (these programs may have further dependencies; please refer to the corresponding web sites).

  • Omnet++- a general purpose C++ object oriented simulator
  • PDQ- an analytical analyser used for simple queueing networks in product form
  • Python- a scripting language used in several modules for automatisation

List of Related Publications

2007
  • Lukas Pustina,Michael Gerharz,Peter Martini,Simon Schwarzer, Volker Deichmann
    "Performance Evaluation of a DVB-H Enabled Mobile Device System Model"
    Proceedings of the 6th International Workshop on Software and Performance
    WOSP 2007, Buenos Aires, Argentina, February 5-8, 2007, pp. 164-171 [pdf].
2006