Question: NAME dekker VAR wantp 1 : boolean; wantp 2 : boolean; turn : { 0 , 1 , 2 } ; pc 1 : {
NAME dekker VAR wantp : boolean; wantp : boolean; turn : ; pc: ; not in critical section, in busy wait, in critical section pc: ; not in critical section, in busy wait, in critical seciton INIT pc & pc & wantp & wantp & turn; RULES process pc: wantp : true; if turn & wantp turn : else skip fi; if wantp if turn wantp : false; pc : go to busy wait else pc : fi else pc : fi pc: in busy wait if turn wantp : true; pc : else pc : fi pc: in critical section turn :; wantp : false; pc : process pc: wantp : true; if turn & wantp turn : else skip fi; if wantp if turn wantp : false; pc : go to busy wait else pc : fi else pc : fi pc: in busy wait if turn wantp : true; pc : else pc : fi pc: in critical section turn :; wantp : false; pc : Use CTL formulas to express the mutual exclusion and freedom from starvation properties of Dekkers mutual exclusion algorithm. There can be more than one CTL formula needed to express each property. If you write more than formulas for each property, you will be penalised by deducting marks. For each formula, explain whether it is a liveness or safety property. Execute the formulas on the model and report the results. Use these results to detect a bug. Describe a buggy execution in your report. Draw the Kripke structure of the code.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
