~tapaal-dist-ctl/verifypn/verifypn-dist-ctl

« back to all changes in this revision

Viewing changes to Tests/TAPAAL-test-nets/000-untimed-abp-test003.xml

  • Committer: Jiri Srba
  • Date: 2014-03-05 07:02:55 UTC
  • mfrom: (40.1.68 reductions)
  • Revision ID: srba@cs.aau.dk-20140305070255-m06q3nl5p2o5wq9q
merged in a branch implementing -r switch
enabeling structural net reductions as preprocessing
for the verification

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 
2
<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
 
3
<constant name="deadline" value="6"/>
 
4
<constant name="delay" value="2"/>
 
5
<net active="true" id="Protocol" type="P/T net">
 
6
<labels border="true" height="574" positionX="780" positionY="67" width="165">Classical Alternating Bit Protocol with timeouts for resending messages.
 
7
 
 
8
In this version of the protocol we use transport arcs to track the timestamp of each message from the point it was sent until it returns as an acknowledgement back to the sender.
 
9
 
 
10
The query asks about violation of the synchronization between sender and receiver. The extra number of tokens in the query gives a bound on the total number of messages in transit (i.e. in places Medium_*). This means that TAPAAL provides a suitable underapproximation and verifies the correctness of the protocol upto a given number of extra tokens.
 
11
 
 
12
Try to experiment with the values of the constants deadline and delay in order to check for what retransmission rates the protocol remains safe.</labels>
 
13
<place id="Medium_A" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_A" nameOffsetX="50.0" nameOffsetY="-5.0" positionX="390.0" positionY="150.0"/>
 
14
<place id="Sender_0_A" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_0_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="60.0"/>
 
15
<place id="Receiver_1_B" initialMarking="0" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_1_B" nameOffsetX="107.0" nameOffsetY="32.0" positionX="600.0" positionY="615.0"/>
 
16
<place id="Receiver_0_A" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_0_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="780.0"/>
 
17
<place id="Sender_0_B" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_0_B" nameOffsetX="-5.0" nameOffsetY="31.0" positionX="150.0" positionY="240.0"/>
 
18
<place id="Sender_1_A" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_1_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="450.0"/>
 
19
<place id="Sender_1_B" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_1_B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="630.0"/>
 
20
<place id="Medium_B" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_B" nameOffsetX="44.0" nameOffsetY="0.0" positionX="390.0" positionY="360.0"/>
 
21
<place id="Medium_C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_C" nameOffsetX="48.0" nameOffsetY="4.0" positionX="390.0" positionY="540.0"/>
 
22
<place id="Medium_D" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_D" nameOffsetX="44.0" nameOffsetY="0.0" positionX="390.0" positionY="720.0"/>
 
23
<place id="Receiver_0_B" initialMarking="0" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_0_B" nameOffsetX="110.0" nameOffsetY="33.0" positionX="600.0" positionY="240.0"/>
 
24
<place id="Receiver_1_A" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_1_A" nameOffsetX="110.0" nameOffsetY="35.0" positionX="600.0" positionY="450.0"/>
 
25
<transition angle="90" id="Ack_rec_0" infiniteServer="false" name="Ack_rec_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="360.0" priority="0" timed="true"/>
 
26
<transition angle="270" id="Send_1" infiniteServer="false" name="Send_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="540.0" priority="0" timed="true"/>
 
27
<transition angle="270" id="Ack_send_0" infiniteServer="false" name="Ack_send_0" nameOffsetX="110.0" nameOffsetY="31.0" positionX="600.0" positionY="360.0" priority="0" timed="true"/>
 
28
<transition angle="270" id="Loss_C" infiniteServer="false" name="Loss_C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="630.0" priority="0" timed="true"/>
 
29
<transition angle="270" id="Loss_D" infiniteServer="false" name="Loss_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="780.0" priority="0" timed="true"/>
 
30
<transition angle="0" id="ReSend_1" infiniteServer="false" name="ReSend_1" nameOffsetX="63.0" nameOffsetY="50.0" positionX="240.0" positionY="630.0" priority="0" timed="true"/>
 
31
<transition angle="0" id="Receive_old_1" infiniteServer="false" name="Receive_old_1" nameOffsetX="74.0" nameOffsetY="-4.0" positionX="510.0" positionY="615.0" priority="0" timed="true"/>
 
