Proposing Java and C# a new Monitor semantics and  queuing policies:
giving priority to signalled processes as in Ada


Several dining philosophers implementations are provided and compared

The implemented solutions are:
1_CHOPCODE MONITORS
CHOP GLOBAL RF ADA1
CHOP GLOBAL RF ADA11
CHOP GLOBAL RF JAVA1
CHOP GLOBAL RS ADA
CHOP GLOBAL UF JAVA


  The implementations have been simulated and instrumented
 
The full program is present in 1_CHOPCODE MONITORS  and is composed of:
chop.adb which is a dummy code which must be replaced by the experimented  one stored in another folder
chop.ads
diner.adb   which is the main program
global.adb
global.ads
monitoring.adb which contains the number of runs (MaxStrokes) and the individual messages (here replaced by null statement in procedure Message)
monitoring.ads
protected_machine.adb
protected_machine.ads

The main program is diner.adb
Once compiled (with GNAT for example), just run ./diner


The execution results

The results are recorded in each file named

ConcurrencyEfficiencyResults.txt

Last update: April 18, 2006