Tutorial on UML and Coloured Petri Nets

Johan Lilius, Ĺbo Akademi University, Finland
Jianli Xu, Nokia Research Center, Helsinki, Finland
Didier Buchs, Levi Lúcio, and Luis Pedro, University of Geneva, Switzerland

Abstracts

Johan Lilius: Modelling behavior in UML

The Unified Modelling Language (UML) can be used to model the architecture and behavior of any kind of software project. This is due to the fact that UML provides many different diagrams or views of a system. Class, component and deployment diagrams focus on different aspects of the structure of a system, while the behavioral diagrams such as use case, statechart, activity, and collaboration diagrams focus on its dynamics.

The aim of this tutorial is to explain the use of the behavioral diagrams (collaboration and statechart diagrams) in system design. Collaboration diagrams are used to show how the objects that consitute a system are connected and how they communicate (inter-object behavior), while statechart diagrams are used to describe the internal behavior of the objects (intra-object behavior). The behavior of the whole system then emerges as the composition of these two diagram types.

The tutorial will start with an overview of UML and the state of its standardisation. Before concentrating on the behavioral diagrams, we will briefly cover class diagrams and also explain some basic concepts of the UML metamodel that are needed to understand some of the more subtle semantic issues. We will then continue by explaining the different features of both collaboration and statechart diagrams using some practical examples. The main focus of the presentation will be on the semantics of these diagrams. We will discuss the semantics from the point of view of code-generation both for verification, ie. generation of PROMELA, and implementation, ie. generation of C/C+ or VHDL. The tutorial will finish with an overview of related work, and available tools.

Jianli Xu: Modeling software architecture with UML + CPN

The tutorial will introduce how to model and validate software architectures with UML and CPN from a practitioner's perspective. The following topics will be talked about in the tutorial:

Case studies taken from real industry projects will be presented under each topic to help the audience to better understand the problems and solutions.

Didier Buchs, Levi Lúcio, and Luis Pedro: UML and Petri Nets for Test Case Generation

In this tutorial we will explain how to generate pertinent test cases starting from a UML specification. The technique we have developed is based on model-based test case generation, where interesting execution traces are identified in the specification - assumed correct - and then applied to the implementation - possibly erroneous - for conformance verification.

In the first part of the tutorial we will go through the several steps in the chain of producing test cases:

Throughout this first part we will use a application simulating a web banking system as our system under test. The example will serve as an illustration for the three steps.

In the second part we will look under the hood and explore the mechanisms in our framework. More specifically, we will talk about:

We will end the tutorial by discussing the application of our methodology to real world systems and referring to some of the related work in the area.
Last modified: Fri Sep 3 10:36:29 2004