32
<transition angle="90" id="Ack_send_1" infiniteServer="false" name="Ack_send_1" nameOffsetX="108.0" nameOffsetY="33.0" positionX="600.0" positionY="720.0" priority="0" timed="true"/>
 
33
<transition angle="270" id="Ack_rec_1" infiniteServer="false" name="Ack_rec_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="720.0" priority="0" timed="true"/>
 
34
<transition angle="270" id="Send_0" infiniteServer="false" name="Send_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="150.0" priority="0" timed="true"/>
 
35
<transition angle="270" id="Receive_0" infiniteServer="false" name="Receive_0" nameOffsetX="92.0" nameOffsetY="36.0" positionX="600.0" positionY="150.0" priority="0" timed="true"/>
 
36
<transition angle="0" id="ReSend_0" infiniteServer="false" name="ReSend_0" nameOffsetX="65.0" nameOffsetY="46.0" positionX="240.0" positionY="240.0" priority="0" timed="true"/>
 
37
<transition angle="0" id="Receive_old_0" infiniteServer="false" name="Receive_old_0" nameOffsetX="90.0" nameOffsetY="-3.0" positionX="495.0" positionY="240.0" priority="0" timed="true"/>
 
38
<transition angle="270" id="Loss_A" infiniteServer="false" name="Loss_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="240.0" priority="0" timed="true"/>
 
39
<transition angle="270" id="Loss_B" infiniteServer="false" name="Loss_B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="450.0" priority="0" timed="true"/>
 
40
<transition angle="270" id="Receive_1" infiniteServer="false" name="Receive_1" nameOffsetX="89.0" nameOffsetY="31.0" positionX="600.0" positionY="540.0" priority="0" timed="true"/>
 
41
<arc id="Medium_A to Loss_A" inscription="[0,inf)" source="Medium_A" target="Loss_A" type="timed">
 
42
<arcpath arcPointType="false" id="0" xCoord="402" yCoord="176"/>
 
43
<arcpath arcPointType="false" id="1" xCoord="402" yCoord="247"/>
 
44
</arc>
 
45
<arc id="Receiver_0_A to Receive_old_1" inscription="[0,inf)" source="Receiver_0_A" target="Receive_old_1" type="timed">
 
46
<arcpath arcPointType="false" id="0" xCoord="604" yCoord="779"/>
 
47
<arcpath arcPointType="false" id="1" xCoord="522" yCoord="642"/>
 
48
</arc>
 
49
<arc id="Receiver_0_A to Receive_0" inscription="[0,inf)" source="Receiver_0_A" target="Receive_0" type="timed">
 
50
<arcpath arcPointType="false" id="0" xCoord="626" yCoord="794"/>
 
51
<arcpath arcPointType="false" id="1" xCoord="679" yCoord="804"/>
 
52
<arcpath arcPointType="false" id="2" xCoord="728" yCoord="803"/>
 
53
<arcpath arcPointType="false" id="3" xCoord="728" yCoord="143"/>
 
54
<arcpath arcPointType="false" id="4" xCoord="654" yCoord="142"/>
 
55
<arcpath arcPointType="false" id="5" xCoord="627" yCoord="161"/>
 
56
</arc>
 
57
<arc id="Sender_0_A to Send_0" inscription="[0,inf)" source="Sender_0_A" target="Send_0" type="timed">
 
58
<arcpath arcPointType="false" id="0" xCoord="162" yCoord="86"/>
 
59
<arcpath arcPointType="false" id="1" xCoord="162" yCoord="157"/>
 
60
</arc>
 
61
<arc id="Sender_0_B to Ack_rec_0" inscription="[0,inf)" source="Sender_0_B" target="Ack_rec_0" type="timed">
 
62
<arcpath arcPointType="false" id="0" xCoord="161" yCoord="266"/>
 
63
<arcpath arcPointType="false" id="1" xCoord="161" yCoord="366"/>
 
64
</arc>
 
65
<arc id="Sender_0_B to ReSend_0" inscription="[0,inf)" source="Sender_0_B" target="ReSend_0" type="timed">
 
66
<arcpath arcPointType="false" id="0" xCoord="176" yCoord="247"/>
 
67
<arcpath arcPointType="false" id="1" xCoord="218" yCoord="233"/>
 
68
<arcpath arcPointType="false" id="2" xCoord="247" yCoord="247"/>
 
69
</arc>
 
70
<arc id="Sender_1_A to Send_1" inscription="[0,inf)" source="Sender_1_A" target="Send_1" type="timed">
 
