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.
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.