Networking Question
Simulation of Dining Philosophers
In this project we use the dining philosopher system as our main example. Four Chinese philosophers
are sitting around a circular table. In the middle of the table there is a delicious dish of rice, and between each pair of philosophers there is a single chopstick. Each philosopher alternates between thinking/resting and eating. To eat, the philosopher needs two chopsticks, and he is only allowed to use the two which are situated next to him (on his left and right side). The sharing of chopsticks prevents two neighbors from eating at the same time.
The philosopher system is modelled by the CPN tools software as shown below:
1
About the system:
- The system is designed to use forks and knifes instead of chopsticks.
- PH1, PH2, PH3 and PH4 represents the philosophers.
- There are 8 places and 8 transitions detailed in the table below:
4 places | 2 forks and 2 knifes |
4 places | 4 philosophers |
4 transitions | Eating activity for each philosopher |
4 transitions | Resting activity for each philosopher |
- The network includes initialization tokens at Fork1 and Knife1.
- The network associated with philosopher 1 (PH1) is complete. He is ready to eat. The transition “PH1 Ready to Eat” is enabled (tokens at Fork1 and Knife1 are ready to fire). In other words, having one knife and one fork philosopher 1 is ready to eat. When PH1 having a state where two tokens are available, he can also rest by releasing (triggering PH1 ) the fork and knife. On the other hand, the networks of the other philosophers are not complete.
Tasks:
- Construct the CP-net as shown above. Make sure to use proper labeling and correct color set.
- Complete the network of other philosophers. Use philosopher 1 network as your guide.
- Do not add/delete places or transitions
- Provide screenshot of the diagram.
- Test the system and write your notes about the system’s behavior.
- What OS problem does the model represent, and how can it be solved??
Note: At any moment in the system, maximum any two non-neighbor philosopher can either eat or rest, and the other two are resting or eating respectively.
Submission:
- Send an electronic copy of a word file that includes your answers for all above questions to my email.
- Send CPN file to my email.
Lecturer email: NJ.ALAWADHI@PAAET.EDU.KW
2