Petri Net assignment

If you are experiencing problems with coverability/conservation in AToM3 (in particular on Windows due to lp_solve), please use the tool pipe which can be downloaded from sourceforge.

General Information

The assignment:

Petri Net modelling, simulation and analysis of a simple production system (using AToM3)

You will use the meta-modelling environment AToM3 (which you also used for the first assignment), but now load (File menu/Open meta-model) the Petri Net formalism (in PNModels in Central Formalisms) to interactively construct a Petri Net model.

The system to model consists of a workshop producing/assembling products. The workshop produces two types of products: boxes and cylinders. For both types of products, the production consists of two stages: the body assembly and the lid assembly. Body assembly and lid assembly are performed by two dedicated machines. These machines are flexible enough to process either boxes or cyclinders. The machines will each, independently, strictly alternate between processing boxes and processing cylinders. As they work independently, the machines do not need to be synchronized. Initially, both machines are set to process boxes. It is assumed there is an infinite supply of raw material available. This supply must be modelled explicitly. The work pieces (initially, raw material, subsequently transformed into boxes/cylinders, and finally completed by adding a lid) are transported on pallets. There are a total of 6 pallets available. To transport one box workpiece (in all its incarnations: raw-box-box with lid), two pallets are needed. To transport one cylinder workpiece, only one pallet is required. Transportation is done between the two machines (body assembly and lid assembly). There is a limited ``buffer'' space between the two machines which can hold a maximum of 4 pallets (with workpieces on them). Finished products go to a storage area. The number of finished products must be explicitly modelled.

The assignment consists of three parts.

  1. Build and document a Petri Net model of this process.
  2. Perform a few simulation steps of this process and comment.
  3. Build the coverability graph for this Petri Net and run conservation analysis (note that spurious solutions may occur). This will allow you to draw some conclusions about:

Constructing Petri Net models in AToM3

Download the latest version of AToM3. Note how this is a new archive (not the same as the one for the first assignment) by which you can do conservation analysis automatically on the generated coverability (includes infinite markings) graph.

Do not forget to install the External Utilities (in the External directory, for example). In particular, you need the linear programming tool lp_solve for conservation analysis. In the lp_solve directory, run make to produce an executable.