71
<arcpath arcPointType="false" id="0" xCoord="162" yCoord="476"/>
 
72
<arcpath arcPointType="false" id="1" xCoord="162" yCoord="547"/>
 
73
</arc>
 
74
<arc id="Sender_1_B to ReSend_1" inscription="[0,inf)" source="Sender_1_B" target="ReSend_1" type="timed">
 
75
<arcpath arcPointType="false" id="0" xCoord="176" yCoord="637"/>
 
76
<arcpath arcPointType="false" id="1" xCoord="218" yCoord="623"/>
 
77
<arcpath arcPointType="false" id="2" xCoord="247" yCoord="637"/>
 
78
</arc>
 
79
<arc id="Sender_1_B to Ack_rec_1" inscription="[0,inf)" source="Sender_1_B" target="Ack_rec_1" type="timed">
 
80
<arcpath arcPointType="false" id="0" xCoord="162" yCoord="656"/>
 
81
<arcpath arcPointType="false" id="1" xCoord="162" yCoord="727"/>
 
82
</arc>
 
83
<arc id="Medium_B to Ack_rec_0" inscription="[0,inf)" source="Medium_B" target="Ack_rec_0" type="timed">
 
84
<arcpath arcPointType="false" id="0" xCoord="387" yCoord="372"/>
 
85
<arcpath arcPointType="false" id="1" xCoord="176" yCoord="372"/>
 
86
</arc>
 
87
<arc id="Medium_B to Loss_B" inscription="[0,inf)" source="Medium_B" target="Loss_B" type="timed">
 
88
<arcpath arcPointType="false" id="0" xCoord="402" yCoord="386"/>
 
89
<arcpath arcPointType="false" id="1" xCoord="402" yCoord="457"/>
 
90
</arc>
 
91
<arc id="Medium_C to Loss_C" inscription="[0,inf)" source="Medium_C" target="Loss_C" type="timed">
 
92
<arcpath arcPointType="false" id="0" xCoord="402" yCoord="566"/>
 
93
<arcpath arcPointType="false" id="1" xCoord="402" yCoord="637"/>
 
94
</arc>
 
95
<arc id="Medium_D to Loss_D" inscription="[0,inf)" source="Medium_D" target="Loss_D" type="timed">
 
96
<arcpath arcPointType="false" id="0" xCoord="402" yCoord="746"/>
 
97
<arcpath arcPointType="false" id="1" xCoord="402" yCoord="787"/>
 
98
</arc>
 
99
<arc id="Medium_D to Ack_rec_1" inscription="[0,inf)" source="Medium_D" target="Ack_rec_1" type="timed">
 
100
<arcpath arcPointType="false" id="0" xCoord="387" yCoord="731"/>
 
101
<arcpath arcPointType="false" id="1" xCoord="177" yCoord="731"/>
 
102
</arc>
 
103
<arc id="Receiver_1_A to Receive_old_0" inscription="[0,inf)" source="Receiver_1_A" target="Receive_old_0" type="timed">
 
104
<arcpath arcPointType="false" id="0" xCoord="604" yCoord="448"/>
 
105
<arcpath arcPointType="false" id="1" xCoord="507" yCoord="267"/>
 
106
</arc>
 
107
<arc id="Receiver_1_A to Receive_1" inscription="[0,inf)" source="Receiver_1_A" target="Receive_1" type="timed">
 
108
<arcpath arcPointType="false" id="0" xCoord="612" yCoord="476"/>
 
109
<arcpath arcPointType="false" id="1" xCoord="612" yCoord="547"/>
 
110
</arc>
 
111
<arc id="Ack_rec_0 to Sender_1_A" inscription="1" source="Ack_rec_0" target="Sender_1_A" type="normal">
 
112
<arcpath arcPointType="false" id="0" xCoord="161" yCoord="376"/>
 
113
<arcpath arcPointType="false" id="1" xCoord="161" yCoord="447"/>
 
114
</arc>
 
115
<arc id="Receiver_0_B to Ack_send_0" inscription="[0,inf):1" source="Receiver_0_B" target="Ack_send_0" type="transport">
 
116
<arcpath arcPointType="false" id="0" xCoord="612" yCoord="266"/>
 
117
<arcpath arcPointType="false" id="1" xCoord="612" yCoord="367"/>
 
118
</arc>
 
119
<arc id="Ack_send_0 to Medium_B" inscription="[0,inf):1" source="Ack_send_0" target="Medium_B" type="transport">
 
