Initial commit
This commit is contained in:
235
netfiles/fischer6p.aut
Normal file
235
netfiles/fischer6p.aut
Normal file
@@ -0,0 +1,235 @@
|
||||
#######################################
|
||||
# Fischer's mutual exclusion protocol #
|
||||
#######################################
|
||||
# #
|
||||
# przy setv1, setv2 - duza delta #
|
||||
# przy enter1, enter2 - mala delta #
|
||||
# #
|
||||
# wzajemne wykluczanie przy: #
|
||||
# #
|
||||
# mala delta >= duza delta #
|
||||
# #
|
||||
#######################################
|
||||
|
||||
net {
|
||||
actions {
|
||||
start1;
|
||||
setv1;
|
||||
enter1;
|
||||
setv01;
|
||||
|
||||
start2;
|
||||
setv2;
|
||||
enter2;
|
||||
setv02;
|
||||
|
||||
start3;
|
||||
setv3;
|
||||
enter3;
|
||||
setv03;
|
||||
|
||||
start4;
|
||||
setv4;
|
||||
enter4;
|
||||
setv04;
|
||||
|
||||
start5;
|
||||
setv5;
|
||||
enter5;
|
||||
setv05;
|
||||
|
||||
start6;
|
||||
setv6;
|
||||
enter6;
|
||||
setv06;
|
||||
};
|
||||
|
||||
automaton proc1 {
|
||||
clocks {
|
||||
x1;
|
||||
};
|
||||
locations {
|
||||
idle1 { init; };
|
||||
try1;
|
||||
wait1;
|
||||
crit1;
|
||||
};
|
||||
trans {
|
||||
idle1 -> try1, start1, , { x1; };
|
||||
try1 -> wait1, setv1, x1 < 1, { x1; };
|
||||
wait1 -> crit1, enter1, x1 > 2, { };
|
||||
crit1 -> idle1, setv01, , { };
|
||||
};
|
||||
};
|
||||
|
||||
automaton proc2 {
|
||||
clocks {
|
||||
x2;
|
||||
};
|
||||
locations {
|
||||
idle2 { init; };
|
||||
try2;
|
||||
wait2;
|
||||
crit2;
|
||||
};
|
||||
trans {
|
||||
idle2 -> try2, start2, , { x2; };
|
||||
try2 -> wait2, setv2, x2 < 1, { x2; };
|
||||
wait2 -> crit2, enter2, x2 > 2, { };
|
||||
crit2 -> idle2, setv02, , { };
|
||||
};
|
||||
};
|
||||
|
||||
automaton proc3 {
|
||||
clocks {
|
||||
x3;
|
||||
};
|
||||
locations {
|
||||
idle3 { init; };
|
||||
try3;
|
||||
wait3;
|
||||
crit3;
|
||||
};
|
||||
trans {
|
||||
idle3 -> try3, start3, , { x3; };
|
||||
try3 -> wait3, setv3, x3 < 1, { x3; };
|
||||
wait3 -> crit3, enter3, x3 > 2, { };
|
||||
crit3 -> idle3, setv03, , { };
|
||||
};
|
||||
};
|
||||
|
||||
automaton proc4 {
|
||||
clocks {
|
||||
x4;
|
||||
};
|
||||
locations {
|
||||
idle4 { init; };
|
||||
try4;
|
||||
wait4;
|
||||
crit4;
|
||||
};
|
||||
trans {
|
||||
idle4 -> try4, start4, , { x4; };
|
||||
try4 -> wait4, setv4, x4 < 1, { x4; };
|
||||
wait4 -> crit4, enter4, x4 > 2, { };
|
||||
crit4 -> idle4, setv04, , { };
|
||||
};
|
||||
};
|
||||
|
||||
automaton proc5 {
|
||||
clocks {
|
||||
x5;
|
||||
};
|
||||
locations {
|
||||
idle5 { init; };
|
||||
try5;
|
||||
wait5;
|
||||
crit5;
|
||||
};
|
||||
trans {
|
||||
idle5 -> try5, start5, , { x5; };
|
||||
try5 -> wait5, setv5, x5 < 1, { x5; };
|
||||
wait5 -> crit5, enter5, x5 > 2, { };
|
||||
crit5 -> idle5, setv05, , { };
|
||||
};
|
||||
};
|
||||
|
||||
automaton proc6 {
|
||||
clocks {
|
||||
x6;
|
||||
};
|
||||
locations {
|
||||
idle6 { init; };
|
||||
try6;
|
||||
wait6;
|
||||
crit6;
|
||||
};
|
||||
trans {
|
||||
idle6 -> try6, start6, , { x6; };
|
||||
try6 -> wait6, setv6, x6 < 1, { x6; };
|
||||
wait6 -> crit6, enter6, x6 > 2, { };
|
||||
crit6 -> idle6, setv06, , { };
|
||||
};
|
||||
};
|
||||
|
||||
automaton varV {
|
||||
locations {
|
||||
v0 { init; };
|
||||
v1;
|
||||
v2;
|
||||
v3;
|
||||
v4;
|
||||
v5;
|
||||
v6;
|
||||
};
|
||||
trans {
|
||||
v0 -> v0, start1, , { };
|
||||
v0 -> v0, start2, , { };
|
||||
v0 -> v0, start3, , { };
|
||||
v0 -> v0, start4, , { };
|
||||
v0 -> v0, start5, , { };
|
||||
v0 -> v0, start6, , { };
|
||||
v0 -> v1, setv1, , { };
|
||||
v0 -> v2, setv2, , { };
|
||||
v0 -> v3, setv3, , { };
|
||||
v0 -> v4, setv4, , { };
|
||||
v0 -> v5, setv5, , { };
|
||||
v0 -> v6, setv6, , { };
|
||||
|
||||
v1 -> v0, setv01, , { };
|
||||
v1 -> v1, enter1, , { };
|
||||
v1 -> v1, setv1, , { };
|
||||
v1 -> v2, setv2, , { };
|
||||
v1 -> v3, setv3, , { };
|
||||
v1 -> v4, setv4, , { };
|
||||
v1 -> v5, setv5, , { };
|
||||
v1 -> v6, setv6, , { };
|
||||
|
||||
v2 -> v0, setv02, , { };
|
||||
v2 -> v2, enter2, , { };
|
||||
v2 -> v1, setv1, , { };
|
||||
v2 -> v2, setv2, , { };
|
||||
v2 -> v3, setv3, , { };
|
||||
v2 -> v4, setv4, , { };
|
||||
v2 -> v5, setv5, , { };
|
||||
v2 -> v6, setv6, , { };
|
||||
|
||||
v3 -> v0, setv03, , { };
|
||||
v3 -> v3, enter3, , { };
|
||||
v3 -> v1, setv1, , { };
|
||||
v3 -> v2, setv2, , { };
|
||||
v3 -> v3, setv3, , { };
|
||||
v3 -> v4, setv4, , { };
|
||||
v3 -> v5, setv5, , { };
|
||||
v3 -> v6, setv6, , { };
|
||||
|
||||
v4 -> v0, setv04, , { };
|
||||
v4 -> v4, enter4, , { };
|
||||
v4 -> v1, setv1, , { };
|
||||
v4 -> v2, setv2, , { };
|
||||
v4 -> v3, setv3, , { };
|
||||
v4 -> v4, setv4, , { };
|
||||
v4 -> v5, setv5, , { };
|
||||
v4 -> v6, setv6, , { };
|
||||
|
||||
v5 -> v0, setv05, , { };
|
||||
v5 -> v5, enter5, , { };
|
||||
v5 -> v1, setv1, , { };
|
||||
v5 -> v2, setv2, , { };
|
||||
v5 -> v3, setv3, , { };
|
||||
v5 -> v4, setv4, , { };
|
||||
v5 -> v5, setv5, , { };
|
||||
v5 -> v6, setv6, , { };
|
||||
|
||||
v6 -> v0, setv06, , { };
|
||||
v6 -> v6, enter6, , { };
|
||||
v6 -> v1, setv1, , { };
|
||||
v6 -> v2, setv2, , { };
|
||||
v6 -> v3, setv3, , { };
|
||||
v6 -> v4, setv4, , { };
|
||||
v6 -> v5, setv5, , { };
|
||||
v6 -> v6, setv6, , { };
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user