Parturisalongissa toimii joukko partureita. Parturin asiakas ja parturi
noudattavat seuraavia protokollia:
asiakas: parturi:
enter_saloon; wait_for_customer;
"tukan leikkuu" "leikkaa tukka"
exit_saloon; collect_bill;
Muodosta monitori, jonka proseduureja ovat: enter_saloon,
wait_for_customer, exit_saloon,
collect_bill ja joka pitää huolta siitä, että
jokaista asiakasta kohti on yksi "leikkaa tukka" -tilassa oleva
parturi ja kääntäen. Monitorin on huolehdittava myös
siitä, että tukan leikkuita voi olla käynnissä kerrallaan
korkeintaan N kappaletta. Esitä toimiva koodi sekä
monitorin speksi, eli siis monitorin invarianssi I, odotusehdot
Bi ja turhan odotuksen poissulkemisen osoittava predikaatti
J. Onko monitorisi reilu (sen ei tarvitse olla)? (10p)