DTU 
 

 

Model-based Software Engineering for/with Petri Nets

On these pages, you will find the material of the tutorial on "Model-based Software Engineering for/with Petri Nets", which will be held by Ekkart Kindler on Tuesday, June 25, 2019 in Aachen during Petri Nets/ACSD 2019.

 

People who participate in the tutorial and, in particular, in its hands-on part (small project), should have installed Eclipse EMT and the ePNK as discussed below before the tutorial starts.

 

Overview
 
Model-based Software Engineering (MBSE) is a catch-all term for software development technologies in which models are more than just “nice sketches” or “drawings”. In MBSE, models are mostly used for generating some parts of the code automatically from models or for executing models directly. The OMG’s Model Driven Architecture (MDA) is probably one of the most prominent approaches in this direction, and Eclipse EMF is a very popular technology supporting MBSE. But, MBSE also covers approaches that are more focused on analyzing or verifying software models.

 

Petri nets have been used for modelling for a long time now, and they have been successfully used in different areas of software and systems development. Though Petri nets are used in all stages of software development, many approaches focus on the early phases of the development process and for building prototypes; the actual software is often still programmed manually.

 

This tutorial presents the idea, the main concepts, and some technologies of MBSE — with the focus on automatic code generation. On the one hand, these technologies can be used for developing Petri net tools in a more efficient way. On the other hand, they can be used to generate parts of the software automatically from Petri net models. More importantly, we will see how Petri nets and the code generated from them can be integrated with other software.

 

The tutorial will be based on the experiences with Eclipse EMF and developing the ePNK based on EMF, and discuss the lessons learned with developing the ECNO Tool, which allows to generate software completely automatically from models which consists of the Event Coordination Notation and ECNO nets (which are a special version of Petri nets for modeling the life-cycle of its components).

 

Preparation
 
For the practical part, particpants of this tutorial should install Eclipse EMT (Eclipse with the Eclipse Modeling Tools package preinstalled); Eclipse EMT can be downloaded from https://www.eclipse.org/downloads/packages/release/2019-03/r/eclipse-modeling-tools (note that you need to install the 64-bit version of Java to run Eclipse).

 

In this version of Eclipse, you should install the ePNK as discussed in the release notes of the ePNK 1.2. You should install all features from the three categories: "ePNK Features", "ePNK Experimental Features", and "HLPNG Simulator" (if you want, you can install also the ECNO Tool features; but these are not needed for the practical part of the tutorial).

 

Schedule and Material
 
900-1030
MBSE overview (01-PN-Course-MBSE.pdf)
  • vision, idea, concepts
  • technologies (overview)
Presentation of project(s) (05-PN-Course-Project.pdf)

 

1030-1100 Coffee break

 

1100-1230
Technology details Modelling behaviour

 

1230-1330 Lunch break

 

1330-1500
Model-based technology in Petri nets (04-PN-Course-PNML-ePNK.pdf)
  • PNML (overview of concepts)
  • ePNK (overview and experiences)

 

1500-1530 Coffee break

 

1530-17xx
Hands-on work (05-PN-Course-Project.pdf, 06-PN-Course-Project-Details.pdf)

 

This will be individual hands-on work on a small project, so you should have installed Eclipse EMT and the ePNK as discussed above before the start of the tutorial.

 

Further reading
 
The tutorial will be pretty much self-contained, and the material tutorials is provided via these web pages above.

 

Below, you will find some additional references. These might help to better understand the concepts and ideas behind MBSE. Some of the online references, might be helpful in solving some problems you might have during the work on your project (an intelligent use of search engines will also be a great help).

 

Books, Standards, and Articles

 

Online information

 

Ekkart Kindler (), June 16, 2019 (last updated June 19, 2019)