120
<arcpath arcPointType="false" id="0" xCoord="597" yCoord="371"/>
 
121
<arcpath arcPointType="false" id="1" xCoord="416" yCoord="371"/>
 
122
</arc>
 
123
<arc id="Ack_send_0 to Receiver_1_A" inscription="1" source="Ack_send_0" target="Receiver_1_A" type="normal">
 
124
<arcpath arcPointType="false" id="0" xCoord="612" yCoord="377"/>
 
125
<arcpath arcPointType="false" id="1" xCoord="612" yCoord="447"/>
 
126
</arc>
 
127
<arc id="ReSend_1 to Sender_1_B" inscription="1" source="ReSend_1" target="Sender_1_B" type="normal">
 
128
<arcpath arcPointType="false" id="0" xCoord="246" yCoord="647"/>
 
129
<arcpath arcPointType="false" id="1" xCoord="218" yCoord="698"/>
 
130
<arcpath arcPointType="false" id="2" xCoord="172" yCoord="652"/>
 
131
</arc>
 
132
<arc id="ReSend_1 to Medium_C" inscription="1" source="ReSend_1" target="Medium_C" type="normal">
 
133
<arcpath arcPointType="false" id="0" xCoord="256" yCoord="642"/>
 
134
<arcpath arcPointType="false" id="1" xCoord="389" yCoord="559"/>
 
135
</arc>
 
136
<arc id="Medium_C to Receive_old_1" inscription="[0,inf):1" source="Medium_C" target="Receive_old_1" type="transport">
 
137
<arcpath arcPointType="false" id="0" xCoord="414" yCoord="560"/>
 
138
<arcpath arcPointType="false" id="1" xCoord="516" yCoord="627"/>
 
139
</arc>
 
140
<arc id="Receive_old_1 to Receiver_1_B" inscription="[0,inf):1" source="Receive_old_1" target="Receiver_1_B" type="transport">
 
141
<arcpath arcPointType="false" id="0" xCoord="526" yCoord="627"/>
 
142
<arcpath arcPointType="false" id="1" xCoord="597" yCoord="627"/>
 
143
</arc>
 
144
<arc id="Ack_send_1 to Receiver_0_A" inscription="1" source="Ack_send_1" target="Receiver_0_A" type="normal">
 
145
<arcpath arcPointType="false" id="0" xCoord="611" yCoord="736"/>
 
146
<arcpath arcPointType="false" id="1" xCoord="611" yCoord="777"/>
 
147
</arc>
 
148
<arc id="Receiver_1_B to Ack_send_1" inscription="[0,inf):1" source="Receiver_1_B" target="Ack_send_1" type="transport">
 
149
<arcpath arcPointType="false" id="0" xCoord="611" yCoord="641"/>
 
150
<arcpath arcPointType="false" id="1" xCoord="611" yCoord="726"/>
 
151
</arc>
 
152
<arc id="Ack_send_1 to Medium_D" inscription="[0,inf):1" source="Ack_send_1" target="Medium_D" type="transport">
 
153
<arcpath arcPointType="false" id="0" xCoord="596" yCoord="732"/>
 
154
<arcpath arcPointType="false" id="1" xCoord="417" yCoord="732"/>
 
155
</arc>
 
156
<arc id="Send_1 to Sender_1_B" inscription="1" source="Send_1" target="Sender_1_B" type="normal">
 
157
<arcpath arcPointType="false" id="0" xCoord="162" yCoord="557"/>
 
158
<arcpath arcPointType="false" id="1" xCoord="162" yCoord="627"/>
 
159
</arc>
 
160
<arc id="Send_1 to Medium_C" inscription="1" source="Send_1" target="Medium_C" type="normal">
 
161
<arcpath arcPointType="false" id="0" xCoord="177" yCoord="551"/>
 
162
<arcpath arcPointType="false" id="1" xCoord="387" yCoord="551"/>
 
163
</arc>
 
164
<arc id="Ack_rec_1 to Sender_0_A" inscription="1" source="Ack_rec_1" target="Sender_0_A" type="normal">
 
165
<arcpath arcPointType="false" id="0" xCoord="162" yCoord="737"/>
 
166
<arcpath arcPointType="false" id="1" xCoord="142" yCoord="802"/>
 
167
<arcpath arcPointType="false" id="2" xCoord="67" yCoord="802"/>
 
168
<arcpath arcPointType="false" id="3" xCoord="67" yCoord="37"/>
 
