Assignment on petri net
CSCI910 Autumn 2020 Assignment #3 Due: by Sunday June 7, 22:00
Marks: 30 marks
1. Objective:
The purpose of this assignment is: The objective of this assignment is to practice the usage of the state diagram, the CPN and the Z Schema. Note: this assignment can be completed by 1 ~ 3 people.
2. Problem Description: Dinning67 was a restaurant in the campus of Wollongong University before 2015. This specification models Dinnin67. Dining67 is an establishment where meals can be ordered and eaten. Alternative names for such an establishment might be café or restaurant. Dinning67 serves many kinds of meals referred to as dishes, to its customers. The Dinning67's customers place orders for dishes from the Dinning67's menu. A dish consists of a DishId, a DishName, and a Price. An order consists of an OrderId and a TableId. An order contains one or more order items, where each order item refers to a particular dish. An order item consists of an OrderRef, a DishRef, Quantity of dishes ordered, and a Status. The status of an order item can be either Ordered, Preparing, or Served. At any moment in time, the state of the Dinning67 can be represented by the dishes available, the orders placed by customers, and the status of the items ordered. The specification should have following four operations:
1. Add dishes 2. Place orders 3. Prepare ordered dishes 4. Serve ordered dishes.
Note: you can make reasonable assumption about the restaurant with sufficient explanations.
3. Tasks: 1. Design and draw a state diagram of the Dinning67 to clearly show different states
of the restaurant and the events changing the states. You shall also complete the state transition table associated to your state diagram. The state name and event name must be meaningful. (10 marks)
2. Design and create a colored Petri Net with the CPN Tool to show the dynamic behaviour of the restaurant. You shall define the colored Petri Net with the mathematical representation first, i.e., clearly specify the content of C = (P, T, I, O), the initial marking µ, and the color set for all tokens. Then you shall use the CPN Tool to simulate the execution of your CPN. (10 marks)
3. Complete the full schemas for the above four operations. These operations shall receive input amounts, and send appropriate output messages. In each requested operation, your solution shall cover both the successful and abnormal scenarios. Your schemas shall also include the necessary definitions of all data types, variables, and the initial state (schema) used by all operational schemas. (10 marks)
4. Submission Method: Students must submit their final work of this assignment by a soft copy via the Moodle site.
1. For the state diagram, you can draw it using Microsoft word or other professional tools. Finally, you shall create a pdf file (named state-diagram.pdf) to include everything about the state diagram.
2. For the Colored Petri Net, you must create a pdf file (named cpn.pdf) to include the mathematic representation, the graphic representation and other necessary information about your CPN. Also, you must implement your CPN with the CPN tool (http://cpntools.org/) and save your work as a cpn file (named cpn.cpn). The cpn file shall be able to import via the CPN tool and the simulation shall be able to execute directly.
3. For all Z schemas, you must draw them using the z-editor (https://z-editor.github.io/), and create a pdf file (named schemas.pdf) to include all your schemas.
4. Please zip all your file (i.e., state-diagram.pdf, cpn.pdf, cpn.cpn, and schemas.pdf) into an individual file (named CSCI910_A2.zip), and submit the zip file to Moodle.
5. Please note, hand drawing of any diagram will receive Zero mark for that part. If it is a group work, please specify all group member’s names and student numbers in EACH pdf file. Each member should make an individual submission to the Moodle (although they are the identical copy).