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