169
<arcpath arcPointType="false" id="4" xCoord="172" yCoord="37"/>
 
170
<arcpath arcPointType="false" id="5" xCoord="166" yCoord="57"/>
 
171
</arc>
 
172
<arc id="Send_0 to Medium_A" inscription="1" source="Send_0" target="Medium_A" type="normal">
 
173
<arcpath arcPointType="false" id="0" xCoord="177" yCoord="161"/>
 
174
<arcpath arcPointType="false" id="1" xCoord="387" yCoord="161"/>
 
175
</arc>
 
176
<arc id="Send_0 to Sender_0_B" inscription="1" source="Send_0" target="Sender_0_B" type="normal">
 
177
<arcpath arcPointType="false" id="0" xCoord="162" yCoord="167"/>
 
178
<arcpath arcPointType="false" id="1" xCoord="162" yCoord="237"/>
 
179
</arc>
 
180
<arc id="Medium_A to Receive_0" inscription="[0,inf):1" source="Medium_A" target="Receive_0" type="transport">
 
181
<arcpath arcPointType="false" id="0" xCoord="416" yCoord="161"/>
 
182
<arcpath arcPointType="false" id="1" xCoord="597" yCoord="161"/>
 
183
</arc>
 
184
<arc id="Receive_0 to Receiver_0_B" inscription="[0,inf):1" source="Receive_0" target="Receiver_0_B" type="transport">
 
185
<arcpath arcPointType="false" id="0" xCoord="612" yCoord="167"/>
 
186
<arcpath arcPointType="false" id="1" xCoord="612" yCoord="237"/>
 
187
</arc>
 
188
<arc id="ReSend_0 to Medium_A" inscription="1" source="ReSend_0" target="Medium_A" type="normal">
 
189
<arcpath arcPointType="false" id="0" xCoord="256" yCoord="252"/>
 
190
<arcpath arcPointType="false" id="1" xCoord="389" yCoord="169"/>
 
191
</arc>
 
192
<arc id="ReSend_0 to Sender_0_B" inscription="1" source="ReSend_0" target="Sender_0_B" type="normal">
 
193
<arcpath arcPointType="false" id="0" xCoord="246" yCoord="257"/>
 
194
<arcpath arcPointType="false" id="1" xCoord="218" yCoord="308"/>
 
195
<arcpath arcPointType="false" id="2" xCoord="172" yCoord="262"/>
 
196
</arc>
 
197
<arc id="Medium_A to Receive_old_0" inscription="[0,inf):1" source="Medium_A" target="Receive_old_0" type="transport">
 
198
<arcpath arcPointType="false" id="0" xCoord="413" yCoord="172"/>
 
199
<arcpath arcPointType="false" id="1" xCoord="501" yCoord="252"/>
 
200
</arc>
 
201
<arc id="Receive_old_0 to Receiver_0_B" inscription="[0,inf):1" source="Receive_old_0" target="Receiver_0_B" type="transport">
 
202
<arcpath arcPointType="false" id="0" xCoord="511" yCoord="252"/>
 
203
<arcpath arcPointType="false" id="1" xCoord="597" yCoord="252"/>
 
204
</arc>
 
205
<arc id="Medium_C to Receive_1" inscription="[0,inf):1" source="Medium_C" target="Receive_1" type="transport">
 
206
<arcpath arcPointType="false" id="0" xCoord="416" yCoord="551"/>
 
207
<arcpath arcPointType="false" id="1" xCoord="597" yCoord="551"/>
 
208
</arc>
 
209
<arc id="Receive_1 to Receiver_1_B" inscription="[0,inf):1" source="Receive_1" target="Receiver_1_B" type="transport">
 
210
<arcpath arcPointType="false" id="0" xCoord="612" yCoord="557"/>
 
211
<arcpath arcPointType="false" id="1" xCoord="612" yCoord="612"/>
 
212
</arc>
 
213
</net>
 
214
<query active="true" capacity="4" discreteInclusion="true" extrapolationOption="null" hashTableSize="null" inclusionPlaces="*ALL*" name="TRUE" query="EF ((Protocol.Sender_0_A&gt;=1 and (Protocol.Receiver_0_B&gt;=1 or Protocol.Receiver_1_A&gt;=1)) or (Protocol.Sender_1_A&gt;=1 and (Protocol.Receiver_0_A&gt;=1 or Protocol.Receiver_1_B&gt;=1)))" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" traceOption="NONE"/>
 
215
</pnml>