PC1 and PC2 run in parallel with the same alphabet. They deadlock. I want to find a process (alphabet as yet undefined) which I can run in parallel with PC1 and PC2 which will solve the deadlock issue. Any ideas?
Regards.
This is my code file so far.
channel printA, printB, printC, printD
PC1 = printA -> printB -> printC -> printD
aPC1 = {printA, printB, printC, printD}
PC2 = printA -> printB -> printD -> printC
aPC2 = {printA, printB, printC, printD}
DEADLOCKAVOIDANCE = ?
aDEADLOCKAVOIDANCE = {?}
P = (PC1 [aPC1||aPC2] PC2) [union(PC1,PC2)||aDEADLOCKAVOIDANCE] DEADLOCKAVOIDANCE