-
Notifications
You must be signed in to change notification settings - Fork 15
Philosophers
The goal of the philosophers problem is to synchronise some kind of resource that had to be shared between them. Philosophers in the chosen example are graphically limited to four.
In the following picture a RoboticArm is shown. The GUI is adapted by the added workplaces.

The state of the workplaces is encoded via a colour scheme.
- Red coloured parts are 'used' which means that they are either carrying a resource or a resource is placed on them.
- Green coloured parts on the other hand are not carrying a resource, so they can be used to move or store other resources.
- Grey coloured workplaces are not synchronised in the GUI.
At the same time the possible reach of a single robotic arm is shown with the visualised workplaces in one simulation GUI.
The simulation provides four positions for a RoboticArm. North, East, South and West are supported. An example of four RoboticArms at different positions is shown in the following image.

The accessibility of the workplaces is depicted by the shown workplaces in one simulation. In this example those four RoboticArms showing the starting position of the philosophers problem.

The Overview can be used as a guide for the simulations behaviour, as the basic positions and mechanics are described. The Guide can be downloaded via the following Link: Guide as PDF
Using the declaration from the Overview/Guide RoboticArm at position north has a resource on its workplace 0 and the gripper is not carrying a resource.

Using the declaration from the Overview/Guide RoboticArm at position north has a resource on its workplace 2 and the gripper is carrying a resource.

Using the declaration from the Overview/Guide RoboticArm at position north with synchronised workplaces from other robotic arm systems. In the simulation the gripper is carrying a resource and no other workplace is occupied.

Using the declaration from the Overview/Guide RoboticArm at position north with synchronised workplaces from other robotic arm systems. In the simulation the gripper is not carrying a resource and the workplace 1 of robotic arm in position east is occupied.

Further information can be found in the examples in the VSEclipseExampleProject and in the java doc of the provided APIs VSEclipseExampleProject/resources/javadoc.