Merge lp:~tapaal-contributor/tapaal/tapn-ending-for-files-686545 into lp:tapaal

Proposed by Peter Haahr Taankvist
Status: Merged
Approved by: Jiri Srba
Approved revision: 972
Merged at revision: 972
Proposed branch: lp:~tapaal-contributor/tapaal/tapn-ending-for-files-686545
Merge into: lp:tapaal
Diff against target: 5953 lines (+2804/-2757)
38 files modified
src/dk/aau/cs/gui/BatchProcessingDialog.java (+1/-1)
src/pipe/gui/Export.java (+1/-1)
src/pipe/gui/ExportBatchDialog.java (+3/-3)
src/pipe/gui/GuiFrame.java (+28/-16)
src/pipe/gui/widgets/CTLQueryDialog.java (+1/-1)
src/pipe/gui/widgets/NewTAPNPanel.java (+2/-2)
src/pipe/gui/widgets/QueryDialog.java (+1/-1)
src/pipe/gui/widgets/filebrowser/FileBrowser.java (+9/-3)
src/pipe/gui/widgets/filebrowser/NativeFileBrowser.java (+21/-7)
src/pipe/gui/widgets/filebrowser/NativeFileBrowserFallback.java (+24/-9)
src/resources/Example nets/alternating-bit-protocol-components.tapn (+241/-0)
src/resources/Example nets/alternating-bit-protocol-components.xml (+0/-241)
src/resources/Example nets/alternating-bit-protocol-transport.tapn (+216/-0)
src/resources/Example nets/alternating-bit-protocol-transport.xml (+0/-216)
src/resources/Example nets/alternating-bit-protocol.tapn (+210/-0)
src/resources/Example nets/alternating-bit-protocol.xml (+0/-210)
src/resources/Example nets/fischer-protocol.tapn (+308/-0)
src/resources/Example nets/fischer-protocol.xml (+0/-308)
src/resources/Example nets/intro-example.tapn (+97/-0)
src/resources/Example nets/intro-example.xml (+0/-97)
src/resources/Example nets/producer-consumer.tapn (+82/-0)
src/resources/Example nets/producer-consumer.xml (+0/-82)
src/resources/Example nets/shortest-path.tapn (+188/-0)
src/resources/Example nets/shortest-path.xml (+0/-188)
src/resources/Example nets/train-level-crossing.tapn (+117/-0)
src/resources/Example nets/train-level-crossing.xml (+0/-117)
src/resources/Example nets/webserver.tapn (+97/-0)
src/resources/Example nets/webserver.xml (+0/-97)
src/resources/Example nets/workflow-advanced.tapn (+345/-0)
src/resources/Example nets/workflow-advanced.xml (+0/-345)
src/resources/Example nets/workflow-complaint.tapn (+156/-0)
src/resources/Example nets/workflow-complaint.xml (+0/-156)
src/resources/Example nets/workflow-medical.tapn (+271/-0)
src/resources/Example nets/workflow-medical.xml (+0/-271)
src/resources/Example nets/workflow-payment.tapn (+154/-0)
src/resources/Example nets/workflow-payment.xml (+0/-154)
src/resources/Example nets/workflow-simple.tapn (+231/-0)
src/resources/Example nets/workflow-simple.xml (+0/-231)
To merge this branch: bzr merge lp:~tapaal-contributor/tapaal/tapn-ending-for-files-686545
Reviewer Review Type Date Requested Status
Jiri Srba Approve
Peter Haahr Taankvist (community) Needs Resubmitting
Review via email: mp+349494@code.launchpad.net

Commit message

Change of .xml ending to .tapn ending for tapaal files

Description of the change

The .tapn ending is now used for tapaal files instead of .xml.

When opening a net the tabname is set to .tapn instead of .xml. When saving a net it will save in the same location as before, but overwriting the old .xml file with a .tapn file.

It is still possible to open .xml files using the Open menu option. It is not possible to save as an .xml file.

Batchprocessing and batchexport still accepts .xml files.

To post a comment you must log in.
Revision history for this message
Jiri Srba (srba) wrote :

A. Please, remove the debugging info at line 141 of the diff.

B. When a file gets renamed from .xml to .tapn, can you please display
the following message (not in batch import of files, only when single files
are opened):

"We have changed the ending of TAPAAL files from .xml to .tapn and
 the opened file was automatically renamed to end with .tapn. Once
 you save the .tapn model, the .xml file will be automatically removed."

C. I have also encountered a problem by opening a file called 2.xml, that
was renamed to 2.tapn and then I tried to save the file and got NPE as it tried
to save it to the path ".../2.xml/2.tapn" and the directory "2.xml" didn't exist.
I cannot reproduce the problem (I was playing with multiple files opened in different
tabs) and will post how to reproduce should I find out how to do it.

review: Needs Fixing
Revision history for this message
Jiri Srba (srba) wrote :

In fact, the more I think about this, we should not remove silently the file .xml
from the file system. So, please, leave both files in the directly and change the message to

"We have changed the ending of TAPAAL files from .xml to .tapn and
 the opened file was automatically renamed to end with .tapn. Once
 you save the .tapn model, we recommend that you manually delete the .xml file."

968. By Peter Taankvist <email address hidden>

Add information message about .tapn ending and remove automatic removal of .xml files

Revision history for this message
Peter Haahr Taankvist (ptaank) wrote :

A. Done

B. When opening an .xml file it will create a new file with the same name but with .tapn instead. The .xml file will remain intact in the file system. When a .tapn file is created from a .xml file a message will show. First time it is renamed it will be 'Saved as'.

C. I was not able to reproduce this..

review: Needs Resubmitting
969. By Peter Taankvist <email address hidden>

Fix fileName.pnml.tapn bug - bug number 1780420

970. By Peter Taankvist <email address hidden>

Merge with trunk

Revision history for this message
Peter Haahr Taankvist (ptaank) wrote :

If the opened file ends on pnml it is now properly renamed to end on tapn instead when saving.

review: Needs Resubmitting
971. By Jiri Srba <email address hidden>

merged in trunk

Revision history for this message
Jiri Srba (srba) wrote :

Seems to work nicely, found only one issue:

Import .pnml and it does not get changed to .tapn
Then if you try to export the .pnml file again into PNML, it craches
(probably due to this work ending that it was assigned).

review: Needs Fixing
972. By Peter Taankvist <email address hidden>

fix export bug and rename of pnml

Revision history for this message
Peter Haahr Taankvist (ptaank) wrote :

It should be fixed now. The file is renamed to .tapn when you import PNML and it does not crash for me when exporting.

review: Needs Resubmitting
Revision history for this message
Jiri Srba (srba) wrote :

All issues are fixed now.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/dk/aau/cs/gui/BatchProcessingDialog.java'
2--- src/dk/aau/cs/gui/BatchProcessingDialog.java 2018-05-18 17:51:11 +0000
3+++ src/dk/aau/cs/gui/BatchProcessingDialog.java 2018-08-11 09:29:00 +0000
4@@ -505,7 +505,7 @@
5 }
6
7 private void addFiles() {
8- FileBrowser browser = FileBrowser.constructor("Timed-Arc Petri Nets","xml", lastPath);
9+ FileBrowser browser = FileBrowser.constructor("Timed-Arc Petri Nets","tapn","xml", lastPath);
10
11 File[] filesArray = browser.openFiles();
12 if (filesArray.length>0) {
13
14=== modified file 'src/pipe/gui/Export.java'
15--- src/pipe/gui/Export.java 2018-05-18 17:51:11 +0000
16+++ src/pipe/gui/Export.java 2018-08-11 09:29:00 +0000
17@@ -262,7 +262,7 @@
18 }
19 break;
20 case QUERY:
21- filename = FileBrowser.constructor("Query XML file", "xml", filename).saveFile(CreateGui.getAppGui().getCurrentTabName().replaceAll(".xml", "-queries"));
22+ filename = FileBrowser.constructor("Query XML file", "xml", filename).saveFile(CreateGui.getAppGui().getCurrentTabName().replaceAll(".tapn", "-queries"));
23 if (filename != null) {
24 toQueryXML(filename);
25 }
26
27=== modified file 'src/pipe/gui/ExportBatchDialog.java'
28--- src/pipe/gui/ExportBatchDialog.java 2018-05-18 18:02:13 +0000
29+++ src/pipe/gui/ExportBatchDialog.java 2018-08-11 09:29:00 +0000
30@@ -413,7 +413,7 @@
31 }
32
33 private void addFiles() {
34- FileBrowser browser = FileBrowser.constructor("Timed-Arc Petri Nets", "xml", lastSelectPath);
35+ FileBrowser browser = FileBrowser.constructor("Timed-Arc Petri Nets","tapn", "xml", lastSelectPath);
36
37 File[] filesArray = browser.openFiles();
38 if (filesArray.length>0) {
39@@ -480,7 +480,7 @@
40 lastExportPath = destPath;
41 progressBarThread.start();
42 for(File file : files) {
43- Path path = Paths.get(destPath + "/" + file.getName().replaceAll(".xml", ""));
44+ Path path = Paths.get(destPath + "/" + file.getName().replaceAll(".xml", "").replaceAll(".tapn", ""));
45 try {
46 if(!(Files.exists(path))) {
47 Files.createDirectories(path);
48@@ -545,7 +545,7 @@
49
50 for(pipe.dataLayer.TAPNQuery query : queries) {
51 pipe.dataLayer.TAPNQuery copy = query;
52- copy.setName((fileName.replaceAll(".xml", "") + "." + query.getName() + "-" + index).replaceAll(" ", "_"));
53+ copy.setName((fileName.replaceAll(".xml", "") + "." + query.getName() + "-" + index).replaceAll(" ", "_").replaceAll(".tapn", ""));
54 renamedQueries.add(copy);
55 index++;
56 }
57
58=== modified file 'src/pipe/gui/GuiFrame.java'
59--- src/pipe/gui/GuiFrame.java 2018-07-08 17:36:25 +0000
60+++ src/pipe/gui/GuiFrame.java 2018-08-11 09:29:00 +0000
61@@ -1581,17 +1581,17 @@
62 private boolean saveOperation(int index, boolean forceSaveAs) {
63 File modelFile = CreateGui.getTab(index).getFile();
64 boolean result;
65- if (!forceSaveAs && modelFile != null) { // ordinary save
66+ if (!forceSaveAs && modelFile != null && !(modelFile.getName().endsWith(".xml"))) { // ordinary save
67 saveNet(index, modelFile);
68 result = true;
69 } else { // save as
70 String path;
71 if (modelFile != null) {
72- path = modelFile.toString();
73+ path = modelFile.getParent();
74 } else {
75 path = appTab.getTitleAt(index);
76 }
77- String filename = FileBrowser.constructor("Timed-Arc Petri Net", "xml", path).saveFile();
78+ String filename = FileBrowser.constructor("Timed-Arc Petri Net", "tapn", path).saveFile();
79 if (filename != null) {
80 modelFile = new File(filename);
81 saveNet(index, modelFile);
82@@ -1674,7 +1674,7 @@
83 //CreateGui.getModel(freeSpace).setNetType(netType);
84
85 if (name == null || name.isEmpty()) {
86- name = "New Petri net " + (newNameCounter++) + ".xml";
87+ name = "New Petri net " + (newNameCounter++) + ".tapn";
88 }
89
90 //tab.setCurrentTemplate(template);
91@@ -1698,15 +1698,20 @@
92 */
93 public TabContent createNewTabFromFile(InputStream file, String name) {
94 int freeSpace = CreateGui.getFreeSpace(NetType.TAPN);
95+ boolean showFileEndingChangedMessage = false;
96
97
98 setObjects(freeSpace);
99 int currentlySelected = appTab.getSelectedIndex();
100
101 if (name == null || name.equals("")) {
102- name = "New Petri net " + (newNameCounter++) + ".xml";
103- } else if (!name.toLowerCase().endsWith(".xml")){
104- name = name + ".xml";
105+ name = "New Petri net " + (newNameCounter++) + ".tapn";
106+ } else if (!name.toLowerCase().endsWith(".tapn")){
107+ if(name.endsWith(".xml")){
108+ name = name.replaceAll(".xml", ".tapn");
109+ showFileEndingChangedMessage = true;
110+ }else
111+ name = name + ".tapn";
112 }
113
114 TabContent tab = CreateGui.getTab(freeSpace);
115@@ -1750,6 +1755,7 @@
116 setTitle(name);// Change the program caption
117 //appTab.setTitleAt(freeSpace, name); //Set above in addTab
118 selectAction.actionPerformed(null);
119+ showFileEndingChangedMessage(showFileEndingChangedMessage);
120 return tab;
121 }
122
123@@ -1765,9 +1771,9 @@
124 int currentlySelected = appTab.getSelectedIndex();
125
126 if (file == null) {
127- name = "New Petri net " + (newNameCounter++) + ".xml";
128+ name = "New Petri net " + (newNameCounter++) + ".tapn";
129 } else {
130- name = file.getName();
131+ name = file.getName().replaceAll(".pnml", ".tapn");
132 }
133
134 TabContent tab = CreateGui.getTab(freeSpace);
135@@ -1810,7 +1816,7 @@
136 }
137
138 //appView.updatePreferredSize(); //XXX 2018-05-23 kyrke seems not to be needed
139- name = name.replace(".pnml",".xml"); // rename .pnml input file to .xml
140+ name = name.replace(".pnml",".tapn"); // rename .pnml input file to .tapn
141 setTitle(name);// Change the program caption
142 //appTab.setTitleAt(freeSpace, name); //Set above in addTab
143 selectAction.actionPerformed(null);
144@@ -1846,7 +1852,7 @@
145 try {
146 ByteArrayOutputStream outputStream = tapnWriter.savePNML();
147 String composedName = appTab.getTitleAt(index);
148- composedName = composedName.replace(".xml", "");
149+ composedName = composedName.replace(".tapn", "");
150 composedName += "-untimed";
151 CreateGui.getApp().createNewTabFromFile(new ByteArrayInputStream(outputStream.toByteArray()), composedName);
152 } catch (Exception e1) {
153@@ -2426,7 +2432,7 @@
154
155 fileMenu.add(openAction = new GuiAction("Open", "Open", KeyStroke.getKeyStroke('O', shortcutkey )) {
156 public void actionPerformed(ActionEvent arg0) {
157- File[] files = FileBrowser.constructor("Timed-Arc Petri Net", "xml", FileBrowser.userPath).openFiles();
158+ File[] files = FileBrowser.constructor("Timed-Arc Petri Net","tapn", "xml", FileBrowser.userPath).openFiles();
159 for (File f : files) {
160 if (f.exists() && f.isFile() && f.canRead()) {
161 FileBrowser.userPath = f.getParent();
162@@ -2598,9 +2604,9 @@
163 exampleMenu.setIcon(new ImageIcon(Thread.currentThread().getContextClassLoader().getResource(CreateGui.imgPath + "Example.png")));
164
165 for (String filename : nets) {
166- if (filename.toLowerCase().endsWith(".xml")) {
167+ if (filename.toLowerCase().endsWith(".tapn")) {
168
169- final String netname = filename.replace(".xml", "");
170+ final String netname = filename.replace(".tapn", "");
171 final String filenameFinal = filename;
172 GuiAction tmp = new GuiAction(netname, "Open example file \"" + netname + "\"") {
173 public void actionPerformed(ActionEvent arg0) {
174@@ -2688,10 +2694,10 @@
175
176 int toReturn = one.compareTo(two);
177 // Special hack to get intro-example first
178- if (one.equals("intro-example.xml")) {
179+ if (one.equals("intro-example.tapn")) {
180 toReturn = -1;
181 }
182- if (two.equals("intro-example.xml")) {
183+ if (two.equals("intro-example.tapn")) {
184 toReturn = 1;
185 }
186 return toReturn;
187@@ -2814,6 +2820,12 @@
188 }
189
190 public int getSelectedTabIndex() { return appTab.getSelectedIndex(); };
191+ public void showFileEndingChangedMessage(boolean showMessage) {
192+ if(showMessage) {
193+ new MessengerImpl().displayInfoMessage("We have changed the ending of TAPAAL files from .xml to .tapn and the opened file was automatically renamed to end with .tapn.\n"
194+ + "Once you save the .tapn model, we recommend that you manually delete the .xml file.", "FILE CHANGED");
195+ }
196+ }
197
198
199 //If needed, add boolean forceClose, where net is not checkedForSave and just closed
200
201=== modified file 'src/pipe/gui/widgets/CTLQueryDialog.java'
202--- src/pipe/gui/widgets/CTLQueryDialog.java 2018-07-08 16:54:03 +0000
203+++ src/pipe/gui/widgets/CTLQueryDialog.java 2018-08-11 09:29:00 +0000
204@@ -2477,7 +2477,7 @@
205 try {
206 ByteArrayOutputStream outputStream = tapnWriter.savePNML();
207 String composedName = "composed-" + CreateGui.getApp().getCurrentTabName();
208- composedName = composedName.replace(".xml", "");
209+ composedName = composedName.replace(".tapn", "");
210 CreateGui.getApp().createNewTabFromFile(new ByteArrayInputStream(outputStream.toByteArray()), composedName);
211 exit();
212 } catch (Exception e1) {
213
214=== modified file 'src/pipe/gui/widgets/NewTAPNPanel.java'
215--- src/pipe/gui/widgets/NewTAPNPanel.java 2018-05-23 17:02:44 +0000
216+++ src/pipe/gui/widgets/NewTAPNPanel.java 2018-08-11 09:29:00 +0000
217@@ -93,8 +93,8 @@
218 }
219
220 protected void createNewTAPNBasedOnSelection(String name, NetType type) {
221- if (!name.endsWith(".xml")) {
222- name = name + ".xml";
223+ if (!name.endsWith(".tapn")) {
224+ name = name + ".tapn";
225 }
226
227 if (name.isEmpty()) {
228
229=== modified file 'src/pipe/gui/widgets/QueryDialog.java'
230--- src/pipe/gui/widgets/QueryDialog.java 2018-05-13 14:57:15 +0000
231+++ src/pipe/gui/widgets/QueryDialog.java 2018-08-11 09:29:00 +0000
232@@ -2767,7 +2767,7 @@
233 try {
234 ByteArrayOutputStream outputStream = tapnWriter.savePNML();
235 String composedName = "composed-" + CreateGui.getApp().getCurrentTabName();
236- composedName = composedName.replace(".xml", "");
237+ composedName = composedName.replace(".tapn", "");
238 CreateGui.getApp().createNewTabFromFile(new ByteArrayInputStream(outputStream.toByteArray()), composedName);
239 exit();
240 } catch (Exception e1) {
241
242=== modified file 'src/pipe/gui/widgets/filebrowser/FileBrowser.java'
243--- src/pipe/gui/widgets/filebrowser/FileBrowser.java 2018-05-23 15:47:10 +0000
244+++ src/pipe/gui/widgets/filebrowser/FileBrowser.java 2018-08-11 09:29:00 +0000
245@@ -18,16 +18,19 @@
246 }
247
248 public static FileBrowser constructor(String filetype, final String ext, String path) {
249+ return constructor(filetype, ext, "", path);
250+ }
251+ public static FileBrowser constructor(String filetype, final String ext, final String optionalExt, String path) {
252
253 if(JavaUtil.getJREMajorVersion() >= 7){
254- FileBrowser newObject = new NativeFileBrowser(filetype, ext, path);
255+ FileBrowser newObject = new NativeFileBrowser(filetype, ext, optionalExt, path);
256 if(path != null) {
257 newObject.lastPath = path;
258 }
259
260 return newObject;
261 }else{
262- FileBrowser newObject = new NativeFileBrowserFallback(filetype, ext, path);
263+ FileBrowser newObject = new NativeFileBrowserFallback(filetype, ext, optionalExt, path);
264 if(path != null) {
265 newObject.lastPath = path;
266 }
267@@ -42,7 +45,10 @@
268 public abstract File[] openFiles();
269
270 public String saveFile(){
271- return saveFile(CreateGui.getAppGui().getCurrentTabName().replaceAll(".xml", ""));
272+ if(CreateGui.getAppGui().getCurrentTabName().endsWith(".tapn"))
273+ return saveFile(CreateGui.getAppGui().getCurrentTabName().replaceAll(".tapn", ""));
274+ else
275+ return saveFile(CreateGui.getAppGui().getCurrentTabName().replaceAll(".xml", ""));
276 }
277
278 public abstract String saveFile(String suggestedName);
279
280=== modified file 'src/pipe/gui/widgets/filebrowser/NativeFileBrowser.java'
281--- src/pipe/gui/widgets/filebrowser/NativeFileBrowser.java 2018-05-03 06:16:00 +0000
282+++ src/pipe/gui/widgets/filebrowser/NativeFileBrowser.java 2018-08-11 09:29:00 +0000
283@@ -14,8 +14,11 @@
284 class NativeFileBrowser extends FileBrowser {
285 private FileDialog fc;
286 private String ext;
287-
288 NativeFileBrowser(String filetype, final String ext, String path) {
289+ this(filetype, ext, "", path);
290+ }
291+
292+ NativeFileBrowser(String filetype, final String ext, final String optionalExt, String path) {
293 fc = new FileDialog(CreateGui.getAppGui(), filetype);
294
295 if (filetype == null) {
296@@ -28,14 +31,25 @@
297
298 // Setup filter if extension specified
299 if(!ext.equals("")){
300- fc.setFilenameFilter(new FilenameFilter() {
301- @Override
302- public boolean accept(File dir, String name) {
303- return name.endsWith( ext );
304- }
305- });
306+ if(!optionalExt.equals("")) {
307+ fc.setFilenameFilter(new FilenameFilter() {
308+ @Override
309+ public boolean accept(File dir, String name) {
310+ return name.endsWith( ext ) || name.endsWith(optionalExt);
311+ }
312+ });
313+ }
314+ else {
315+ fc.setFilenameFilter(new FilenameFilter() {
316+ @Override
317+ public boolean accept(File dir, String name) {
318+ return name.endsWith( ext );
319+ }
320+ });
321+ }
322 }
323 }
324+
325
326 public File openFile() {
327 fc.setFile(ext.equals("")? "":"*."+ext);
328
329=== modified file 'src/pipe/gui/widgets/filebrowser/NativeFileBrowserFallback.java'
330--- src/pipe/gui/widgets/filebrowser/NativeFileBrowserFallback.java 2018-05-03 06:16:00 +0000
331+++ src/pipe/gui/widgets/filebrowser/NativeFileBrowserFallback.java 2018-08-11 09:29:00 +0000
332@@ -17,12 +17,14 @@
333 private FileDialog fc;
334 private String ext;
335 private JFileChooser fileChooser;
336-
337 /**
338 This show native open/save dialogs for all type of dialogs except multifile open,
339 Java before 7, have problems with multiselect for native dialogs.
340 */
341 NativeFileBrowserFallback(String filetype, final String ext, String path) {
342+ this(filetype, ext, "", path);
343+ }
344+ NativeFileBrowserFallback(String filetype, final String ext, final String optionalExt, String path) {
345 fc = new FileDialog(CreateGui.getAppGui(), filetype);
346
347 if (filetype == null) {
348@@ -36,18 +38,31 @@
349 /* Setup JFileChooser for multi file selection */
350 fileChooser = new JFileChooser();
351 fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
352+ FileNameExtensionFilter filter;
353
354 // Setup filter if extension specified
355 if(!ext.equals("")){
356- fc.setFilenameFilter(new FilenameFilter() {
357- @Override
358- public boolean accept(File dir, String name) {
359- return name.endsWith( ext );
360- }
361- });
362+ if(!optionalExt.equals("")) {
363+ fc.setFilenameFilter(new FilenameFilter() {
364+ @Override
365+ public boolean accept(File dir, String name) {
366+ return name.endsWith( ext ) || name.endsWith(optionalExt);
367+ }
368+ });
369+ filter = new FileNameExtensionFilter(
370+ filetype, new String[] { ext, optionalExt });
371+ }else {
372+ fc.setFilenameFilter(new FilenameFilter() {
373+ @Override
374+ public boolean accept(File dir, String name) {
375+ return name.endsWith( ext );
376+ }
377+ });
378+ filter = new FileNameExtensionFilter(
379+ filetype, new String[] { ext });
380+ }
381
382- FileNameExtensionFilter filter = new FileNameExtensionFilter(
383- filetype, new String[] { ext });
384+
385 fileChooser.setFileFilter(filter);
386 fileChooser.setAcceptAllFileFilterUsed(false);
387 fileChooser.setFileFilter(filter);
388
389=== added file 'src/resources/Example nets/alternating-bit-protocol-components.tapn'
390--- src/resources/Example nets/alternating-bit-protocol-components.tapn 1970-01-01 00:00:00 +0000
391+++ src/resources/Example nets/alternating-bit-protocol-components.tapn 2018-08-11 09:29:00 +0000
392@@ -0,0 +1,241 @@
393+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
394+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
395+<shared-place initialMarking="0" invariant="&lt; inf" name="MediumA"/>
396+<shared-place initialMarking="0" invariant="&lt; inf" name="MediumB"/>
397+<shared-place initialMarking="0" invariant="&lt; inf" name="MediumC"/>
398+<shared-place initialMarking="0" invariant="&lt; inf" name="MediumD"/>
399+<net active="true" id="Sender" type="P/T net">
400+<labels border="true" height="187" positionX="525" positionY="77" width="105">This is the Sender's part of the protocol. The places called MediumA, MediumB, MediumC and MediumD are inside a dashed circle and this indicates that they are shared among more components.</labels>
401+<place id="MediumA" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumA" nameOffsetX="4.0" nameOffsetY="-7.0" positionX="390.0" positionY="150.0"/>
402+<place id="Sender_A" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="60.0"/>
403+<place id="Sender_B" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_B" nameOffsetX="-5.0" nameOffsetY="31.0" positionX="150.0" positionY="240.0"/>
404+<place id="Sender_C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="450.0"/>
405+<place id="Sender_D" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="630.0"/>
406+<place id="MediumB" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumB" nameOffsetX="-5.0" nameOffsetY="1.0" positionX="390.0" positionY="360.0"/>
407+<place id="MediumC" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumC" nameOffsetX="-7.0" nameOffsetY="-1.0" positionX="390.0" positionY="540.0"/>
408+<place id="MediumD" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumD" nameOffsetX="-5.0" nameOffsetY="-4.0" positionX="390.0" positionY="720.0"/>
409+<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" urgent="false"/>
410+<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" urgent="false"/>
411+<transition angle="0" id="ReSend_1" infiniteServer="false" name="ReSend_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="240.0" positionY="630.0" priority="0" urgent="false"/>
412+<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" urgent="false"/>
413+<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" urgent="false"/>
414+<transition angle="0" id="ReSend_0" infiniteServer="false" name="ReSend_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="240.0" positionY="240.0" priority="0" urgent="false"/>
415+<arc id="Sender_A to Send_0" inscription="[0,inf)" source="Sender_A" target="Send_0" type="timed" weight="1">
416+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="86"/>
417+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="157"/>
418+</arc>
419+<arc id="Sender_B to Ack_rec_0" inscription="[0,inf)" source="Sender_B" target="Ack_rec_0" type="timed" weight="1">
420+<arcpath arcPointType="false" id="0" xCoord="161" yCoord="266"/>
421+<arcpath arcPointType="false" id="1" xCoord="161" yCoord="366"/>
422+</arc>
423+<arc id="Sender_B to ReSend_0" inscription="[5,6]" source="Sender_B" target="ReSend_0" type="timed" weight="1">
424+<arcpath arcPointType="false" id="0" xCoord="176" yCoord="246"/>
425+<arcpath arcPointType="false" id="1" xCoord="217" yCoord="232"/>
426+<arcpath arcPointType="false" id="2" xCoord="247" yCoord="247"/>
427+</arc>
428+<arc id="Sender_C to Send_1" inscription="[0,inf)" source="Sender_C" target="Send_1" type="timed" weight="1">
429+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="476"/>
430+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="547"/>
431+</arc>
432+<arc id="Sender_D to ReSend_1" inscription="[5,6]" source="Sender_D" target="ReSend_1" type="timed" weight="1">
433+<arcpath arcPointType="false" id="0" xCoord="176" yCoord="636"/>
434+<arcpath arcPointType="false" id="1" xCoord="217" yCoord="622"/>
435+<arcpath arcPointType="false" id="2" xCoord="247" yCoord="637"/>
436+</arc>
437+<arc id="Sender_D to Ack_rec_1" inscription="[0,inf)" source="Sender_D" target="Ack_rec_1" type="timed" weight="1">
438+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="656"/>
439+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="727"/>
440+</arc>
441+<arc id="MediumB to Ack_rec_0" inscription="[0,1]" source="MediumB" target="Ack_rec_0" type="timed" weight="1">
442+<arcpath arcPointType="false" id="0" xCoord="387" yCoord="372"/>
443+<arcpath arcPointType="false" id="1" xCoord="176" yCoord="372"/>
444+</arc>
445+<arc id="MediumD to Ack_rec_1" inscription="[0,1]" source="MediumD" target="Ack_rec_1" type="timed" weight="1">
446+<arcpath arcPointType="false" id="0" xCoord="387" yCoord="731"/>
447+<arcpath arcPointType="false" id="1" xCoord="177" yCoord="731"/>
448+</arc>
449+<arc id="Ack_rec_0 to Sender_C" inscription="1" source="Ack_rec_0" target="Sender_C" type="normal" weight="1">
450+<arcpath arcPointType="false" id="0" xCoord="161" yCoord="376"/>
451+<arcpath arcPointType="false" id="1" xCoord="161" yCoord="447"/>
452+</arc>
453+<arc id="ReSend_1 to Sender_D" inscription="1" source="ReSend_1" target="Sender_D" type="normal" weight="1">
454+<arcpath arcPointType="false" id="0" xCoord="246" yCoord="647"/>
455+<arcpath arcPointType="false" id="1" xCoord="217" yCoord="697"/>
456+<arcpath arcPointType="false" id="2" xCoord="172" yCoord="652"/>
457+</arc>
458+<arc id="Send_1 to Sender_D" inscription="1" source="Send_1" target="Sender_D" type="normal" weight="1">
459+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="557"/>
460+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="627"/>
461+</arc>
462+<arc id="Send_1 to MediumC" inscription="1" source="Send_1" target="MediumC" type="normal" weight="1">
463+<arcpath arcPointType="false" id="0" xCoord="177" yCoord="551"/>
464+<arcpath arcPointType="false" id="1" xCoord="387" yCoord="551"/>
465+</arc>
466+<arc id="Ack_rec_1 to Sender_A" inscription="1" source="Ack_rec_1" target="Sender_A" type="normal" weight="1">
467+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="737"/>
468+<arcpath arcPointType="false" id="1" xCoord="142" yCoord="787"/>
469+<arcpath arcPointType="false" id="2" xCoord="82" yCoord="787"/>
470+<arcpath arcPointType="false" id="3" xCoord="82" yCoord="52"/>
471+<arcpath arcPointType="false" id="4" xCoord="157" yCoord="52"/>
472+<arcpath arcPointType="false" id="5" xCoord="158" yCoord="57"/>
473+</arc>
474+<arc id="Send_0 to MediumA" inscription="1" source="Send_0" target="MediumA" type="normal" weight="1">
475+<arcpath arcPointType="false" id="0" xCoord="177" yCoord="161"/>
476+<arcpath arcPointType="false" id="1" xCoord="387" yCoord="161"/>
477+</arc>
478+<arc id="Send_0 to Sender_B" inscription="1" source="Send_0" target="Sender_B" type="normal" weight="1">
479+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="167"/>
480+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="237"/>
481+</arc>
482+<arc id="ReSend_0 to MediumA" inscription="1" source="ReSend_0" target="MediumA" type="normal" weight="1">
483+<arcpath arcPointType="false" id="0" xCoord="256" yCoord="252"/>
484+<arcpath arcPointType="false" id="1" xCoord="389" yCoord="169"/>
485+</arc>
486+<arc id="ReSend_0 to Sender_B" inscription="1" source="ReSend_0" target="Sender_B" type="normal" weight="1">
487+<arcpath arcPointType="false" id="0" xCoord="246" yCoord="257"/>
488+<arcpath arcPointType="false" id="1" xCoord="217" yCoord="307"/>
489+<arcpath arcPointType="false" id="2" xCoord="172" yCoord="262"/>
490+</arc>
491+<arc id="ReSend_1 to MediumC" inscription="1" source="ReSend_1" target="MediumC" type="normal" weight="1">
492+<arcpath arcPointType="false" id="0" xCoord="256" yCoord="642"/>
493+<arcpath arcPointType="false" id="1" xCoord="389" yCoord="559"/>
494+</arc>
495+</net>
496+<net active="true" id="Receiver" type="P/T net">
497+<labels border="true" height="135" positionX="131" positionY="151" width="105">This is the receiver's part of the protocol As before the places inside a dashed circle are shared with the Medium component and the Sender component.</labels>
498+<place id="MediumA" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumA" nameOffsetX="14.0" nameOffsetY="-16.0" positionX="390.0" positionY="150.0"/>
499+<place id="Receiver_D" initialMarking="0" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="600.0"/>
500+<place id="Receiver_A" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="780.0"/>
501+<place id="MediumB" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumB" nameOffsetX="2.0" nameOffsetY="-9.0" positionX="390.0" positionY="360.0"/>
502+<place id="MediumC" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumC" nameOffsetX="-2.0" nameOffsetY="-12.0" positionX="390.0" positionY="540.0"/>
503+<place id="MediumD" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumD" nameOffsetX="3.0" nameOffsetY="-13.0" positionX="390.0" positionY="720.0"/>
504+<place id="Receiver_B" initialMarking="0" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="240.0"/>
505+<place id="Receiver_C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="450.0"/>
506+<transition angle="270" id="Ack_send_0" infiniteServer="false" name="Ack_send_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="360.0" priority="0" urgent="false"/>
507+<transition angle="0" id="Receive_old_1" infiniteServer="false" name="Receive_old_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="480.0" positionY="600.0" priority="0" urgent="false"/>
508+<transition angle="90" id="Ack_send_1" infiniteServer="false" name="Ack_send_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="720.0" priority="0" urgent="false"/>
509+<transition angle="270" id="Receive_0" infiniteServer="false" name="Receive_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="150.0" priority="0" urgent="false"/>
510+<transition angle="0" id="Receive_old_0" infiniteServer="false" name="Receive_old_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="480.0" positionY="240.0" priority="0" urgent="false"/>
511+<transition angle="270" id="Receive_1" infiniteServer="false" name="Receive_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="540.0" priority="0" urgent="false"/>
512+<arc id="MediumA to Receive_0" inscription="[0,1]" source="MediumA" target="Receive_0" type="timed" weight="1">
513+<arcpath arcPointType="false" id="0" xCoord="416" yCoord="161"/>
514+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="161"/>
515+</arc>
516+<arc id="MediumA to Receive_old_0" inscription="[0,1]" source="MediumA" target="Receive_old_0" type="timed" weight="1">
517+<arcpath arcPointType="false" id="0" xCoord="412" yCoord="172"/>
518+<arcpath arcPointType="false" id="1" xCoord="486" yCoord="252"/>
519+</arc>
520+<arc id="Receiver_D to Ack_send_1" inscription="[0,2]" source="Receiver_D" target="Ack_send_1" type="timed" weight="1">
521+<arcpath arcPointType="false" id="0" xCoord="611" yCoord="626"/>
522+<arcpath arcPointType="false" id="1" xCoord="611" yCoord="726"/>
523+</arc>
524+<arc id="Receiver_A to Receive_old_1" inscription="[0,inf)" source="Receiver_A" target="Receive_old_1" type="timed" weight="1">
525+<arcpath arcPointType="false" id="0" xCoord="603" yCoord="779"/>
526+<arcpath arcPointType="false" id="1" xCoord="496" yCoord="617"/>
527+</arc>
528+<arc id="Receiver_A to Receive_0" inscription="[0,inf)" source="Receiver_A" target="Receive_0" type="timed" weight="1">
529+<arcpath arcPointType="false" id="0" xCoord="626" yCoord="794"/>
530+<arcpath arcPointType="false" id="1" xCoord="678" yCoord="803"/>
531+<arcpath arcPointType="false" id="2" xCoord="727" yCoord="802"/>
532+<arcpath arcPointType="false" id="3" xCoord="727" yCoord="142"/>
533+<arcpath arcPointType="false" id="4" xCoord="653" yCoord="141"/>
534+<arcpath arcPointType="false" id="5" xCoord="627" yCoord="161"/>
535+</arc>
536+<arc id="MediumC to Receive_old_1" inscription="[0,1]" source="MediumC" target="Receive_old_1" type="timed" weight="1">
537+<arcpath arcPointType="false" id="0" xCoord="414" yCoord="560"/>
538+<arcpath arcPointType="false" id="1" xCoord="486" yCoord="612"/>
539+</arc>
540+<arc id="MediumC to Receive_1" inscription="[0,1]" source="MediumC" target="Receive_1" type="timed" weight="1">
541+<arcpath arcPointType="false" id="0" xCoord="416" yCoord="551"/>
542+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="551"/>
543+</arc>
544+<arc id="Receiver_B to Ack_send_0" inscription="[0,2]" source="Receiver_B" target="Ack_send_0" type="timed" weight="1">
545+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="266"/>
546+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="367"/>
547+</arc>
548+<arc id="Receiver_C to Receive_old_0" inscription="[0,inf)" source="Receiver_C" target="Receive_old_0" type="timed" weight="1">
549+<arcpath arcPointType="false" id="0" xCoord="604" yCoord="449"/>
550+<arcpath arcPointType="false" id="1" xCoord="492" yCoord="267"/>
551+</arc>
552+<arc id="Receiver_C to Receive_1" inscription="[0,inf)" source="Receiver_C" target="Receive_1" type="timed" weight="1">
553+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="476"/>
554+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="547"/>
555+</arc>
556+<arc id="Ack_send_0 to MediumB" inscription="1" source="Ack_send_0" target="MediumB" type="normal" weight="1">
557+<arcpath arcPointType="false" id="0" xCoord="597" yCoord="371"/>
558+<arcpath arcPointType="false" id="1" xCoord="416" yCoord="371"/>
559+</arc>
560+<arc id="Ack_send_0 to Receiver_C" inscription="1" source="Ack_send_0" target="Receiver_C" type="normal" weight="1">
561+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="377"/>
562+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="447"/>
563+</arc>
564+<arc id="Receive_old_1 to Receiver_D" inscription="1" source="Receive_old_1" target="Receiver_D" type="normal" weight="1">
565+<arcpath arcPointType="false" id="0" xCoord="497" yCoord="607"/>
566+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="611"/>
567+</arc>
568+<arc id="Ack_send_1 to Receiver_A" inscription="1" source="Ack_send_1" target="Receiver_A" type="normal" weight="1">
569+<arcpath arcPointType="false" id="0" xCoord="611" yCoord="736"/>
570+<arcpath arcPointType="false" id="1" xCoord="611" yCoord="777"/>
571+</arc>
572+<arc id="Ack_send_1 to MediumD" inscription="1" source="Ack_send_1" target="MediumD" type="normal" weight="1">
573+<arcpath arcPointType="false" id="0" xCoord="596" yCoord="732"/>
574+<arcpath arcPointType="false" id="1" xCoord="417" yCoord="732"/>
575+</arc>
576+<arc id="Receive_0 to Receiver_B" inscription="1" source="Receive_0" target="Receiver_B" type="normal" weight="1">
577+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="167"/>
578+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="237"/>
579+</arc>
580+<arc id="Receive_old_0 to Receiver_B" inscription="1" source="Receive_old_0" target="Receiver_B" type="normal" weight="1">
581+<arcpath arcPointType="false" id="0" xCoord="496" yCoord="252"/>
582+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="252"/>
583+</arc>
584+<arc id="Receive_1 to Receiver_D" inscription="1" source="Receive_1" target="Receiver_D" type="normal" weight="1">
585+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="557"/>
586+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="597"/>
587+</arc>
588+</net>
589+<net active="false" id="MediumNonLossy" type="P/T net">
590+<labels border="true" height="356" positionX="739" positionY="55" width="143">Classical Alternating Bit Protocol with timeouts for resending messages.
591+
592+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.
593+
594+In the list of components the user can uncheck MediumNonLossy and select instead MediumLossy.</labels>
595+<place id="MediumA" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumA" nameOffsetX="20.0" nameOffsetY="-14.0" positionX="390.0" positionY="150.0"/>
596+<place id="MediumB" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumB" nameOffsetX="10.0" nameOffsetY="-22.0" positionX="390.0" positionY="360.0"/>
597+<place id="MediumC" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumC" nameOffsetX="10.0" nameOffsetY="-11.0" positionX="390.0" positionY="540.0"/>
598+<place id="MediumD" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumD" nameOffsetX="12.0" nameOffsetY="-12.0" positionX="390.0" positionY="720.0"/>
599+</net>
600+<net active="true" id="MediumLossy" type="P/T net">
601+<labels border="true" height="304" positionX="714" positionY="91" width="143">Classical Alternating Bit Protocol with timeouts for resending messages.
602+
603+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.
604+
605+</labels>
606+<place id="MediumA" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumA" nameOffsetX="20.0" nameOffsetY="-14.0" positionX="390.0" positionY="150.0"/>
607+<place id="MediumB" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumB" nameOffsetX="10.0" nameOffsetY="-22.0" positionX="390.0" positionY="360.0"/>
608+<place id="MediumC" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumC" nameOffsetX="10.0" nameOffsetY="-11.0" positionX="390.0" positionY="540.0"/>
609+<place id="MediumD" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumD" nameOffsetX="12.0" nameOffsetY="-12.0" positionX="390.0" positionY="720.0"/>
610+<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" urgent="false"/>
611+<transition angle="270" id="Loss_D" infiniteServer="false" name="Loss_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="795.0" priority="0" urgent="false"/>
612+<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" urgent="false"/>
613+<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" urgent="false"/>
614+<arc id="MediumA to Loss_A" inscription="[0,inf)" source="MediumA" target="Loss_A" type="timed" weight="1">
615+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="176"/>
616+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="247"/>
617+</arc>
618+<arc id="MediumB to Loss_B" inscription="[0,inf)" source="MediumB" target="Loss_B" type="timed" weight="1">
619+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="386"/>
620+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="457"/>
621+</arc>
622+<arc id="MediumC to Loss_C" inscription="[0,inf)" source="MediumC" target="Loss_C" type="timed" weight="1">
623+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="566"/>
624+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="637"/>
625+</arc>
626+<arc id="MediumD to Loss_D" inscription="[0,inf)" source="MediumD" target="Loss_D" type="timed" weight="1">
627+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="746"/>
628+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="802"/>
629+</arc>
630+</net>
631+<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="AUTOMATIC" gcd="true" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Violation of Behaviour" overApproximation="true" pTrie="true" query="EF ((Sender.Sender_A &gt;= 1 and Receiver.Receiver_B &gt;= 1) or (Sender.Sender_A &gt;= 1 and Receiver.Receiver_C &gt;= 1) or (Sender.Sender_C &gt;= 1 and Receiver.Receiver_A &gt;= 1) or (Sender.Sender_C &gt;= 1 and Receiver.Receiver_D &gt;= 1))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
632+<k-bound bound="3"/>
633+</pnml>
634
635=== removed file 'src/resources/Example nets/alternating-bit-protocol-components.xml'
636--- src/resources/Example nets/alternating-bit-protocol-components.xml 2014-06-08 19:45:48 +0000
637+++ src/resources/Example nets/alternating-bit-protocol-components.xml 1970-01-01 00:00:00 +0000
638@@ -1,241 +0,0 @@
639-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
640-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
641-<shared-place initialMarking="0" invariant="&lt; inf" name="MediumA"/>
642-<shared-place initialMarking="0" invariant="&lt; inf" name="MediumB"/>
643-<shared-place initialMarking="0" invariant="&lt; inf" name="MediumC"/>
644-<shared-place initialMarking="0" invariant="&lt; inf" name="MediumD"/>
645-<net active="true" id="Sender" type="P/T net">
646-<labels border="true" height="187" positionX="525" positionY="77" width="105">This is the Sender's part of the protocol. The places called MediumA, MediumB, MediumC and MediumD are inside a dashed circle and this indicates that they are shared among more components.</labels>
647-<place id="MediumA" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumA" nameOffsetX="4.0" nameOffsetY="-7.0" positionX="390.0" positionY="150.0"/>
648-<place id="Sender_A" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="60.0"/>
649-<place id="Sender_B" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_B" nameOffsetX="-5.0" nameOffsetY="31.0" positionX="150.0" positionY="240.0"/>
650-<place id="Sender_C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="450.0"/>
651-<place id="Sender_D" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="630.0"/>
652-<place id="MediumB" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumB" nameOffsetX="-5.0" nameOffsetY="1.0" positionX="390.0" positionY="360.0"/>
653-<place id="MediumC" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumC" nameOffsetX="-7.0" nameOffsetY="-1.0" positionX="390.0" positionY="540.0"/>
654-<place id="MediumD" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumD" nameOffsetX="-5.0" nameOffsetY="-4.0" positionX="390.0" positionY="720.0"/>
655-<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" urgent="false"/>
656-<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" urgent="false"/>
657-<transition angle="0" id="ReSend_1" infiniteServer="false" name="ReSend_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="240.0" positionY="630.0" priority="0" urgent="false"/>
658-<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" urgent="false"/>
659-<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" urgent="false"/>
660-<transition angle="0" id="ReSend_0" infiniteServer="false" name="ReSend_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="240.0" positionY="240.0" priority="0" urgent="false"/>
661-<arc id="Sender_A to Send_0" inscription="[0,inf)" source="Sender_A" target="Send_0" type="timed" weight="1">
662-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="86"/>
663-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="157"/>
664-</arc>
665-<arc id="Sender_B to Ack_rec_0" inscription="[0,inf)" source="Sender_B" target="Ack_rec_0" type="timed" weight="1">
666-<arcpath arcPointType="false" id="0" xCoord="161" yCoord="266"/>
667-<arcpath arcPointType="false" id="1" xCoord="161" yCoord="366"/>
668-</arc>
669-<arc id="Sender_B to ReSend_0" inscription="[5,6]" source="Sender_B" target="ReSend_0" type="timed" weight="1">
670-<arcpath arcPointType="false" id="0" xCoord="176" yCoord="246"/>
671-<arcpath arcPointType="false" id="1" xCoord="217" yCoord="232"/>
672-<arcpath arcPointType="false" id="2" xCoord="247" yCoord="247"/>
673-</arc>
674-<arc id="Sender_C to Send_1" inscription="[0,inf)" source="Sender_C" target="Send_1" type="timed" weight="1">
675-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="476"/>
676-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="547"/>
677-</arc>
678-<arc id="Sender_D to ReSend_1" inscription="[5,6]" source="Sender_D" target="ReSend_1" type="timed" weight="1">
679-<arcpath arcPointType="false" id="0" xCoord="176" yCoord="636"/>
680-<arcpath arcPointType="false" id="1" xCoord="217" yCoord="622"/>
681-<arcpath arcPointType="false" id="2" xCoord="247" yCoord="637"/>
682-</arc>
683-<arc id="Sender_D to Ack_rec_1" inscription="[0,inf)" source="Sender_D" target="Ack_rec_1" type="timed" weight="1">
684-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="656"/>
685-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="727"/>
686-</arc>
687-<arc id="MediumB to Ack_rec_0" inscription="[0,1]" source="MediumB" target="Ack_rec_0" type="timed" weight="1">
688-<arcpath arcPointType="false" id="0" xCoord="387" yCoord="372"/>
689-<arcpath arcPointType="false" id="1" xCoord="176" yCoord="372"/>
690-</arc>
691-<arc id="MediumD to Ack_rec_1" inscription="[0,1]" source="MediumD" target="Ack_rec_1" type="timed" weight="1">
692-<arcpath arcPointType="false" id="0" xCoord="387" yCoord="731"/>
693-<arcpath arcPointType="false" id="1" xCoord="177" yCoord="731"/>
694-</arc>
695-<arc id="Ack_rec_0 to Sender_C" inscription="1" source="Ack_rec_0" target="Sender_C" type="normal" weight="1">
696-<arcpath arcPointType="false" id="0" xCoord="161" yCoord="376"/>
697-<arcpath arcPointType="false" id="1" xCoord="161" yCoord="447"/>
698-</arc>
699-<arc id="ReSend_1 to Sender_D" inscription="1" source="ReSend_1" target="Sender_D" type="normal" weight="1">
700-<arcpath arcPointType="false" id="0" xCoord="246" yCoord="647"/>
701-<arcpath arcPointType="false" id="1" xCoord="217" yCoord="697"/>
702-<arcpath arcPointType="false" id="2" xCoord="172" yCoord="652"/>
703-</arc>
704-<arc id="Send_1 to Sender_D" inscription="1" source="Send_1" target="Sender_D" type="normal" weight="1">
705-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="557"/>
706-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="627"/>
707-</arc>
708-<arc id="Send_1 to MediumC" inscription="1" source="Send_1" target="MediumC" type="normal" weight="1">
709-<arcpath arcPointType="false" id="0" xCoord="177" yCoord="551"/>
710-<arcpath arcPointType="false" id="1" xCoord="387" yCoord="551"/>
711-</arc>
712-<arc id="Ack_rec_1 to Sender_A" inscription="1" source="Ack_rec_1" target="Sender_A" type="normal" weight="1">
713-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="737"/>
714-<arcpath arcPointType="false" id="1" xCoord="142" yCoord="787"/>
715-<arcpath arcPointType="false" id="2" xCoord="82" yCoord="787"/>
716-<arcpath arcPointType="false" id="3" xCoord="82" yCoord="52"/>
717-<arcpath arcPointType="false" id="4" xCoord="157" yCoord="52"/>
718-<arcpath arcPointType="false" id="5" xCoord="158" yCoord="57"/>
719-</arc>
720-<arc id="Send_0 to MediumA" inscription="1" source="Send_0" target="MediumA" type="normal" weight="1">
721-<arcpath arcPointType="false" id="0" xCoord="177" yCoord="161"/>
722-<arcpath arcPointType="false" id="1" xCoord="387" yCoord="161"/>
723-</arc>
724-<arc id="Send_0 to Sender_B" inscription="1" source="Send_0" target="Sender_B" type="normal" weight="1">
725-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="167"/>
726-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="237"/>
727-</arc>
728-<arc id="ReSend_0 to MediumA" inscription="1" source="ReSend_0" target="MediumA" type="normal" weight="1">
729-<arcpath arcPointType="false" id="0" xCoord="256" yCoord="252"/>
730-<arcpath arcPointType="false" id="1" xCoord="389" yCoord="169"/>
731-</arc>
732-<arc id="ReSend_0 to Sender_B" inscription="1" source="ReSend_0" target="Sender_B" type="normal" weight="1">
733-<arcpath arcPointType="false" id="0" xCoord="246" yCoord="257"/>
734-<arcpath arcPointType="false" id="1" xCoord="217" yCoord="307"/>
735-<arcpath arcPointType="false" id="2" xCoord="172" yCoord="262"/>
736-</arc>
737-<arc id="ReSend_1 to MediumC" inscription="1" source="ReSend_1" target="MediumC" type="normal" weight="1">
738-<arcpath arcPointType="false" id="0" xCoord="256" yCoord="642"/>
739-<arcpath arcPointType="false" id="1" xCoord="389" yCoord="559"/>
740-</arc>
741-</net>
742-<net active="true" id="Receiver" type="P/T net">
743-<labels border="true" height="135" positionX="131" positionY="151" width="105">This is the receiver's part of the protocol As before the places inside a dashed circle are shared with the Medium component and the Sender component.</labels>
744-<place id="MediumA" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumA" nameOffsetX="14.0" nameOffsetY="-16.0" positionX="390.0" positionY="150.0"/>
745-<place id="Receiver_D" initialMarking="0" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="600.0"/>
746-<place id="Receiver_A" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="780.0"/>
747-<place id="MediumB" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumB" nameOffsetX="2.0" nameOffsetY="-9.0" positionX="390.0" positionY="360.0"/>
748-<place id="MediumC" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumC" nameOffsetX="-2.0" nameOffsetY="-12.0" positionX="390.0" positionY="540.0"/>
749-<place id="MediumD" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumD" nameOffsetX="3.0" nameOffsetY="-13.0" positionX="390.0" positionY="720.0"/>
750-<place id="Receiver_B" initialMarking="0" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="240.0"/>
751-<place id="Receiver_C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="450.0"/>
752-<transition angle="270" id="Ack_send_0" infiniteServer="false" name="Ack_send_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="360.0" priority="0" urgent="false"/>
753-<transition angle="0" id="Receive_old_1" infiniteServer="false" name="Receive_old_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="480.0" positionY="600.0" priority="0" urgent="false"/>
754-<transition angle="90" id="Ack_send_1" infiniteServer="false" name="Ack_send_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="720.0" priority="0" urgent="false"/>
755-<transition angle="270" id="Receive_0" infiniteServer="false" name="Receive_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="150.0" priority="0" urgent="false"/>
756-<transition angle="0" id="Receive_old_0" infiniteServer="false" name="Receive_old_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="480.0" positionY="240.0" priority="0" urgent="false"/>
757-<transition angle="270" id="Receive_1" infiniteServer="false" name="Receive_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="540.0" priority="0" urgent="false"/>
758-<arc id="MediumA to Receive_0" inscription="[0,1]" source="MediumA" target="Receive_0" type="timed" weight="1">
759-<arcpath arcPointType="false" id="0" xCoord="416" yCoord="161"/>
760-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="161"/>
761-</arc>
762-<arc id="MediumA to Receive_old_0" inscription="[0,1]" source="MediumA" target="Receive_old_0" type="timed" weight="1">
763-<arcpath arcPointType="false" id="0" xCoord="412" yCoord="172"/>
764-<arcpath arcPointType="false" id="1" xCoord="486" yCoord="252"/>
765-</arc>
766-<arc id="Receiver_D to Ack_send_1" inscription="[0,2]" source="Receiver_D" target="Ack_send_1" type="timed" weight="1">
767-<arcpath arcPointType="false" id="0" xCoord="611" yCoord="626"/>
768-<arcpath arcPointType="false" id="1" xCoord="611" yCoord="726"/>
769-</arc>
770-<arc id="Receiver_A to Receive_old_1" inscription="[0,inf)" source="Receiver_A" target="Receive_old_1" type="timed" weight="1">
771-<arcpath arcPointType="false" id="0" xCoord="603" yCoord="779"/>
772-<arcpath arcPointType="false" id="1" xCoord="496" yCoord="617"/>
773-</arc>
774-<arc id="Receiver_A to Receive_0" inscription="[0,inf)" source="Receiver_A" target="Receive_0" type="timed" weight="1">
775-<arcpath arcPointType="false" id="0" xCoord="626" yCoord="794"/>
776-<arcpath arcPointType="false" id="1" xCoord="678" yCoord="803"/>
777-<arcpath arcPointType="false" id="2" xCoord="727" yCoord="802"/>
778-<arcpath arcPointType="false" id="3" xCoord="727" yCoord="142"/>
779-<arcpath arcPointType="false" id="4" xCoord="653" yCoord="141"/>
780-<arcpath arcPointType="false" id="5" xCoord="627" yCoord="161"/>
781-</arc>
782-<arc id="MediumC to Receive_old_1" inscription="[0,1]" source="MediumC" target="Receive_old_1" type="timed" weight="1">
783-<arcpath arcPointType="false" id="0" xCoord="414" yCoord="560"/>
784-<arcpath arcPointType="false" id="1" xCoord="486" yCoord="612"/>
785-</arc>
786-<arc id="MediumC to Receive_1" inscription="[0,1]" source="MediumC" target="Receive_1" type="timed" weight="1">
787-<arcpath arcPointType="false" id="0" xCoord="416" yCoord="551"/>
788-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="551"/>
789-</arc>
790-<arc id="Receiver_B to Ack_send_0" inscription="[0,2]" source="Receiver_B" target="Ack_send_0" type="timed" weight="1">
791-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="266"/>
792-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="367"/>
793-</arc>
794-<arc id="Receiver_C to Receive_old_0" inscription="[0,inf)" source="Receiver_C" target="Receive_old_0" type="timed" weight="1">
795-<arcpath arcPointType="false" id="0" xCoord="604" yCoord="449"/>
796-<arcpath arcPointType="false" id="1" xCoord="492" yCoord="267"/>
797-</arc>
798-<arc id="Receiver_C to Receive_1" inscription="[0,inf)" source="Receiver_C" target="Receive_1" type="timed" weight="1">
799-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="476"/>
800-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="547"/>
801-</arc>
802-<arc id="Ack_send_0 to MediumB" inscription="1" source="Ack_send_0" target="MediumB" type="normal" weight="1">
803-<arcpath arcPointType="false" id="0" xCoord="597" yCoord="371"/>
804-<arcpath arcPointType="false" id="1" xCoord="416" yCoord="371"/>
805-</arc>
806-<arc id="Ack_send_0 to Receiver_C" inscription="1" source="Ack_send_0" target="Receiver_C" type="normal" weight="1">
807-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="377"/>
808-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="447"/>
809-</arc>
810-<arc id="Receive_old_1 to Receiver_D" inscription="1" source="Receive_old_1" target="Receiver_D" type="normal" weight="1">
811-<arcpath arcPointType="false" id="0" xCoord="497" yCoord="607"/>
812-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="611"/>
813-</arc>
814-<arc id="Ack_send_1 to Receiver_A" inscription="1" source="Ack_send_1" target="Receiver_A" type="normal" weight="1">
815-<arcpath arcPointType="false" id="0" xCoord="611" yCoord="736"/>
816-<arcpath arcPointType="false" id="1" xCoord="611" yCoord="777"/>
817-</arc>
818-<arc id="Ack_send_1 to MediumD" inscription="1" source="Ack_send_1" target="MediumD" type="normal" weight="1">
819-<arcpath arcPointType="false" id="0" xCoord="596" yCoord="732"/>
820-<arcpath arcPointType="false" id="1" xCoord="417" yCoord="732"/>
821-</arc>
822-<arc id="Receive_0 to Receiver_B" inscription="1" source="Receive_0" target="Receiver_B" type="normal" weight="1">
823-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="167"/>
824-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="237"/>
825-</arc>
826-<arc id="Receive_old_0 to Receiver_B" inscription="1" source="Receive_old_0" target="Receiver_B" type="normal" weight="1">
827-<arcpath arcPointType="false" id="0" xCoord="496" yCoord="252"/>
828-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="252"/>
829-</arc>
830-<arc id="Receive_1 to Receiver_D" inscription="1" source="Receive_1" target="Receiver_D" type="normal" weight="1">
831-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="557"/>
832-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="597"/>
833-</arc>
834-</net>
835-<net active="false" id="MediumNonLossy" type="P/T net">
836-<labels border="true" height="356" positionX="739" positionY="55" width="143">Classical Alternating Bit Protocol with timeouts for resending messages.
837-
838-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.
839-
840-In the list of components the user can uncheck MediumNonLossy and select instead MediumLossy.</labels>
841-<place id="MediumA" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumA" nameOffsetX="20.0" nameOffsetY="-14.0" positionX="390.0" positionY="150.0"/>
842-<place id="MediumB" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumB" nameOffsetX="10.0" nameOffsetY="-22.0" positionX="390.0" positionY="360.0"/>
843-<place id="MediumC" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumC" nameOffsetX="10.0" nameOffsetY="-11.0" positionX="390.0" positionY="540.0"/>
844-<place id="MediumD" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumD" nameOffsetX="12.0" nameOffsetY="-12.0" positionX="390.0" positionY="720.0"/>
845-</net>
846-<net active="true" id="MediumLossy" type="P/T net">
847-<labels border="true" height="304" positionX="714" positionY="91" width="143">Classical Alternating Bit Protocol with timeouts for resending messages.
848-
849-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.
850-
851-</labels>
852-<place id="MediumA" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumA" nameOffsetX="20.0" nameOffsetY="-14.0" positionX="390.0" positionY="150.0"/>
853-<place id="MediumB" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumB" nameOffsetX="10.0" nameOffsetY="-22.0" positionX="390.0" positionY="360.0"/>
854-<place id="MediumC" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumC" nameOffsetX="10.0" nameOffsetY="-11.0" positionX="390.0" positionY="540.0"/>
855-<place id="MediumD" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MediumD" nameOffsetX="12.0" nameOffsetY="-12.0" positionX="390.0" positionY="720.0"/>
856-<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" urgent="false"/>
857-<transition angle="270" id="Loss_D" infiniteServer="false" name="Loss_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="795.0" priority="0" urgent="false"/>
858-<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" urgent="false"/>
859-<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" urgent="false"/>
860-<arc id="MediumA to Loss_A" inscription="[0,inf)" source="MediumA" target="Loss_A" type="timed" weight="1">
861-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="176"/>
862-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="247"/>
863-</arc>
864-<arc id="MediumB to Loss_B" inscription="[0,inf)" source="MediumB" target="Loss_B" type="timed" weight="1">
865-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="386"/>
866-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="457"/>
867-</arc>
868-<arc id="MediumC to Loss_C" inscription="[0,inf)" source="MediumC" target="Loss_C" type="timed" weight="1">
869-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="566"/>
870-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="637"/>
871-</arc>
872-<arc id="MediumD to Loss_D" inscription="[0,inf)" source="MediumD" target="Loss_D" type="timed" weight="1">
873-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="746"/>
874-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="802"/>
875-</arc>
876-</net>
877-<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="AUTOMATIC" gcd="true" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Violation of Behaviour" overApproximation="true" pTrie="true" query="EF ((Sender.Sender_A &gt;= 1 and Receiver.Receiver_B &gt;= 1) or (Sender.Sender_A &gt;= 1 and Receiver.Receiver_C &gt;= 1) or (Sender.Sender_C &gt;= 1 and Receiver.Receiver_A &gt;= 1) or (Sender.Sender_C &gt;= 1 and Receiver.Receiver_D &gt;= 1))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
878-<k-bound bound="3"/>
879-</pnml>
880
881=== added file 'src/resources/Example nets/alternating-bit-protocol-transport.tapn'
882--- src/resources/Example nets/alternating-bit-protocol-transport.tapn 1970-01-01 00:00:00 +0000
883+++ src/resources/Example nets/alternating-bit-protocol-transport.tapn 2018-08-11 09:29:00 +0000
884@@ -0,0 +1,216 @@
885+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
886+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
887+<constant name="deadline" value="6"/>
888+<constant name="delay" value="5"/>
889+<net active="true" id="Protocol" type="P/T net">
890+<labels border="true" height="426" positionX="782" positionY="69" width="167">Classical Alternating Bit Protocol with timeouts for resending messages.
891+
892+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.
893+
894+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.
895+
896+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>
897+<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"/>
898+<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"/>
899+<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"/>
900+<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"/>
901+<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"/>
902+<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"/>
903+<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"/>
904+<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"/>
905+<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"/>
906+<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"/>
907+<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"/>
908+<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"/>
909+<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" urgent="false"/>
910+<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" urgent="false"/>
911+<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" urgent="false"/>
912+<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" urgent="false"/>
913+<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" urgent="false"/>
914+<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" urgent="false"/>
915+<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" urgent="false"/>
916+<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" urgent="false"/>
917+<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" urgent="false"/>
918+<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" urgent="false"/>
919+<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" urgent="false"/>
920+<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" urgent="false"/>
921+<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" urgent="false"/>
922+<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" urgent="false"/>
923+<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" urgent="false"/>
924+<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" urgent="false"/>
925+<arc id="Medium_A to Loss_A" inscription="[0,inf)" source="Medium_A" target="Loss_A" type="timed" weight="1">
926+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="176"/>
927+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="247"/>
928+</arc>
929+<arc id="Receiver_0_A to Receive_old_1" inscription="[0,inf)" source="Receiver_0_A" target="Receive_old_1" type="timed" weight="1">
930+<arcpath arcPointType="false" id="0" xCoord="604" yCoord="779"/>
931+<arcpath arcPointType="false" id="1" xCoord="522" yCoord="642"/>
932+</arc>
933+<arc id="Receiver_0_A to Receive_0" inscription="[0,inf)" source="Receiver_0_A" target="Receive_0" type="timed" weight="1">
934+<arcpath arcPointType="false" id="0" xCoord="626" yCoord="794"/>
935+<arcpath arcPointType="false" id="1" xCoord="681" yCoord="806"/>
936+<arcpath arcPointType="false" id="2" xCoord="730" yCoord="805"/>
937+<arcpath arcPointType="false" id="3" xCoord="730" yCoord="145"/>
938+<arcpath arcPointType="false" id="4" xCoord="656" yCoord="144"/>
939+<arcpath arcPointType="false" id="5" xCoord="627" yCoord="161"/>
940+</arc>
941+<arc id="Sender_0_A to Send_0" inscription="[0,inf)" source="Sender_0_A" target="Send_0" type="timed" weight="1">
942+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="86"/>
943+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="157"/>
944+</arc>
945+<arc id="Sender_0_B to Ack_rec_0" inscription="[0,inf)" source="Sender_0_B" target="Ack_rec_0" type="timed" weight="1">
946+<arcpath arcPointType="false" id="0" xCoord="161" yCoord="266"/>
947+<arcpath arcPointType="false" id="1" xCoord="161" yCoord="366"/>
948+</arc>
949+<arc id="Sender_0_B to ReSend_0" inscription="[delay,deadline]" source="Sender_0_B" target="ReSend_0" type="timed" weight="1">
950+<arcpath arcPointType="false" id="0" xCoord="176" yCoord="247"/>
951+<arcpath arcPointType="false" id="1" xCoord="220" yCoord="235"/>
952+<arcpath arcPointType="false" id="2" xCoord="246" yCoord="252"/>
953+</arc>
954+<arc id="Sender_1_A to Send_1" inscription="[0,inf)" source="Sender_1_A" target="Send_1" type="timed" weight="1">
955+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="476"/>
956+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="547"/>
957+</arc>
958+<arc id="Sender_1_B to ReSend_1" inscription="[delay,deadline]" source="Sender_1_B" target="ReSend_1" type="timed" weight="1">
959+<arcpath arcPointType="false" id="0" xCoord="176" yCoord="637"/>
960+<arcpath arcPointType="false" id="1" xCoord="220" yCoord="625"/>
961+<arcpath arcPointType="false" id="2" xCoord="246" yCoord="642"/>
962+</arc>
963+<arc id="Sender_1_B to Ack_rec_1" inscription="[0,inf)" source="Sender_1_B" target="Ack_rec_1" type="timed" weight="1">
964+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="656"/>
965+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="727"/>
966+</arc>
967+<arc id="Medium_B to Ack_rec_0" inscription="[0,3]" source="Medium_B" target="Ack_rec_0" type="timed" weight="1">
968+<arcpath arcPointType="false" id="0" xCoord="387" yCoord="372"/>
969+<arcpath arcPointType="false" id="1" xCoord="176" yCoord="372"/>
970+</arc>
971+<arc id="Medium_B to Loss_B" inscription="[0,inf)" source="Medium_B" target="Loss_B" type="timed" weight="1">
972+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="386"/>
973+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="457"/>
974+</arc>
975+<arc id="Medium_C to Loss_C" inscription="[0,inf)" source="Medium_C" target="Loss_C" type="timed" weight="1">
976+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="566"/>
977+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="637"/>
978+</arc>
979+<arc id="Medium_D to Loss_D" inscription="[0,inf)" source="Medium_D" target="Loss_D" type="timed" weight="1">
980+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="746"/>
981+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="787"/>
982+</arc>
983+<arc id="Medium_D to Ack_rec_1" inscription="[0,3]" source="Medium_D" target="Ack_rec_1" type="timed" weight="1">
984+<arcpath arcPointType="false" id="0" xCoord="387" yCoord="731"/>
985+<arcpath arcPointType="false" id="1" xCoord="177" yCoord="731"/>
986+</arc>
987+<arc id="Receiver_1_A to Receive_old_0" inscription="[0,inf)" source="Receiver_1_A" target="Receive_old_0" type="timed" weight="1">
988+<arcpath arcPointType="false" id="0" xCoord="604" yCoord="448"/>
989+<arcpath arcPointType="false" id="1" xCoord="507" yCoord="267"/>
990+</arc>
991+<arc id="Receiver_1_A to Receive_1" inscription="[0,inf)" source="Receiver_1_A" target="Receive_1" type="timed" weight="1">
992+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="476"/>
993+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="547"/>
994+</arc>
995+<arc id="Ack_rec_0 to Sender_1_A" inscription="1" source="Ack_rec_0" target="Sender_1_A" type="normal" weight="1">
996+<arcpath arcPointType="false" id="0" xCoord="161" yCoord="376"/>
997+<arcpath arcPointType="false" id="1" xCoord="161" yCoord="447"/>
998+</arc>
999+<arc id="Receiver_0_B to Ack_send_0" inscription="[1,2]:1" source="Receiver_0_B" target="Ack_send_0" type="transport" weight="1">
1000+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="266"/>
1001+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="367"/>
1002+</arc>
1003+<arc id="Ack_send_0 to Medium_B" inscription="[1,2]:1" source="Ack_send_0" target="Medium_B" type="transport" weight="1">
1004+<arcpath arcPointType="false" id="0" xCoord="597" yCoord="371"/>
1005+<arcpath arcPointType="false" id="1" xCoord="416" yCoord="371"/>
1006+</arc>
1007+<arc id="Ack_send_0 to Receiver_1_A" inscription="1" source="Ack_send_0" target="Receiver_1_A" type="normal" weight="1">
1008+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="377"/>
1009+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="447"/>
1010+</arc>
1011+<arc id="ReSend_1 to Sender_1_B" inscription="1" source="ReSend_1" target="Sender_1_B" type="normal" weight="1">
1012+<arcpath arcPointType="false" id="0" xCoord="252" yCoord="657"/>
1013+<arcpath arcPointType="false" id="1" xCoord="220" yCoord="700"/>
1014+<arcpath arcPointType="false" id="2" xCoord="172" yCoord="652"/>
1015+</arc>
1016+<arc id="ReSend_1 to Medium_C" inscription="1" source="ReSend_1" target="Medium_C" type="normal" weight="1">
1017+<arcpath arcPointType="false" id="0" xCoord="256" yCoord="642"/>
1018+<arcpath arcPointType="false" id="1" xCoord="389" yCoord="559"/>
1019+</arc>
1020+<arc id="Medium_C to Receive_old_1" inscription="[0,1]:1" source="Medium_C" target="Receive_old_1" type="transport" weight="1">
1021+<arcpath arcPointType="false" id="0" xCoord="414" yCoord="560"/>
1022+<arcpath arcPointType="false" id="1" xCoord="516" yCoord="627"/>
1023+</arc>
1024+<arc id="Receive_old_1 to Receiver_1_B" inscription="[0,1]:1" source="Receive_old_1" target="Receiver_1_B" type="transport" weight="1">
1025+<arcpath arcPointType="false" id="0" xCoord="526" yCoord="627"/>
1026+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="627"/>
1027+</arc>
1028+<arc id="Ack_send_1 to Receiver_0_A" inscription="1" source="Ack_send_1" target="Receiver_0_A" type="normal" weight="1">
1029+<arcpath arcPointType="false" id="0" xCoord="611" yCoord="736"/>
1030+<arcpath arcPointType="false" id="1" xCoord="611" yCoord="777"/>
1031+</arc>
1032+<arc id="Receiver_1_B to Ack_send_1" inscription="[1,2]:1" source="Receiver_1_B" target="Ack_send_1" type="transport" weight="1">
1033+<arcpath arcPointType="false" id="0" xCoord="611" yCoord="641"/>
1034+<arcpath arcPointType="false" id="1" xCoord="611" yCoord="726"/>
1035+</arc>
1036+<arc id="Ack_send_1 to Medium_D" inscription="[1,2]:1" source="Ack_send_1" target="Medium_D" type="transport" weight="1">
1037+<arcpath arcPointType="false" id="0" xCoord="596" yCoord="732"/>
1038+<arcpath arcPointType="false" id="1" xCoord="417" yCoord="732"/>
1039+</arc>
1040+<arc id="Send_1 to Sender_1_B" inscription="1" source="Send_1" target="Sender_1_B" type="normal" weight="1">
1041+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="557"/>
1042+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="627"/>
1043+</arc>
1044+<arc id="Send_1 to Medium_C" inscription="1" source="Send_1" target="Medium_C" type="normal" weight="1">
1045+<arcpath arcPointType="false" id="0" xCoord="177" yCoord="551"/>
1046+<arcpath arcPointType="false" id="1" xCoord="387" yCoord="551"/>
1047+</arc>
1048+<arc id="Ack_rec_1 to Sender_0_A" inscription="1" source="Ack_rec_1" target="Sender_0_A" type="normal" weight="1">
1049+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="737"/>
1050+<arcpath arcPointType="false" id="1" xCoord="144" yCoord="804"/>
1051+<arcpath arcPointType="false" id="2" xCoord="69" yCoord="804"/>
1052+<arcpath arcPointType="false" id="3" xCoord="69" yCoord="39"/>
1053+<arcpath arcPointType="false" id="4" xCoord="174" yCoord="39"/>
1054+<arcpath arcPointType="false" id="5" xCoord="167" yCoord="57"/>
1055+</arc>
1056+<arc id="Send_0 to Medium_A" inscription="1" source="Send_0" target="Medium_A" type="normal" weight="1">
1057+<arcpath arcPointType="false" id="0" xCoord="177" yCoord="161"/>
1058+<arcpath arcPointType="false" id="1" xCoord="387" yCoord="161"/>
1059+</arc>
1060+<arc id="Send_0 to Sender_0_B" inscription="1" source="Send_0" target="Sender_0_B" type="normal" weight="1">
1061+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="167"/>
1062+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="237"/>
1063+</arc>
1064+<arc id="Medium_A to Receive_0" inscription="[0,1]:1" source="Medium_A" target="Receive_0" type="transport" weight="1">
1065+<arcpath arcPointType="false" id="0" xCoord="416" yCoord="161"/>
1066+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="161"/>
1067+</arc>
1068+<arc id="Receive_0 to Receiver_0_B" inscription="[0,1]:1" source="Receive_0" target="Receiver_0_B" type="transport" weight="1">
1069+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="167"/>
1070+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="237"/>
1071+</arc>
1072+<arc id="ReSend_0 to Medium_A" inscription="1" source="ReSend_0" target="Medium_A" type="normal" weight="1">
1073+<arcpath arcPointType="false" id="0" xCoord="256" yCoord="252"/>
1074+<arcpath arcPointType="false" id="1" xCoord="389" yCoord="169"/>
1075+</arc>
1076+<arc id="ReSend_0 to Sender_0_B" inscription="1" source="ReSend_0" target="Sender_0_B" type="normal" weight="1">
1077+<arcpath arcPointType="false" id="0" xCoord="252" yCoord="267"/>
1078+<arcpath arcPointType="false" id="1" xCoord="220" yCoord="310"/>
1079+<arcpath arcPointType="false" id="2" xCoord="172" yCoord="262"/>
1080+</arc>
1081+<arc id="Medium_A to Receive_old_0" inscription="[0,1]:1" source="Medium_A" target="Receive_old_0" type="transport" weight="1">
1082+<arcpath arcPointType="false" id="0" xCoord="413" yCoord="172"/>
1083+<arcpath arcPointType="false" id="1" xCoord="501" yCoord="252"/>
1084+</arc>
1085+<arc id="Receive_old_0 to Receiver_0_B" inscription="[0,1]:1" source="Receive_old_0" target="Receiver_0_B" type="transport" weight="1">
1086+<arcpath arcPointType="false" id="0" xCoord="511" yCoord="252"/>
1087+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="252"/>
1088+</arc>
1089+<arc id="Medium_C to Receive_1" inscription="[0,1]:1" source="Medium_C" target="Receive_1" type="transport" weight="1">
1090+<arcpath arcPointType="false" id="0" xCoord="416" yCoord="551"/>
1091+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="551"/>
1092+</arc>
1093+<arc id="Receive_1 to Receiver_1_B" inscription="[0,1]:1" source="Receive_1" target="Receiver_1_B" type="transport" weight="1">
1094+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="557"/>
1095+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="612"/>
1096+</arc>
1097+</net>
1098+<query active="true" approximationDenominator="2" capacity="7" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="AUTOMATIC" gcd="true" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Synchronization Violation" overApproximation="true" pTrie="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)))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
1099+<k-bound bound="3"/>
1100+</pnml>
1101
1102=== removed file 'src/resources/Example nets/alternating-bit-protocol-transport.xml'
1103--- src/resources/Example nets/alternating-bit-protocol-transport.xml 2014-06-08 19:45:48 +0000
1104+++ src/resources/Example nets/alternating-bit-protocol-transport.xml 1970-01-01 00:00:00 +0000
1105@@ -1,216 +0,0 @@
1106-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1107-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
1108-<constant name="deadline" value="6"/>
1109-<constant name="delay" value="5"/>
1110-<net active="true" id="Protocol" type="P/T net">
1111-<labels border="true" height="426" positionX="782" positionY="69" width="167">Classical Alternating Bit Protocol with timeouts for resending messages.
1112-
1113-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.
1114-
1115-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.
1116-
1117-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>
1118-<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"/>
1119-<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"/>
1120-<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"/>
1121-<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"/>
1122-<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"/>
1123-<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"/>
1124-<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"/>
1125-<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"/>
1126-<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"/>
1127-<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"/>
1128-<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"/>
1129-<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"/>
1130-<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" urgent="false"/>
1131-<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" urgent="false"/>
1132-<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" urgent="false"/>
1133-<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" urgent="false"/>
1134-<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" urgent="false"/>
1135-<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" urgent="false"/>
1136-<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" urgent="false"/>
1137-<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" urgent="false"/>
1138-<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" urgent="false"/>
1139-<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" urgent="false"/>
1140-<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" urgent="false"/>
1141-<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" urgent="false"/>
1142-<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" urgent="false"/>
1143-<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" urgent="false"/>
1144-<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" urgent="false"/>
1145-<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" urgent="false"/>
1146-<arc id="Medium_A to Loss_A" inscription="[0,inf)" source="Medium_A" target="Loss_A" type="timed" weight="1">
1147-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="176"/>
1148-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="247"/>
1149-</arc>
1150-<arc id="Receiver_0_A to Receive_old_1" inscription="[0,inf)" source="Receiver_0_A" target="Receive_old_1" type="timed" weight="1">
1151-<arcpath arcPointType="false" id="0" xCoord="604" yCoord="779"/>
1152-<arcpath arcPointType="false" id="1" xCoord="522" yCoord="642"/>
1153-</arc>
1154-<arc id="Receiver_0_A to Receive_0" inscription="[0,inf)" source="Receiver_0_A" target="Receive_0" type="timed" weight="1">
1155-<arcpath arcPointType="false" id="0" xCoord="626" yCoord="794"/>
1156-<arcpath arcPointType="false" id="1" xCoord="681" yCoord="806"/>
1157-<arcpath arcPointType="false" id="2" xCoord="730" yCoord="805"/>
1158-<arcpath arcPointType="false" id="3" xCoord="730" yCoord="145"/>
1159-<arcpath arcPointType="false" id="4" xCoord="656" yCoord="144"/>
1160-<arcpath arcPointType="false" id="5" xCoord="627" yCoord="161"/>
1161-</arc>
1162-<arc id="Sender_0_A to Send_0" inscription="[0,inf)" source="Sender_0_A" target="Send_0" type="timed" weight="1">
1163-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="86"/>
1164-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="157"/>
1165-</arc>
1166-<arc id="Sender_0_B to Ack_rec_0" inscription="[0,inf)" source="Sender_0_B" target="Ack_rec_0" type="timed" weight="1">
1167-<arcpath arcPointType="false" id="0" xCoord="161" yCoord="266"/>
1168-<arcpath arcPointType="false" id="1" xCoord="161" yCoord="366"/>
1169-</arc>
1170-<arc id="Sender_0_B to ReSend_0" inscription="[delay,deadline]" source="Sender_0_B" target="ReSend_0" type="timed" weight="1">
1171-<arcpath arcPointType="false" id="0" xCoord="176" yCoord="247"/>
1172-<arcpath arcPointType="false" id="1" xCoord="220" yCoord="235"/>
1173-<arcpath arcPointType="false" id="2" xCoord="246" yCoord="252"/>
1174-</arc>
1175-<arc id="Sender_1_A to Send_1" inscription="[0,inf)" source="Sender_1_A" target="Send_1" type="timed" weight="1">
1176-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="476"/>
1177-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="547"/>
1178-</arc>
1179-<arc id="Sender_1_B to ReSend_1" inscription="[delay,deadline]" source="Sender_1_B" target="ReSend_1" type="timed" weight="1">
1180-<arcpath arcPointType="false" id="0" xCoord="176" yCoord="637"/>
1181-<arcpath arcPointType="false" id="1" xCoord="220" yCoord="625"/>
1182-<arcpath arcPointType="false" id="2" xCoord="246" yCoord="642"/>
1183-</arc>
1184-<arc id="Sender_1_B to Ack_rec_1" inscription="[0,inf)" source="Sender_1_B" target="Ack_rec_1" type="timed" weight="1">
1185-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="656"/>
1186-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="727"/>
1187-</arc>
1188-<arc id="Medium_B to Ack_rec_0" inscription="[0,3]" source="Medium_B" target="Ack_rec_0" type="timed" weight="1">
1189-<arcpath arcPointType="false" id="0" xCoord="387" yCoord="372"/>
1190-<arcpath arcPointType="false" id="1" xCoord="176" yCoord="372"/>
1191-</arc>
1192-<arc id="Medium_B to Loss_B" inscription="[0,inf)" source="Medium_B" target="Loss_B" type="timed" weight="1">
1193-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="386"/>
1194-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="457"/>
1195-</arc>
1196-<arc id="Medium_C to Loss_C" inscription="[0,inf)" source="Medium_C" target="Loss_C" type="timed" weight="1">
1197-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="566"/>
1198-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="637"/>
1199-</arc>
1200-<arc id="Medium_D to Loss_D" inscription="[0,inf)" source="Medium_D" target="Loss_D" type="timed" weight="1">
1201-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="746"/>
1202-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="787"/>
1203-</arc>
1204-<arc id="Medium_D to Ack_rec_1" inscription="[0,3]" source="Medium_D" target="Ack_rec_1" type="timed" weight="1">
1205-<arcpath arcPointType="false" id="0" xCoord="387" yCoord="731"/>
1206-<arcpath arcPointType="false" id="1" xCoord="177" yCoord="731"/>
1207-</arc>
1208-<arc id="Receiver_1_A to Receive_old_0" inscription="[0,inf)" source="Receiver_1_A" target="Receive_old_0" type="timed" weight="1">
1209-<arcpath arcPointType="false" id="0" xCoord="604" yCoord="448"/>
1210-<arcpath arcPointType="false" id="1" xCoord="507" yCoord="267"/>
1211-</arc>
1212-<arc id="Receiver_1_A to Receive_1" inscription="[0,inf)" source="Receiver_1_A" target="Receive_1" type="timed" weight="1">
1213-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="476"/>
1214-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="547"/>
1215-</arc>
1216-<arc id="Ack_rec_0 to Sender_1_A" inscription="1" source="Ack_rec_0" target="Sender_1_A" type="normal" weight="1">
1217-<arcpath arcPointType="false" id="0" xCoord="161" yCoord="376"/>
1218-<arcpath arcPointType="false" id="1" xCoord="161" yCoord="447"/>
1219-</arc>
1220-<arc id="Receiver_0_B to Ack_send_0" inscription="[1,2]:1" source="Receiver_0_B" target="Ack_send_0" type="transport" weight="1">
1221-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="266"/>
1222-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="367"/>
1223-</arc>
1224-<arc id="Ack_send_0 to Medium_B" inscription="[1,2]:1" source="Ack_send_0" target="Medium_B" type="transport" weight="1">
1225-<arcpath arcPointType="false" id="0" xCoord="597" yCoord="371"/>
1226-<arcpath arcPointType="false" id="1" xCoord="416" yCoord="371"/>
1227-</arc>
1228-<arc id="Ack_send_0 to Receiver_1_A" inscription="1" source="Ack_send_0" target="Receiver_1_A" type="normal" weight="1">
1229-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="377"/>
1230-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="447"/>
1231-</arc>
1232-<arc id="ReSend_1 to Sender_1_B" inscription="1" source="ReSend_1" target="Sender_1_B" type="normal" weight="1">
1233-<arcpath arcPointType="false" id="0" xCoord="252" yCoord="657"/>
1234-<arcpath arcPointType="false" id="1" xCoord="220" yCoord="700"/>
1235-<arcpath arcPointType="false" id="2" xCoord="172" yCoord="652"/>
1236-</arc>
1237-<arc id="ReSend_1 to Medium_C" inscription="1" source="ReSend_1" target="Medium_C" type="normal" weight="1">
1238-<arcpath arcPointType="false" id="0" xCoord="256" yCoord="642"/>
1239-<arcpath arcPointType="false" id="1" xCoord="389" yCoord="559"/>
1240-</arc>
1241-<arc id="Medium_C to Receive_old_1" inscription="[0,1]:1" source="Medium_C" target="Receive_old_1" type="transport" weight="1">
1242-<arcpath arcPointType="false" id="0" xCoord="414" yCoord="560"/>
1243-<arcpath arcPointType="false" id="1" xCoord="516" yCoord="627"/>
1244-</arc>
1245-<arc id="Receive_old_1 to Receiver_1_B" inscription="[0,1]:1" source="Receive_old_1" target="Receiver_1_B" type="transport" weight="1">
1246-<arcpath arcPointType="false" id="0" xCoord="526" yCoord="627"/>
1247-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="627"/>
1248-</arc>
1249-<arc id="Ack_send_1 to Receiver_0_A" inscription="1" source="Ack_send_1" target="Receiver_0_A" type="normal" weight="1">
1250-<arcpath arcPointType="false" id="0" xCoord="611" yCoord="736"/>
1251-<arcpath arcPointType="false" id="1" xCoord="611" yCoord="777"/>
1252-</arc>
1253-<arc id="Receiver_1_B to Ack_send_1" inscription="[1,2]:1" source="Receiver_1_B" target="Ack_send_1" type="transport" weight="1">
1254-<arcpath arcPointType="false" id="0" xCoord="611" yCoord="641"/>
1255-<arcpath arcPointType="false" id="1" xCoord="611" yCoord="726"/>
1256-</arc>
1257-<arc id="Ack_send_1 to Medium_D" inscription="[1,2]:1" source="Ack_send_1" target="Medium_D" type="transport" weight="1">
1258-<arcpath arcPointType="false" id="0" xCoord="596" yCoord="732"/>
1259-<arcpath arcPointType="false" id="1" xCoord="417" yCoord="732"/>
1260-</arc>
1261-<arc id="Send_1 to Sender_1_B" inscription="1" source="Send_1" target="Sender_1_B" type="normal" weight="1">
1262-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="557"/>
1263-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="627"/>
1264-</arc>
1265-<arc id="Send_1 to Medium_C" inscription="1" source="Send_1" target="Medium_C" type="normal" weight="1">
1266-<arcpath arcPointType="false" id="0" xCoord="177" yCoord="551"/>
1267-<arcpath arcPointType="false" id="1" xCoord="387" yCoord="551"/>
1268-</arc>
1269-<arc id="Ack_rec_1 to Sender_0_A" inscription="1" source="Ack_rec_1" target="Sender_0_A" type="normal" weight="1">
1270-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="737"/>
1271-<arcpath arcPointType="false" id="1" xCoord="144" yCoord="804"/>
1272-<arcpath arcPointType="false" id="2" xCoord="69" yCoord="804"/>
1273-<arcpath arcPointType="false" id="3" xCoord="69" yCoord="39"/>
1274-<arcpath arcPointType="false" id="4" xCoord="174" yCoord="39"/>
1275-<arcpath arcPointType="false" id="5" xCoord="167" yCoord="57"/>
1276-</arc>
1277-<arc id="Send_0 to Medium_A" inscription="1" source="Send_0" target="Medium_A" type="normal" weight="1">
1278-<arcpath arcPointType="false" id="0" xCoord="177" yCoord="161"/>
1279-<arcpath arcPointType="false" id="1" xCoord="387" yCoord="161"/>
1280-</arc>
1281-<arc id="Send_0 to Sender_0_B" inscription="1" source="Send_0" target="Sender_0_B" type="normal" weight="1">
1282-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="167"/>
1283-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="237"/>
1284-</arc>
1285-<arc id="Medium_A to Receive_0" inscription="[0,1]:1" source="Medium_A" target="Receive_0" type="transport" weight="1">
1286-<arcpath arcPointType="false" id="0" xCoord="416" yCoord="161"/>
1287-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="161"/>
1288-</arc>
1289-<arc id="Receive_0 to Receiver_0_B" inscription="[0,1]:1" source="Receive_0" target="Receiver_0_B" type="transport" weight="1">
1290-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="167"/>
1291-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="237"/>
1292-</arc>
1293-<arc id="ReSend_0 to Medium_A" inscription="1" source="ReSend_0" target="Medium_A" type="normal" weight="1">
1294-<arcpath arcPointType="false" id="0" xCoord="256" yCoord="252"/>
1295-<arcpath arcPointType="false" id="1" xCoord="389" yCoord="169"/>
1296-</arc>
1297-<arc id="ReSend_0 to Sender_0_B" inscription="1" source="ReSend_0" target="Sender_0_B" type="normal" weight="1">
1298-<arcpath arcPointType="false" id="0" xCoord="252" yCoord="267"/>
1299-<arcpath arcPointType="false" id="1" xCoord="220" yCoord="310"/>
1300-<arcpath arcPointType="false" id="2" xCoord="172" yCoord="262"/>
1301-</arc>
1302-<arc id="Medium_A to Receive_old_0" inscription="[0,1]:1" source="Medium_A" target="Receive_old_0" type="transport" weight="1">
1303-<arcpath arcPointType="false" id="0" xCoord="413" yCoord="172"/>
1304-<arcpath arcPointType="false" id="1" xCoord="501" yCoord="252"/>
1305-</arc>
1306-<arc id="Receive_old_0 to Receiver_0_B" inscription="[0,1]:1" source="Receive_old_0" target="Receiver_0_B" type="transport" weight="1">
1307-<arcpath arcPointType="false" id="0" xCoord="511" yCoord="252"/>
1308-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="252"/>
1309-</arc>
1310-<arc id="Medium_C to Receive_1" inscription="[0,1]:1" source="Medium_C" target="Receive_1" type="transport" weight="1">
1311-<arcpath arcPointType="false" id="0" xCoord="416" yCoord="551"/>
1312-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="551"/>
1313-</arc>
1314-<arc id="Receive_1 to Receiver_1_B" inscription="[0,1]:1" source="Receive_1" target="Receiver_1_B" type="transport" weight="1">
1315-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="557"/>
1316-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="612"/>
1317-</arc>
1318-</net>
1319-<query active="true" approximationDenominator="2" capacity="7" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="AUTOMATIC" gcd="true" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Synchronization Violation" overApproximation="true" pTrie="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)))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
1320-<k-bound bound="3"/>
1321-</pnml>
1322
1323=== added file 'src/resources/Example nets/alternating-bit-protocol.tapn'
1324--- src/resources/Example nets/alternating-bit-protocol.tapn 1970-01-01 00:00:00 +0000
1325+++ src/resources/Example nets/alternating-bit-protocol.tapn 2018-08-11 09:29:00 +0000
1326@@ -0,0 +1,210 @@
1327+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1328+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
1329+<net active="true" id="Protocol" type="P/T net">
1330+<labels border="true" height="260" positionX="753" positionY="25" width="137">Classical Alternating Bit Protocol with timeouts for resending messages.
1331+
1332+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.</labels>
1333+<place id="Medium_A" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_A" nameOffsetX="21.0" nameOffsetY="-4.0" positionX="390.0" positionY="150.0"/>
1334+<place id="Sender_A" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="60.0"/>
1335+<place id="Receiver_D" initialMarking="0" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="600.0"/>
1336+<place id="Receiver_A" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="780.0"/>
1337+<place id="Sender_B" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_B" nameOffsetX="-5.0" nameOffsetY="31.0" positionX="150.0" positionY="240.0"/>
1338+<place id="Sender_C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="450.0"/>
1339+<place id="Sender_D" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="630.0"/>
1340+<place id="Medium_B" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="360.0"/>
1341+<place id="Medium_C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="540.0"/>
1342+<place id="Medium_D" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="720.0"/>
1343+<place id="Receiver_B" initialMarking="0" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="240.0"/>
1344+<place id="Receiver_C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="450.0"/>
1345+<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" urgent="false"/>
1346+<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" urgent="false"/>
1347+<transition angle="270" id="Ack_send_0" infiniteServer="false" name="Ack_send_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="360.0" priority="0" urgent="false"/>
1348+<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" urgent="false"/>
1349+<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" urgent="false"/>
1350+<transition angle="0" id="ReSend_1" infiniteServer="false" name="ReSend_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="240.0" positionY="630.0" priority="0" urgent="false"/>
1351+<transition angle="0" id="Receive_old_1" infiniteServer="false" name="Receive_old_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="480.0" positionY="600.0" priority="0" urgent="false"/>
1352+<transition angle="90" id="Ack_send_1" infiniteServer="false" name="Ack_send_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="720.0" priority="0" urgent="false"/>
1353+<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" urgent="false"/>
1354+<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" urgent="false"/>
1355+<transition angle="270" id="Receive_0" infiniteServer="false" name="Receive_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="150.0" priority="0" urgent="false"/>
1356+<transition angle="0" id="ReSend_0" infiniteServer="false" name="ReSend_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="240.0" positionY="240.0" priority="0" urgent="false"/>
1357+<transition angle="0" id="Receive_old_0" infiniteServer="false" name="Receive_old_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="480.0" positionY="240.0" priority="0" urgent="false"/>
1358+<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" urgent="false"/>
1359+<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" urgent="false"/>
1360+<transition angle="270" id="Receive_1" infiniteServer="false" name="Receive_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="540.0" priority="0" urgent="false"/>
1361+<arc id="Medium_A to Receive_0" inscription="[0,1]" source="Medium_A" target="Receive_0" type="timed" weight="1">
1362+<arcpath arcPointType="false" id="0" xCoord="416" yCoord="161"/>
1363+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="161"/>
1364+</arc>
1365+<arc id="Medium_A to Receive_old_0" inscription="[0,1]" source="Medium_A" target="Receive_old_0" type="timed" weight="1">
1366+<arcpath arcPointType="false" id="0" xCoord="412" yCoord="172"/>
1367+<arcpath arcPointType="false" id="1" xCoord="486" yCoord="252"/>
1368+</arc>
1369+<arc id="Medium_A to Loss_A" inscription="[0,inf)" source="Medium_A" target="Loss_A" type="timed" weight="1">
1370+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="176"/>
1371+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="247"/>
1372+</arc>
1373+<arc id="Receiver_D to Ack_send_1" inscription="[0,2]" source="Receiver_D" target="Ack_send_1" type="timed" weight="1">
1374+<arcpath arcPointType="false" id="0" xCoord="611" yCoord="626"/>
1375+<arcpath arcPointType="false" id="1" xCoord="611" yCoord="726"/>
1376+</arc>
1377+<arc id="Receiver_A to Receive_old_1" inscription="[0,inf)" source="Receiver_A" target="Receive_old_1" type="timed" weight="1">
1378+<arcpath arcPointType="false" id="0" xCoord="603" yCoord="779"/>
1379+<arcpath arcPointType="false" id="1" xCoord="496" yCoord="617"/>
1380+</arc>
1381+<arc id="Receiver_A to Receive_0" inscription="[0,inf)" source="Receiver_A" target="Receive_0" type="timed" weight="1">
1382+<arcpath arcPointType="false" id="0" xCoord="626" yCoord="793"/>
1383+<arcpath arcPointType="false" id="1" xCoord="672" yCoord="797"/>
1384+<arcpath arcPointType="false" id="2" xCoord="721" yCoord="796"/>
1385+<arcpath arcPointType="false" id="3" xCoord="721" yCoord="136"/>
1386+<arcpath arcPointType="false" id="4" xCoord="647" yCoord="135"/>
1387+<arcpath arcPointType="false" id="5" xCoord="612" yCoord="157"/>
1388+</arc>
1389+<arc id="Sender_A to Send_0" inscription="[0,inf)" source="Sender_A" target="Send_0" type="timed" weight="1">
1390+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="86"/>
1391+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="157"/>
1392+</arc>
1393+<arc id="Sender_B to Ack_rec_0" inscription="[0,inf)" source="Sender_B" target="Ack_rec_0" type="timed" weight="1">
1394+<arcpath arcPointType="false" id="0" xCoord="161" yCoord="266"/>
1395+<arcpath arcPointType="false" id="1" xCoord="161" yCoord="366"/>
1396+</arc>
1397+<arc id="Sender_B to ReSend_0" inscription="[5,6]" source="Sender_B" target="ReSend_0" type="timed" weight="1">
1398+<arcpath arcPointType="false" id="0" xCoord="175" yCoord="244"/>
1399+<arcpath arcPointType="false" id="1" xCoord="211" yCoord="226"/>
1400+<arcpath arcPointType="false" id="2" xCoord="247" yCoord="247"/>
1401+</arc>
1402+<arc id="Sender_C to Send_1" inscription="[0,inf)" source="Sender_C" target="Send_1" type="timed" weight="1">
1403+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="476"/>
1404+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="547"/>
1405+</arc>
1406+<arc id="Sender_D to ReSend_1" inscription="[5,6]" source="Sender_D" target="ReSend_1" type="timed" weight="1">
1407+<arcpath arcPointType="false" id="0" xCoord="175" yCoord="634"/>
1408+<arcpath arcPointType="false" id="1" xCoord="211" yCoord="616"/>
1409+<arcpath arcPointType="false" id="2" xCoord="247" yCoord="637"/>
1410+</arc>
1411+<arc id="Sender_D to Ack_rec_1" inscription="[0,inf)" source="Sender_D" target="Ack_rec_1" type="timed" weight="1">
1412+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="656"/>
1413+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="727"/>
1414+</arc>
1415+<arc id="Medium_B to Ack_rec_0" inscription="[0,1]" source="Medium_B" target="Ack_rec_0" type="timed" weight="1">
1416+<arcpath arcPointType="false" id="0" xCoord="387" yCoord="372"/>
1417+<arcpath arcPointType="false" id="1" xCoord="176" yCoord="372"/>
1418+</arc>
1419+<arc id="Medium_B to Loss_B" inscription="[0,inf)" source="Medium_B" target="Loss_B" type="timed" weight="1">
1420+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="386"/>
1421+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="457"/>
1422+</arc>
1423+<arc id="Medium_C to Loss_C" inscription="[0,inf)" source="Medium_C" target="Loss_C" type="timed" weight="1">
1424+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="566"/>
1425+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="637"/>
1426+</arc>
1427+<arc id="Medium_C to Receive_old_1" inscription="[0,1]" source="Medium_C" target="Receive_old_1" type="timed" weight="1">
1428+<arcpath arcPointType="false" id="0" xCoord="414" yCoord="560"/>
1429+<arcpath arcPointType="false" id="1" xCoord="486" yCoord="612"/>
1430+</arc>
1431+<arc id="Medium_C to Receive_1" inscription="[0,1]" source="Medium_C" target="Receive_1" type="timed" weight="1">
1432+<arcpath arcPointType="false" id="0" xCoord="416" yCoord="551"/>
1433+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="551"/>
1434+</arc>
1435+<arc id="Medium_D to Loss_D" inscription="[0,inf)" source="Medium_D" target="Loss_D" type="timed" weight="1">
1436+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="746"/>
1437+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="787"/>
1438+</arc>
1439+<arc id="Medium_D to Ack_rec_1" inscription="[0,1]" source="Medium_D" target="Ack_rec_1" type="timed" weight="1">
1440+<arcpath arcPointType="false" id="0" xCoord="387" yCoord="731"/>
1441+<arcpath arcPointType="false" id="1" xCoord="177" yCoord="731"/>
1442+</arc>
1443+<arc id="Receiver_B to Ack_send_0" inscription="[0,2]" source="Receiver_B" target="Ack_send_0" type="timed" weight="1">
1444+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="266"/>
1445+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="367"/>
1446+</arc>
1447+<arc id="Receiver_C to Receive_old_0" inscription="[0,inf)" source="Receiver_C" target="Receive_old_0" type="timed" weight="1">
1448+<arcpath arcPointType="false" id="0" xCoord="604" yCoord="449"/>
1449+<arcpath arcPointType="false" id="1" xCoord="492" yCoord="267"/>
1450+</arc>
1451+<arc id="Receiver_C to Receive_1" inscription="[0,inf)" source="Receiver_C" target="Receive_1" type="timed" weight="1">
1452+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="476"/>
1453+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="547"/>
1454+</arc>
1455+<arc id="Ack_rec_0 to Sender_C" inscription="1" source="Ack_rec_0" target="Sender_C" type="normal" weight="1">
1456+<arcpath arcPointType="false" id="0" xCoord="161" yCoord="376"/>
1457+<arcpath arcPointType="false" id="1" xCoord="161" yCoord="447"/>
1458+</arc>
1459+<arc id="Ack_send_0 to Medium_B" inscription="1" source="Ack_send_0" target="Medium_B" type="normal" weight="1">
1460+<arcpath arcPointType="false" id="0" xCoord="597" yCoord="371"/>
1461+<arcpath arcPointType="false" id="1" xCoord="416" yCoord="371"/>
1462+</arc>
1463+<arc id="Ack_send_0 to Receiver_C" inscription="1" source="Ack_send_0" target="Receiver_C" type="normal" weight="1">
1464+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="377"/>
1465+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="447"/>
1466+</arc>
1467+<arc id="ReSend_1 to Sender_D" inscription="1" source="ReSend_1" target="Sender_D" type="normal" weight="1">
1468+<arcpath arcPointType="false" id="0" xCoord="246" yCoord="647"/>
1469+<arcpath arcPointType="false" id="1" xCoord="211" yCoord="691"/>
1470+<arcpath arcPointType="false" id="2" xCoord="172" yCoord="652"/>
1471+</arc>
1472+<arc id="ReSend_1 to Medium_C" inscription="1" source="ReSend_1" target="Medium_C" type="normal" weight="1">
1473+<arcpath arcPointType="false" id="0" xCoord="256" yCoord="642"/>
1474+<arcpath arcPointType="false" id="1" xCoord="389" yCoord="559"/>
1475+</arc>
1476+<arc id="Receive_old_1 to Receiver_D" inscription="1" source="Receive_old_1" target="Receiver_D" type="normal" weight="1">
1477+<arcpath arcPointType="false" id="0" xCoord="497" yCoord="607"/>
1478+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="611"/>
1479+</arc>
1480+<arc id="Ack_send_1 to Receiver_A" inscription="1" source="Ack_send_1" target="Receiver_A" type="normal" weight="1">
1481+<arcpath arcPointType="false" id="0" xCoord="611" yCoord="736"/>
1482+<arcpath arcPointType="false" id="1" xCoord="611" yCoord="777"/>
1483+</arc>
1484+<arc id="Ack_send_1 to Medium_D" inscription="1" source="Ack_send_1" target="Medium_D" type="normal" weight="1">
1485+<arcpath arcPointType="false" id="0" xCoord="596" yCoord="732"/>
1486+<arcpath arcPointType="false" id="1" xCoord="417" yCoord="732"/>
1487+</arc>
1488+<arc id="Send_1 to Sender_D" inscription="1" source="Send_1" target="Sender_D" type="normal" weight="1">
1489+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="557"/>
1490+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="627"/>
1491+</arc>
1492+<arc id="Send_1 to Medium_C" inscription="1" source="Send_1" target="Medium_C" type="normal" weight="1">
1493+<arcpath arcPointType="false" id="0" xCoord="177" yCoord="551"/>
1494+<arcpath arcPointType="false" id="1" xCoord="387" yCoord="551"/>
1495+</arc>
1496+<arc id="Ack_rec_1 to Sender_A" inscription="1" source="Ack_rec_1" target="Sender_A" type="normal" weight="1">
1497+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="737"/>
1498+<arcpath arcPointType="false" id="1" xCoord="136" yCoord="781"/>
1499+<arcpath arcPointType="false" id="2" xCoord="76" yCoord="781"/>
1500+<arcpath arcPointType="false" id="3" xCoord="76" yCoord="46"/>
1501+<arcpath arcPointType="false" id="4" xCoord="151" yCoord="46"/>
1502+<arcpath arcPointType="false" id="5" xCoord="156" yCoord="58"/>
1503+</arc>
1504+<arc id="Send_0 to Medium_A" inscription="1" source="Send_0" target="Medium_A" type="normal" weight="1">
1505+<arcpath arcPointType="false" id="0" xCoord="177" yCoord="161"/>
1506+<arcpath arcPointType="false" id="1" xCoord="387" yCoord="161"/>
1507+</arc>
1508+<arc id="Send_0 to Sender_B" inscription="1" source="Send_0" target="Sender_B" type="normal" weight="1">
1509+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="167"/>
1510+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="237"/>
1511+</arc>
1512+<arc id="Receive_0 to Receiver_B" inscription="1" source="Receive_0" target="Receiver_B" type="normal" weight="1">
1513+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="167"/>
1514+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="237"/>
1515+</arc>
1516+<arc id="ReSend_0 to Medium_A" inscription="1" source="ReSend_0" target="Medium_A" type="normal" weight="1">
1517+<arcpath arcPointType="false" id="0" xCoord="256" yCoord="252"/>
1518+<arcpath arcPointType="false" id="1" xCoord="389" yCoord="169"/>
1519+</arc>
1520+<arc id="ReSend_0 to Sender_B" inscription="1" source="ReSend_0" target="Sender_B" type="normal" weight="1">
1521+<arcpath arcPointType="false" id="0" xCoord="246" yCoord="257"/>
1522+<arcpath arcPointType="false" id="1" xCoord="211" yCoord="301"/>
1523+<arcpath arcPointType="false" id="2" xCoord="172" yCoord="262"/>
1524+</arc>
1525+<arc id="Receive_old_0 to Receiver_B" inscription="1" source="Receive_old_0" target="Receiver_B" type="normal" weight="1">
1526+<arcpath arcPointType="false" id="0" xCoord="496" yCoord="252"/>
1527+<arcpath arcPointType="false" id="1" xCoord="597" yCoord="252"/>
1528+</arc>
1529+<arc id="Receive_1 to Receiver_D" inscription="1" source="Receive_1" target="Receiver_D" type="normal" weight="1">
1530+<arcpath arcPointType="false" id="0" xCoord="612" yCoord="557"/>
1531+<arcpath arcPointType="false" id="1" xCoord="612" yCoord="597"/>
1532+</arc>
1533+</net>
1534+<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Synchronization Violation" overApproximation="true" pTrie="true" query="EF ((Protocol.Sender_A &gt;= 1 and Protocol.Receiver_B &gt;= 1) or (Protocol.Sender_A &gt;= 1 and Protocol.Receiver_C &gt;= 1) or (Protocol.Sender_C &gt;= 1 and Protocol.Receiver_A &gt;= 1) or (Protocol.Sender_C &gt;= 1 and Protocol.Receiver_D &gt;= 1))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
1535+<k-bound bound="3"/>
1536+</pnml>
1537
1538=== removed file 'src/resources/Example nets/alternating-bit-protocol.xml'
1539--- src/resources/Example nets/alternating-bit-protocol.xml 2014-06-08 19:45:48 +0000
1540+++ src/resources/Example nets/alternating-bit-protocol.xml 1970-01-01 00:00:00 +0000
1541@@ -1,210 +0,0 @@
1542-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1543-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
1544-<net active="true" id="Protocol" type="P/T net">
1545-<labels border="true" height="260" positionX="753" positionY="25" width="137">Classical Alternating Bit Protocol with timeouts for resending messages.
1546-
1547-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.</labels>
1548-<place id="Medium_A" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_A" nameOffsetX="21.0" nameOffsetY="-4.0" positionX="390.0" positionY="150.0"/>
1549-<place id="Sender_A" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="60.0"/>
1550-<place id="Receiver_D" initialMarking="0" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="600.0"/>
1551-<place id="Receiver_A" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="780.0"/>
1552-<place id="Sender_B" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_B" nameOffsetX="-5.0" nameOffsetY="31.0" positionX="150.0" positionY="240.0"/>
1553-<place id="Sender_C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="450.0"/>
1554-<place id="Sender_D" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Sender_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="630.0"/>
1555-<place id="Medium_B" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="360.0"/>
1556-<place id="Medium_C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="540.0"/>
1557-<place id="Medium_D" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Medium_D" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="720.0"/>
1558-<place id="Receiver_B" initialMarking="0" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="240.0"/>
1559-<place id="Receiver_C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Receiver_C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="450.0"/>
1560-<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" urgent="false"/>
1561-<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" urgent="false"/>
1562-<transition angle="270" id="Ack_send_0" infiniteServer="false" name="Ack_send_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="360.0" priority="0" urgent="false"/>
1563-<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" urgent="false"/>
1564-<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" urgent="false"/>
1565-<transition angle="0" id="ReSend_1" infiniteServer="false" name="ReSend_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="240.0" positionY="630.0" priority="0" urgent="false"/>
1566-<transition angle="0" id="Receive_old_1" infiniteServer="false" name="Receive_old_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="480.0" positionY="600.0" priority="0" urgent="false"/>
1567-<transition angle="90" id="Ack_send_1" infiniteServer="false" name="Ack_send_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="720.0" priority="0" urgent="false"/>
1568-<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" urgent="false"/>
1569-<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" urgent="false"/>
1570-<transition angle="270" id="Receive_0" infiniteServer="false" name="Receive_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="150.0" priority="0" urgent="false"/>
1571-<transition angle="0" id="ReSend_0" infiniteServer="false" name="ReSend_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="240.0" positionY="240.0" priority="0" urgent="false"/>
1572-<transition angle="0" id="Receive_old_0" infiniteServer="false" name="Receive_old_0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="480.0" positionY="240.0" priority="0" urgent="false"/>
1573-<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" urgent="false"/>
1574-<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" urgent="false"/>
1575-<transition angle="270" id="Receive_1" infiniteServer="false" name="Receive_1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="540.0" priority="0" urgent="false"/>
1576-<arc id="Medium_A to Receive_0" inscription="[0,1]" source="Medium_A" target="Receive_0" type="timed" weight="1">
1577-<arcpath arcPointType="false" id="0" xCoord="416" yCoord="161"/>
1578-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="161"/>
1579-</arc>
1580-<arc id="Medium_A to Receive_old_0" inscription="[0,1]" source="Medium_A" target="Receive_old_0" type="timed" weight="1">
1581-<arcpath arcPointType="false" id="0" xCoord="412" yCoord="172"/>
1582-<arcpath arcPointType="false" id="1" xCoord="486" yCoord="252"/>
1583-</arc>
1584-<arc id="Medium_A to Loss_A" inscription="[0,inf)" source="Medium_A" target="Loss_A" type="timed" weight="1">
1585-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="176"/>
1586-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="247"/>
1587-</arc>
1588-<arc id="Receiver_D to Ack_send_1" inscription="[0,2]" source="Receiver_D" target="Ack_send_1" type="timed" weight="1">
1589-<arcpath arcPointType="false" id="0" xCoord="611" yCoord="626"/>
1590-<arcpath arcPointType="false" id="1" xCoord="611" yCoord="726"/>
1591-</arc>
1592-<arc id="Receiver_A to Receive_old_1" inscription="[0,inf)" source="Receiver_A" target="Receive_old_1" type="timed" weight="1">
1593-<arcpath arcPointType="false" id="0" xCoord="603" yCoord="779"/>
1594-<arcpath arcPointType="false" id="1" xCoord="496" yCoord="617"/>
1595-</arc>
1596-<arc id="Receiver_A to Receive_0" inscription="[0,inf)" source="Receiver_A" target="Receive_0" type="timed" weight="1">
1597-<arcpath arcPointType="false" id="0" xCoord="626" yCoord="793"/>
1598-<arcpath arcPointType="false" id="1" xCoord="672" yCoord="797"/>
1599-<arcpath arcPointType="false" id="2" xCoord="721" yCoord="796"/>
1600-<arcpath arcPointType="false" id="3" xCoord="721" yCoord="136"/>
1601-<arcpath arcPointType="false" id="4" xCoord="647" yCoord="135"/>
1602-<arcpath arcPointType="false" id="5" xCoord="612" yCoord="157"/>
1603-</arc>
1604-<arc id="Sender_A to Send_0" inscription="[0,inf)" source="Sender_A" target="Send_0" type="timed" weight="1">
1605-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="86"/>
1606-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="157"/>
1607-</arc>
1608-<arc id="Sender_B to Ack_rec_0" inscription="[0,inf)" source="Sender_B" target="Ack_rec_0" type="timed" weight="1">
1609-<arcpath arcPointType="false" id="0" xCoord="161" yCoord="266"/>
1610-<arcpath arcPointType="false" id="1" xCoord="161" yCoord="366"/>
1611-</arc>
1612-<arc id="Sender_B to ReSend_0" inscription="[5,6]" source="Sender_B" target="ReSend_0" type="timed" weight="1">
1613-<arcpath arcPointType="false" id="0" xCoord="175" yCoord="244"/>
1614-<arcpath arcPointType="false" id="1" xCoord="211" yCoord="226"/>
1615-<arcpath arcPointType="false" id="2" xCoord="247" yCoord="247"/>
1616-</arc>
1617-<arc id="Sender_C to Send_1" inscription="[0,inf)" source="Sender_C" target="Send_1" type="timed" weight="1">
1618-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="476"/>
1619-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="547"/>
1620-</arc>
1621-<arc id="Sender_D to ReSend_1" inscription="[5,6]" source="Sender_D" target="ReSend_1" type="timed" weight="1">
1622-<arcpath arcPointType="false" id="0" xCoord="175" yCoord="634"/>
1623-<arcpath arcPointType="false" id="1" xCoord="211" yCoord="616"/>
1624-<arcpath arcPointType="false" id="2" xCoord="247" yCoord="637"/>
1625-</arc>
1626-<arc id="Sender_D to Ack_rec_1" inscription="[0,inf)" source="Sender_D" target="Ack_rec_1" type="timed" weight="1">
1627-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="656"/>
1628-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="727"/>
1629-</arc>
1630-<arc id="Medium_B to Ack_rec_0" inscription="[0,1]" source="Medium_B" target="Ack_rec_0" type="timed" weight="1">
1631-<arcpath arcPointType="false" id="0" xCoord="387" yCoord="372"/>
1632-<arcpath arcPointType="false" id="1" xCoord="176" yCoord="372"/>
1633-</arc>
1634-<arc id="Medium_B to Loss_B" inscription="[0,inf)" source="Medium_B" target="Loss_B" type="timed" weight="1">
1635-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="386"/>
1636-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="457"/>
1637-</arc>
1638-<arc id="Medium_C to Loss_C" inscription="[0,inf)" source="Medium_C" target="Loss_C" type="timed" weight="1">
1639-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="566"/>
1640-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="637"/>
1641-</arc>
1642-<arc id="Medium_C to Receive_old_1" inscription="[0,1]" source="Medium_C" target="Receive_old_1" type="timed" weight="1">
1643-<arcpath arcPointType="false" id="0" xCoord="414" yCoord="560"/>
1644-<arcpath arcPointType="false" id="1" xCoord="486" yCoord="612"/>
1645-</arc>
1646-<arc id="Medium_C to Receive_1" inscription="[0,1]" source="Medium_C" target="Receive_1" type="timed" weight="1">
1647-<arcpath arcPointType="false" id="0" xCoord="416" yCoord="551"/>
1648-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="551"/>
1649-</arc>
1650-<arc id="Medium_D to Loss_D" inscription="[0,inf)" source="Medium_D" target="Loss_D" type="timed" weight="1">
1651-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="746"/>
1652-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="787"/>
1653-</arc>
1654-<arc id="Medium_D to Ack_rec_1" inscription="[0,1]" source="Medium_D" target="Ack_rec_1" type="timed" weight="1">
1655-<arcpath arcPointType="false" id="0" xCoord="387" yCoord="731"/>
1656-<arcpath arcPointType="false" id="1" xCoord="177" yCoord="731"/>
1657-</arc>
1658-<arc id="Receiver_B to Ack_send_0" inscription="[0,2]" source="Receiver_B" target="Ack_send_0" type="timed" weight="1">
1659-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="266"/>
1660-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="367"/>
1661-</arc>
1662-<arc id="Receiver_C to Receive_old_0" inscription="[0,inf)" source="Receiver_C" target="Receive_old_0" type="timed" weight="1">
1663-<arcpath arcPointType="false" id="0" xCoord="604" yCoord="449"/>
1664-<arcpath arcPointType="false" id="1" xCoord="492" yCoord="267"/>
1665-</arc>
1666-<arc id="Receiver_C to Receive_1" inscription="[0,inf)" source="Receiver_C" target="Receive_1" type="timed" weight="1">
1667-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="476"/>
1668-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="547"/>
1669-</arc>
1670-<arc id="Ack_rec_0 to Sender_C" inscription="1" source="Ack_rec_0" target="Sender_C" type="normal" weight="1">
1671-<arcpath arcPointType="false" id="0" xCoord="161" yCoord="376"/>
1672-<arcpath arcPointType="false" id="1" xCoord="161" yCoord="447"/>
1673-</arc>
1674-<arc id="Ack_send_0 to Medium_B" inscription="1" source="Ack_send_0" target="Medium_B" type="normal" weight="1">
1675-<arcpath arcPointType="false" id="0" xCoord="597" yCoord="371"/>
1676-<arcpath arcPointType="false" id="1" xCoord="416" yCoord="371"/>
1677-</arc>
1678-<arc id="Ack_send_0 to Receiver_C" inscription="1" source="Ack_send_0" target="Receiver_C" type="normal" weight="1">
1679-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="377"/>
1680-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="447"/>
1681-</arc>
1682-<arc id="ReSend_1 to Sender_D" inscription="1" source="ReSend_1" target="Sender_D" type="normal" weight="1">
1683-<arcpath arcPointType="false" id="0" xCoord="246" yCoord="647"/>
1684-<arcpath arcPointType="false" id="1" xCoord="211" yCoord="691"/>
1685-<arcpath arcPointType="false" id="2" xCoord="172" yCoord="652"/>
1686-</arc>
1687-<arc id="ReSend_1 to Medium_C" inscription="1" source="ReSend_1" target="Medium_C" type="normal" weight="1">
1688-<arcpath arcPointType="false" id="0" xCoord="256" yCoord="642"/>
1689-<arcpath arcPointType="false" id="1" xCoord="389" yCoord="559"/>
1690-</arc>
1691-<arc id="Receive_old_1 to Receiver_D" inscription="1" source="Receive_old_1" target="Receiver_D" type="normal" weight="1">
1692-<arcpath arcPointType="false" id="0" xCoord="497" yCoord="607"/>
1693-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="611"/>
1694-</arc>
1695-<arc id="Ack_send_1 to Receiver_A" inscription="1" source="Ack_send_1" target="Receiver_A" type="normal" weight="1">
1696-<arcpath arcPointType="false" id="0" xCoord="611" yCoord="736"/>
1697-<arcpath arcPointType="false" id="1" xCoord="611" yCoord="777"/>
1698-</arc>
1699-<arc id="Ack_send_1 to Medium_D" inscription="1" source="Ack_send_1" target="Medium_D" type="normal" weight="1">
1700-<arcpath arcPointType="false" id="0" xCoord="596" yCoord="732"/>
1701-<arcpath arcPointType="false" id="1" xCoord="417" yCoord="732"/>
1702-</arc>
1703-<arc id="Send_1 to Sender_D" inscription="1" source="Send_1" target="Sender_D" type="normal" weight="1">
1704-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="557"/>
1705-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="627"/>
1706-</arc>
1707-<arc id="Send_1 to Medium_C" inscription="1" source="Send_1" target="Medium_C" type="normal" weight="1">
1708-<arcpath arcPointType="false" id="0" xCoord="177" yCoord="551"/>
1709-<arcpath arcPointType="false" id="1" xCoord="387" yCoord="551"/>
1710-</arc>
1711-<arc id="Ack_rec_1 to Sender_A" inscription="1" source="Ack_rec_1" target="Sender_A" type="normal" weight="1">
1712-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="737"/>
1713-<arcpath arcPointType="false" id="1" xCoord="136" yCoord="781"/>
1714-<arcpath arcPointType="false" id="2" xCoord="76" yCoord="781"/>
1715-<arcpath arcPointType="false" id="3" xCoord="76" yCoord="46"/>
1716-<arcpath arcPointType="false" id="4" xCoord="151" yCoord="46"/>
1717-<arcpath arcPointType="false" id="5" xCoord="156" yCoord="58"/>
1718-</arc>
1719-<arc id="Send_0 to Medium_A" inscription="1" source="Send_0" target="Medium_A" type="normal" weight="1">
1720-<arcpath arcPointType="false" id="0" xCoord="177" yCoord="161"/>
1721-<arcpath arcPointType="false" id="1" xCoord="387" yCoord="161"/>
1722-</arc>
1723-<arc id="Send_0 to Sender_B" inscription="1" source="Send_0" target="Sender_B" type="normal" weight="1">
1724-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="167"/>
1725-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="237"/>
1726-</arc>
1727-<arc id="Receive_0 to Receiver_B" inscription="1" source="Receive_0" target="Receiver_B" type="normal" weight="1">
1728-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="167"/>
1729-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="237"/>
1730-</arc>
1731-<arc id="ReSend_0 to Medium_A" inscription="1" source="ReSend_0" target="Medium_A" type="normal" weight="1">
1732-<arcpath arcPointType="false" id="0" xCoord="256" yCoord="252"/>
1733-<arcpath arcPointType="false" id="1" xCoord="389" yCoord="169"/>
1734-</arc>
1735-<arc id="ReSend_0 to Sender_B" inscription="1" source="ReSend_0" target="Sender_B" type="normal" weight="1">
1736-<arcpath arcPointType="false" id="0" xCoord="246" yCoord="257"/>
1737-<arcpath arcPointType="false" id="1" xCoord="211" yCoord="301"/>
1738-<arcpath arcPointType="false" id="2" xCoord="172" yCoord="262"/>
1739-</arc>
1740-<arc id="Receive_old_0 to Receiver_B" inscription="1" source="Receive_old_0" target="Receiver_B" type="normal" weight="1">
1741-<arcpath arcPointType="false" id="0" xCoord="496" yCoord="252"/>
1742-<arcpath arcPointType="false" id="1" xCoord="597" yCoord="252"/>
1743-</arc>
1744-<arc id="Receive_1 to Receiver_D" inscription="1" source="Receive_1" target="Receiver_D" type="normal" weight="1">
1745-<arcpath arcPointType="false" id="0" xCoord="612" yCoord="557"/>
1746-<arcpath arcPointType="false" id="1" xCoord="612" yCoord="597"/>
1747-</arc>
1748-</net>
1749-<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Synchronization Violation" overApproximation="true" pTrie="true" query="EF ((Protocol.Sender_A &gt;= 1 and Protocol.Receiver_B &gt;= 1) or (Protocol.Sender_A &gt;= 1 and Protocol.Receiver_C &gt;= 1) or (Protocol.Sender_C &gt;= 1 and Protocol.Receiver_A &gt;= 1) or (Protocol.Sender_C &gt;= 1 and Protocol.Receiver_D &gt;= 1))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
1750-<k-bound bound="3"/>
1751-</pnml>
1752
1753=== added file 'src/resources/Example nets/fischer-protocol.tapn'
1754--- src/resources/Example nets/fischer-protocol.tapn 1970-01-01 00:00:00 +0000
1755+++ src/resources/Example nets/fischer-protocol.tapn 2018-08-11 09:29:00 +0000
1756@@ -0,0 +1,308 @@
1757+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
1758+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
1759+<net active="true" id="Protocol" type="P/T net">
1760+<labels border="true" height="277" positionX="22" positionY="510" width="125">There are four places A, B, C, and CS
1761+and their dual places A_, B_, C_, and CS_
1762+There is always at most one token in
1763+either of the dual places representing
1764+the value of the shared variable. If
1765+there is a token in the place udf then
1766+the value of the shared variable is
1767+undefined. The number of initial tokens
1768+in place A represents the total number
1769+of processes.
1770+</labels>
1771+<place id="A_" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A_" nameOffsetX="-5.0" nameOffsetY="33.0" positionX="150.0" positionY="120.0"/>
1772+<place id="A" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="270.0" positionY="120.0"/>
1773+<place id="B" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="540.0" positionY="120.0"/>
1774+<place id="B_" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="B_" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="810.0" positionY="120.0"/>
1775+<place id="udf" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="udf" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="270.0"/>
1776+<place id="C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="420.0"/>
1777+<place id="CS" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="CS" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="270.0" positionY="570.0"/>
1778+<place id="CS_" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="CS_" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="570.0"/>
1779+<place id="C_" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="C_" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="810.0" positionY="570.0"/>
1780+<transition angle="0" id="Initiate" infiniteServer="false" name="Initiate" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="120.0" priority="0" urgent="false"/>
1781+<transition angle="0" id="Choose2B" infiniteServer="false" name="Choose2B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="660.0" positionY="180.0" priority="0" urgent="false"/>
1782+<transition angle="0" id="Choose2CS" infiniteServer="false" name="Choose2CS" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="660.0" positionY="420.0" priority="0" urgent="false"/>
1783+<transition angle="0" id="Exit2B" infiniteServer="false" name="Exit2B" nameOffsetX="-3.0" nameOffsetY="35.0" positionX="390.0" positionY="660.0" priority="0" urgent="false"/>
1784+<transition angle="0" id="Exit2C" infiniteServer="false" name="Exit2C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="450.0" positionY="660.0" priority="0" urgent="false"/>
1785+<transition angle="0" id="Exit2CS" infiniteServer="false" name="Exit2CS" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="510.0" positionY="660.0" priority="0" urgent="false"/>
1786+<transition angle="0" id="Fail1" infiniteServer="false" name="Fail1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="1035.0" positionY="360.0" priority="0" urgent="false"/>
1787+<transition angle="0" id="Fail2" infiniteServer="false" name="Fail2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="30.0" positionY="255.0" priority="0" urgent="false"/>
1788+<transition angle="0" id="Choose1" infiniteServer="false" name="Choose1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="540.0" positionY="420.0" priority="0" urgent="false"/>
1789+<transition angle="0" id="Choose2C" infiniteServer="false" name="Choose2C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="660.0" positionY="300.0" priority="0" urgent="false"/>
1790+<transition angle="0" id="Choose3" infiniteServer="false" name="Choose3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="810.0" positionY="420.0" priority="0" urgent="false"/>
1791+<transition angle="0" id="Exit3" infiniteServer="false" name="Exit3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="270.0" positionY="420.0" priority="0" urgent="false"/>
1792+<transition angle="0" id="Exit1" infiniteServer="false" name="Exit1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="420.0" priority="0" urgent="false"/>
1793+<transition angle="0" id="Enter" infiniteServer="false" name="Enter" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="570.0" priority="0" urgent="false"/>
1794+<transition angle="0" id="Choose2A" infiniteServer="false" name="Choose2A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="660.0" positionY="90.0" priority="0" urgent="false"/>
1795+<transition angle="0" id="GenerateProcesses" infiniteServer="false" name="GenerateProcesses" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="210.0" positionY="0.0" priority="0" urgent="false"/>
1796+<arc id="A_ to Choose2A" inscription="[0,inf)" source="A_" target="Choose2A" type="timed" weight="1">
1797+<arcpath arcPointType="false" id="0" xCoord="172" yCoord="121"/>
1798+<arcpath arcPointType="false" id="1" xCoord="223" yCoord="73"/>
1799+<arcpath arcPointType="false" id="2" xCoord="673" yCoord="73"/>
1800+<arcpath arcPointType="false" id="3" xCoord="672" yCoord="87"/>
1801+</arc>
1802+<arc id="A to Initiate" inscription="[0,inf)" source="A" target="Initiate" type="timed" weight="1">
1803+<arcpath arcPointType="false" id="0" xCoord="296" yCoord="132"/>
1804+<arcpath arcPointType="false" id="1" xCoord="396" yCoord="132"/>
1805+</arc>
1806+<arc id="B to Choose2B" inscription="[0,2]" source="B" target="Choose2B" type="timed" weight="1">
1807+<arcpath arcPointType="false" id="0" xCoord="565" yCoord="139"/>
1808+<arcpath arcPointType="false" id="1" xCoord="666" yCoord="192"/>
1809+</arc>
1810+<arc id="B to Choose2CS" inscription="[0,2]" source="B" target="Choose2CS" type="timed" weight="1">
1811+<arcpath arcPointType="false" id="0" xCoord="557" yCoord="145"/>
1812+<arcpath arcPointType="false" id="1" xCoord="672" yCoord="417"/>
1813+</arc>
1814+<arc id="B to Choose1" inscription="[0,2]" source="B" target="Choose1" type="timed" weight="1">
1815+<arcpath arcPointType="false" id="0" xCoord="552" yCoord="146"/>
1816+<arcpath arcPointType="false" id="1" xCoord="552" yCoord="417"/>
1817+</arc>
1818+<arc id="B to Choose2C" inscription="[0,2]" source="B" target="Choose2C" type="timed" weight="1">
1819+<arcpath arcPointType="false" id="0" xCoord="560" yCoord="144"/>
1820+<arcpath arcPointType="false" id="1" xCoord="667" yCoord="307"/>
1821+</arc>
1822+<arc id="B to Choose2A" inscription="[0,2]" source="B" target="Choose2A" type="timed" weight="1">
1823+<arcpath arcPointType="false" id="0" xCoord="566" yCoord="128"/>
1824+<arcpath arcPointType="false" id="1" xCoord="666" yCoord="107"/>
1825+</arc>
1826+<arc id="B_ to Choose2B" inscription="[0,inf)" source="B_" target="Choose2B" type="timed" weight="1">
1827+<arcpath arcPointType="false" id="0" xCoord="808" yCoord="137"/>
1828+<arcpath arcPointType="false" id="1" xCoord="676" yCoord="192"/>
1829+</arc>
1830+<arc id="B_ to Exit2B" inscription="[0,inf)" source="B_" target="Exit2B" type="timed" weight="1">
1831+<arcpath arcPointType="false" id="0" xCoord="836" yCoord="132"/>
1832+<arcpath arcPointType="false" id="1" xCoord="973" yCoord="133"/>
1833+<arcpath arcPointType="false" id="2" xCoord="973" yCoord="763"/>
1834+<arcpath arcPointType="false" id="3" xCoord="433" yCoord="763"/>
1835+<arcpath arcPointType="false" id="4" xCoord="402" yCoord="687"/>
1836+</arc>
1837+<arc id="B_ to Choose3" inscription="[0,2]" source="B_" target="Choose3" type="timed" weight="1">
1838+<arcpath arcPointType="false" id="0" xCoord="822" yCoord="146"/>
1839+<arcpath arcPointType="false" id="1" xCoord="822" yCoord="417"/>
1840+</arc>
1841+<arc id="udf to Initiate" inscription="[0,inf)" source="udf" target="Initiate" type="timed" weight="1">
1842+<arcpath arcPointType="false" id="0" xCoord="395" yCoord="268"/>
1843+<arcpath arcPointType="false" id="1" xCoord="373" yCoord="223"/>
1844+<arcpath arcPointType="false" id="2" xCoord="402" yCoord="147"/>
1845+</arc>
1846+<arc id="udf to Fail1" inscription="[0,inf)" source="udf" target="Fail1" type="timed" weight="1">
1847+<arcpath arcPointType="false" id="0" xCoord="416" yCoord="285"/>
1848+<arcpath arcPointType="false" id="1" xCoord="866" yCoord="407"/>
1849+<arcpath arcPointType="false" id="2" xCoord="1041" yCoord="377"/>
1850+</arc>
1851+<arc id="udf to Fail2" inscription="[0,inf)" source="udf" target="Fail2" type="timed" weight="1">
1852+<arcpath arcPointType="false" id="0" xCoord="387" yCoord="281"/>
1853+<arcpath arcPointType="false" id="1" xCoord="46" yCoord="272"/>
1854+</arc>
1855+<arc id="udf to Choose1" inscription="[0,inf)" source="udf" target="Choose1" type="timed" weight="1">
1856+<arcpath arcPointType="false" id="0" xCoord="416" yCoord="286"/>
1857+<arcpath arcPointType="false" id="1" xCoord="493" yCoord="313"/>
1858+<arcpath arcPointType="false" id="2" xCoord="552" yCoord="417"/>
1859+</arc>
1860+<arc id="udf to Exit3" inscription="[0,inf)" source="udf" target="Exit3" type="timed" weight="1">
1861+<arcpath arcPointType="false" id="0" xCoord="392" yCoord="293"/>
1862+<arcpath arcPointType="false" id="1" xCoord="286" yCoord="432"/>
1863+</arc>
1864+<arc id="C to Fail2" inscription="[0,inf)" source="C" target="Fail2" type="timed" weight="1">
1865+<arcpath arcPointType="false" id="0" xCoord="149" yCoord="424"/>
1866+<arcpath arcPointType="false" id="1" xCoord="83" yCoord="383"/>
1867+<arcpath arcPointType="false" id="2" xCoord="42" yCoord="282"/>
1868+</arc>
1869+<arc id="CS to Exit2B" inscription="[0,inf)" source="CS" target="Exit2B" type="timed" weight="1">
1870+<arcpath arcPointType="false" id="0" xCoord="294" yCoord="590"/>
1871+<arcpath arcPointType="false" id="1" xCoord="397" yCoord="667"/>
1872+</arc>
1873+<arc id="CS to Exit2C" inscription="[0,inf)" source="CS" target="Exit2C" type="timed" weight="1">
1874+<arcpath arcPointType="false" id="0" xCoord="295" yCoord="588"/>
1875+<arcpath arcPointType="false" id="1" xCoord="457" yCoord="667"/>
1876+</arc>
1877+<arc id="CS to Exit2CS" inscription="[0,inf)" source="CS" target="Exit2CS" type="timed" weight="1">
1878+<arcpath arcPointType="false" id="0" xCoord="295" yCoord="587"/>
1879+<arcpath arcPointType="false" id="1" xCoord="516" yCoord="680"/>
1880+</arc>
1881+<arc id="CS to Exit3" inscription="[0,inf)" source="CS" target="Exit3" type="timed" weight="1">
1882+<arcpath arcPointType="false" id="0" xCoord="282" yCoord="567"/>
1883+<arcpath arcPointType="false" id="1" xCoord="282" yCoord="447"/>
1884+</arc>
1885+<arc id="CS_ to Choose2CS" inscription="[0,inf)" source="CS_" target="Choose2CS" type="timed" weight="1">
1886+<arcpath arcPointType="false" id="0" xCoord="415" yCoord="574"/>
1887+<arcpath arcPointType="false" id="1" xCoord="666" yCoord="432"/>
1888+</arc>
1889+<arc id="CS_ to Exit2CS" inscription="[0,inf)" source="CS_" target="Exit2CS" type="timed" weight="1">
1890+<arcpath arcPointType="false" id="0" xCoord="414" yCoord="590"/>
1891+<arcpath arcPointType="false" id="1" xCoord="517" yCoord="666"/>
1892+</arc>
1893+<arc id="CS_ to Exit1" inscription="[0,inf)" source="CS_" target="Exit1" type="timed" weight="1">
1894+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="567"/>
1895+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="447"/>
1896+</arc>
1897+<arc id="C_ to Exit2C" inscription="[0,inf)" source="C_" target="Exit2C" type="timed" weight="1">
1898+<arcpath arcPointType="false" id="0" xCoord="822" yCoord="596"/>
1899+<arcpath arcPointType="false" id="1" xCoord="823" yCoord="733"/>
1900+<arcpath arcPointType="false" id="2" xCoord="493" yCoord="733"/>
1901+<arcpath arcPointType="false" id="3" xCoord="462" yCoord="687"/>
1902+</arc>
1903+<arc id="C_ to Fail1" inscription="[0,inf)" source="C_" target="Fail1" type="timed" weight="1">
1904+<arcpath arcPointType="false" id="0" xCoord="836" yCoord="578"/>
1905+<arcpath arcPointType="false" id="1" xCoord="1043" yCoord="533"/>
1906+<arcpath arcPointType="false" id="2" xCoord="1047" yCoord="387"/>
1907+</arc>
1908+<arc id="C_ to Choose2C" inscription="[0,inf)" source="C_" target="Choose2C" type="timed" weight="1">
1909+<arcpath arcPointType="false" id="0" xCoord="828" yCoord="568"/>
1910+<arcpath arcPointType="false" id="1" xCoord="928" yCoord="358"/>
1911+<arcpath arcPointType="false" id="2" xCoord="676" yCoord="312"/>
1912+</arc>
1913+<arc id="C_ to Enter" inscription="(2,inf)" source="C_" target="Enter" type="timed" weight="1">
1914+<arcpath arcPointType="false" id="0" xCoord="807" yCoord="582"/>
1915+<arcpath arcPointType="false" id="1" xCoord="616" yCoord="582"/>
1916+</arc>
1917+<arc id="Initiate to B" inscription="1" source="Initiate" target="B" type="normal" weight="1">
1918+<arcpath arcPointType="false" id="0" xCoord="407" yCoord="127"/>
1919+<arcpath arcPointType="false" id="1" xCoord="537" yCoord="131"/>
1920+</arc>
1921+<arc id="Initiate to udf" inscription="1" source="Initiate" target="udf" type="normal" weight="1">
1922+<arcpath arcPointType="false" id="0" xCoord="406" yCoord="137"/>
1923+<arcpath arcPointType="false" id="1" xCoord="463" yCoord="223"/>
1924+<arcpath arcPointType="false" id="2" xCoord="412" yCoord="271"/>
1925+</arc>
1926+<arc id="Choose2B to B" inscription="1" source="Choose2B" target="B" type="normal" weight="1">
1927+<arcpath arcPointType="false" id="0" xCoord="672" yCoord="177"/>
1928+<arcpath arcPointType="false" id="1" xCoord="673" yCoord="163"/>
1929+<arcpath arcPointType="false" id="2" xCoord="566" yCoord="135"/>
1930+</arc>
1931+<arc id="Choose2B to C_" inscription="1" source="Choose2B" target="C_" type="normal" weight="1">
1932+<arcpath arcPointType="false" id="0" xCoord="672" yCoord="207"/>
1933+<arcpath arcPointType="false" id="1" xCoord="816" yCoord="568"/>
1934+</arc>
1935+<arc id="Choose2CS to CS" inscription="1" source="Choose2CS" target="CS" type="normal" weight="1">
1936+<arcpath arcPointType="false" id="0" xCoord="672" yCoord="447"/>
1937+<arcpath arcPointType="false" id="1" xCoord="673" yCoord="553"/>
1938+<arcpath arcPointType="false" id="2" xCoord="313" yCoord="553"/>
1939+<arcpath arcPointType="false" id="3" xCoord="292" yCoord="571"/>
1940+</arc>
1941+<arc id="Choose2CS to C_" inscription="1" source="Choose2CS" target="C_" type="normal" weight="1">
1942+<arcpath arcPointType="false" id="0" xCoord="676" yCoord="432"/>
1943+<arcpath arcPointType="false" id="1" xCoord="811" yCoord="571"/>
1944+</arc>
1945+<arc id="Exit2B to A" inscription="1" source="Exit2B" target="A" type="normal" weight="1">
1946+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="657"/>
1947+<arcpath arcPointType="false" id="1" xCoord="285" yCoord="146"/>
1948+</arc>
1949+<arc id="Exit2B to B" inscription="1" source="Exit2B" target="B" type="normal" weight="1">
1950+<arcpath arcPointType="false" id="0" xCoord="396" yCoord="677"/>
1951+<arcpath arcPointType="false" id="1" xCoord="178" yCoord="628"/>
1952+<arcpath arcPointType="false" id="2" xCoord="103" yCoord="253"/>
1953+<arcpath arcPointType="false" id="3" xCoord="537" yCoord="135"/>
1954+</arc>
1955+<arc id="Exit2B to udf" inscription="1" source="Exit2B" target="udf" type="normal" weight="1">
1956+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="657"/>
1957+<arcpath arcPointType="false" id="1" xCoord="493" yCoord="493"/>
1958+<arcpath arcPointType="false" id="2" xCoord="407" yCoord="295"/>
1959+</arc>
1960+<arc id="Exit2C to A" inscription="1" source="Exit2C" target="A" type="normal" weight="1">
1961+<arcpath arcPointType="false" id="0" xCoord="462" yCoord="657"/>
1962+<arcpath arcPointType="false" id="1" xCoord="286" yCoord="146"/>
1963+</arc>
1964+<arc id="Exit2C to udf" inscription="1" source="Exit2C" target="udf" type="normal" weight="1">
1965+<arcpath arcPointType="false" id="0" xCoord="462" yCoord="657"/>
1966+<arcpath arcPointType="false" id="1" xCoord="523" yCoord="493"/>
1967+<arcpath arcPointType="false" id="2" xCoord="409" yCoord="295"/>
1968+</arc>
1969+<arc id="Exit2C to C" inscription="1" source="Exit2C" target="C" type="normal" weight="1">
1970+<arcpath arcPointType="false" id="0" xCoord="456" yCoord="677"/>
1971+<arcpath arcPointType="false" id="1" xCoord="208" yCoord="598"/>
1972+<arcpath arcPointType="false" id="2" xCoord="166" yCoord="446"/>
1973+</arc>
1974+<arc id="Exit2CS to A" inscription="1" source="Exit2CS" target="A" type="normal" weight="1">
1975+<arcpath arcPointType="false" id="0" xCoord="522" yCoord="657"/>
1976+<arcpath arcPointType="false" id="1" xCoord="288" yCoord="145"/>
1977+</arc>
1978+<arc id="Exit2CS to udf" inscription="1" source="Exit2CS" target="udf" type="normal" weight="1">
1979+<arcpath arcPointType="false" id="0" xCoord="522" yCoord="657"/>
1980+<arcpath arcPointType="false" id="1" xCoord="553" yCoord="493"/>
1981+<arcpath arcPointType="false" id="2" xCoord="410" yCoord="294"/>
1982+</arc>
1983+<arc id="Exit2CS to CS" inscription="1" source="Exit2CS" target="CS" type="normal" weight="1">
1984+<arcpath arcPointType="false" id="0" xCoord="516" yCoord="673"/>
1985+<arcpath arcPointType="false" id="1" xCoord="295" yCoord="587"/>
1986+</arc>
1987+<arc id="Fail1 to B_" inscription="1" source="Fail1" target="B_" type="normal" weight="1">
1988+<arcpath arcPointType="false" id="0" xCoord="1047" yCoord="357"/>
1989+<arcpath arcPointType="false" id="1" xCoord="1057" yCoord="67"/>
1990+<arcpath arcPointType="false" id="2" xCoord="832" yCoord="82"/>
1991+<arcpath arcPointType="false" id="3" xCoord="824" yCoord="117"/>
1992+</arc>
1993+<arc id="Fail1 to udf" inscription="1" source="Fail1" target="udf" type="normal" weight="1">
1994+<arcpath arcPointType="false" id="0" xCoord="1042" yCoord="367"/>
1995+<arcpath arcPointType="false" id="1" xCoord="908" yCoord="308"/>
1996+<arcpath arcPointType="false" id="2" xCoord="416" yCoord="282"/>
1997+</arc>
1998+<arc id="Fail2 to B" inscription="1" source="Fail2" target="B" type="normal" weight="1">
1999+<arcpath arcPointType="false" id="0" xCoord="42" yCoord="252"/>
2000+<arcpath arcPointType="false" id="1" xCoord="83" yCoord="68"/>
2001+<arcpath arcPointType="false" id="2" xCoord="578" yCoord="38"/>
2002+<arcpath arcPointType="false" id="3" xCoord="555" yCoord="117"/>
2003+</arc>
2004+<arc id="Fail2 to udf" inscription="1" source="Fail2" target="udf" type="normal" weight="1">
2005+<arcpath arcPointType="false" id="0" xCoord="47" yCoord="262"/>
2006+<arcpath arcPointType="false" id="1" xCoord="387" yCoord="281"/>
2007+</arc>
2008+<arc id="Choose1 to C_" inscription="1" source="Choose1" target="C_" type="normal" weight="1">
2009+<arcpath arcPointType="false" id="0" xCoord="556" yCoord="432"/>
2010+<arcpath arcPointType="false" id="1" xCoord="808" yCoord="574"/>
2011+</arc>
2012+<arc id="Choose2C to C" inscription="1" source="Choose2C" target="C" type="normal" weight="1">
2013+<arcpath arcPointType="false" id="0" xCoord="666" yCoord="317"/>
2014+<arcpath arcPointType="false" id="1" xCoord="223" yCoord="373"/>
2015+<arcpath arcPointType="false" id="2" xCoord="172" yCoord="421"/>
2016+</arc>
2017+<arc id="Choose2C to C_" inscription="1" source="Choose2C" target="C_" type="normal" weight="1">
2018+<arcpath arcPointType="false" id="0" xCoord="672" yCoord="327"/>
2019+<arcpath arcPointType="false" id="1" xCoord="814" yCoord="569"/>
2020+</arc>
2021+<arc id="Choose3 to C_" inscription="1" source="Choose3" target="C_" type="normal" weight="1">
2022+<arcpath arcPointType="false" id="0" xCoord="822" yCoord="447"/>
2023+<arcpath arcPointType="false" id="1" xCoord="822" yCoord="567"/>
2024+</arc>
2025+<arc id="Exit3 to A" inscription="1" source="Exit3" target="A" type="normal" weight="1">
2026+<arcpath arcPointType="false" id="0" xCoord="282" yCoord="417"/>
2027+<arcpath arcPointType="false" id="1" xCoord="282" yCoord="146"/>
2028+</arc>
2029+<arc id="Exit3 to udf" inscription="1" source="Exit3" target="udf" type="normal" weight="1">
2030+<arcpath arcPointType="false" id="0" xCoord="282" yCoord="417"/>
2031+<arcpath arcPointType="false" id="1" xCoord="343" yCoord="283"/>
2032+<arcpath arcPointType="false" id="2" xCoord="387" yCoord="282"/>
2033+</arc>
2034+<arc id="Exit1 to A" inscription="1" source="Exit1" target="A" type="normal" weight="1">
2035+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="417"/>
2036+<arcpath arcPointType="false" id="1" xCoord="287" yCoord="145"/>
2037+</arc>
2038+<arc id="Exit1 to udf" inscription="1" source="Exit1" target="udf" type="normal" weight="1">
2039+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="417"/>
2040+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="296"/>
2041+</arc>
2042+<arc id="Enter to CS_" inscription="1" source="Enter" target="CS_" type="normal" weight="1">
2043+<arcpath arcPointType="false" id="0" xCoord="606" yCoord="582"/>
2044+<arcpath arcPointType="false" id="1" xCoord="416" yCoord="582"/>
2045+</arc>
2046+<arc id="Choose2A to A" inscription="1" source="Choose2A" target="A" type="normal" weight="1">
2047+<arcpath arcPointType="false" id="0" xCoord="667" yCoord="97"/>
2048+<arcpath arcPointType="false" id="1" xCoord="313" yCoord="103"/>
2049+<arcpath arcPointType="false" id="2" xCoord="292" yCoord="121"/>
2050+</arc>
2051+<arc id="Choose2A to C_" inscription="1" source="Choose2A" target="C_" type="normal" weight="1">
2052+<arcpath arcPointType="false" id="0" xCoord="672" yCoord="117"/>
2053+<arcpath arcPointType="false" id="1" xCoord="817" yCoord="567"/>
2054+</arc>
2055+<arc id="GenerateProcesses to A" inscription="1" source="GenerateProcesses" target="A" type="normal" weight="1">
2056+<arcpath arcPointType="false" id="0" xCoord="222" yCoord="27"/>
2057+<arcpath arcPointType="false" id="1" xCoord="274" yCoord="118"/>
2058+</arc>
2059+</net>
2060+<query active="true" approximationDenominator="2" capacity="10" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Mutual Exclusion 10 Processes" overApproximation="true" pTrie="true" query="AG (Protocol.CS &lt;= 1 and Protocol.CS_ &lt;= 1 and (Protocol.CS &lt;= 0 or Protocol.CS_ &lt;= 0))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
2061+<query active="true" approximationDenominator="2" capacity="15" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Mutual Exclusion 15 Processes" overApproximation="true" pTrie="true" query="AG (Protocol.CS &lt;= 1 and Protocol.CS_ &lt;= 1 and (Protocol.CS &lt;= 0 or Protocol.CS_ &lt;= 0))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
2062+<query active="true" approximationDenominator="2" capacity="20" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Mutual Exclusion 20 Processes" overApproximation="true" pTrie="true" query="AG (Protocol.CS &lt;= 1 and Protocol.CS_ &lt;= 1 and (Protocol.CS &lt;= 0 or Protocol.CS_ &lt;= 0))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
2063+<k-bound bound="3"/>
2064+</pnml>
2065
2066=== removed file 'src/resources/Example nets/fischer-protocol.xml'
2067--- src/resources/Example nets/fischer-protocol.xml 2014-06-08 19:45:48 +0000
2068+++ src/resources/Example nets/fischer-protocol.xml 1970-01-01 00:00:00 +0000
2069@@ -1,308 +0,0 @@
2070-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2071-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
2072-<net active="true" id="Protocol" type="P/T net">
2073-<labels border="true" height="277" positionX="22" positionY="510" width="125">There are four places A, B, C, and CS
2074-and their dual places A_, B_, C_, and CS_
2075-There is always at most one token in
2076-either of the dual places representing
2077-the value of the shared variable. If
2078-there is a token in the place udf then
2079-the value of the shared variable is
2080-undefined. The number of initial tokens
2081-in place A represents the total number
2082-of processes.
2083-</labels>
2084-<place id="A_" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A_" nameOffsetX="-5.0" nameOffsetY="33.0" positionX="150.0" positionY="120.0"/>
2085-<place id="A" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="270.0" positionY="120.0"/>
2086-<place id="B" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="540.0" positionY="120.0"/>
2087-<place id="B_" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="B_" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="810.0" positionY="120.0"/>
2088-<place id="udf" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="udf" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="270.0"/>
2089-<place id="C" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="420.0"/>
2090-<place id="CS" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="CS" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="270.0" positionY="570.0"/>
2091-<place id="CS_" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="CS_" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="570.0"/>
2092-<place id="C_" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="C_" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="810.0" positionY="570.0"/>
2093-<transition angle="0" id="Initiate" infiniteServer="false" name="Initiate" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="120.0" priority="0" urgent="false"/>
2094-<transition angle="0" id="Choose2B" infiniteServer="false" name="Choose2B" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="660.0" positionY="180.0" priority="0" urgent="false"/>
2095-<transition angle="0" id="Choose2CS" infiniteServer="false" name="Choose2CS" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="660.0" positionY="420.0" priority="0" urgent="false"/>
2096-<transition angle="0" id="Exit2B" infiniteServer="false" name="Exit2B" nameOffsetX="-3.0" nameOffsetY="35.0" positionX="390.0" positionY="660.0" priority="0" urgent="false"/>
2097-<transition angle="0" id="Exit2C" infiniteServer="false" name="Exit2C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="450.0" positionY="660.0" priority="0" urgent="false"/>
2098-<transition angle="0" id="Exit2CS" infiniteServer="false" name="Exit2CS" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="510.0" positionY="660.0" priority="0" urgent="false"/>
2099-<transition angle="0" id="Fail1" infiniteServer="false" name="Fail1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="1035.0" positionY="360.0" priority="0" urgent="false"/>
2100-<transition angle="0" id="Fail2" infiniteServer="false" name="Fail2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="30.0" positionY="255.0" priority="0" urgent="false"/>
2101-<transition angle="0" id="Choose1" infiniteServer="false" name="Choose1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="540.0" positionY="420.0" priority="0" urgent="false"/>
2102-<transition angle="0" id="Choose2C" infiniteServer="false" name="Choose2C" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="660.0" positionY="300.0" priority="0" urgent="false"/>
2103-<transition angle="0" id="Choose3" infiniteServer="false" name="Choose3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="810.0" positionY="420.0" priority="0" urgent="false"/>
2104-<transition angle="0" id="Exit3" infiniteServer="false" name="Exit3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="270.0" positionY="420.0" priority="0" urgent="false"/>
2105-<transition angle="0" id="Exit1" infiniteServer="false" name="Exit1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="420.0" priority="0" urgent="false"/>
2106-<transition angle="0" id="Enter" infiniteServer="false" name="Enter" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="600.0" positionY="570.0" priority="0" urgent="false"/>
2107-<transition angle="0" id="Choose2A" infiniteServer="false" name="Choose2A" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="660.0" positionY="90.0" priority="0" urgent="false"/>
2108-<transition angle="0" id="GenerateProcesses" infiniteServer="false" name="GenerateProcesses" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="210.0" positionY="0.0" priority="0" urgent="false"/>
2109-<arc id="A_ to Choose2A" inscription="[0,inf)" source="A_" target="Choose2A" type="timed" weight="1">
2110-<arcpath arcPointType="false" id="0" xCoord="172" yCoord="121"/>
2111-<arcpath arcPointType="false" id="1" xCoord="223" yCoord="73"/>
2112-<arcpath arcPointType="false" id="2" xCoord="673" yCoord="73"/>
2113-<arcpath arcPointType="false" id="3" xCoord="672" yCoord="87"/>
2114-</arc>
2115-<arc id="A to Initiate" inscription="[0,inf)" source="A" target="Initiate" type="timed" weight="1">
2116-<arcpath arcPointType="false" id="0" xCoord="296" yCoord="132"/>
2117-<arcpath arcPointType="false" id="1" xCoord="396" yCoord="132"/>
2118-</arc>
2119-<arc id="B to Choose2B" inscription="[0,2]" source="B" target="Choose2B" type="timed" weight="1">
2120-<arcpath arcPointType="false" id="0" xCoord="565" yCoord="139"/>
2121-<arcpath arcPointType="false" id="1" xCoord="666" yCoord="192"/>
2122-</arc>
2123-<arc id="B to Choose2CS" inscription="[0,2]" source="B" target="Choose2CS" type="timed" weight="1">
2124-<arcpath arcPointType="false" id="0" xCoord="557" yCoord="145"/>
2125-<arcpath arcPointType="false" id="1" xCoord="672" yCoord="417"/>
2126-</arc>
2127-<arc id="B to Choose1" inscription="[0,2]" source="B" target="Choose1" type="timed" weight="1">
2128-<arcpath arcPointType="false" id="0" xCoord="552" yCoord="146"/>
2129-<arcpath arcPointType="false" id="1" xCoord="552" yCoord="417"/>
2130-</arc>
2131-<arc id="B to Choose2C" inscription="[0,2]" source="B" target="Choose2C" type="timed" weight="1">
2132-<arcpath arcPointType="false" id="0" xCoord="560" yCoord="144"/>
2133-<arcpath arcPointType="false" id="1" xCoord="667" yCoord="307"/>
2134-</arc>
2135-<arc id="B to Choose2A" inscription="[0,2]" source="B" target="Choose2A" type="timed" weight="1">
2136-<arcpath arcPointType="false" id="0" xCoord="566" yCoord="128"/>
2137-<arcpath arcPointType="false" id="1" xCoord="666" yCoord="107"/>
2138-</arc>
2139-<arc id="B_ to Choose2B" inscription="[0,inf)" source="B_" target="Choose2B" type="timed" weight="1">
2140-<arcpath arcPointType="false" id="0" xCoord="808" yCoord="137"/>
2141-<arcpath arcPointType="false" id="1" xCoord="676" yCoord="192"/>
2142-</arc>
2143-<arc id="B_ to Exit2B" inscription="[0,inf)" source="B_" target="Exit2B" type="timed" weight="1">
2144-<arcpath arcPointType="false" id="0" xCoord="836" yCoord="132"/>
2145-<arcpath arcPointType="false" id="1" xCoord="973" yCoord="133"/>
2146-<arcpath arcPointType="false" id="2" xCoord="973" yCoord="763"/>
2147-<arcpath arcPointType="false" id="3" xCoord="433" yCoord="763"/>
2148-<arcpath arcPointType="false" id="4" xCoord="402" yCoord="687"/>
2149-</arc>
2150-<arc id="B_ to Choose3" inscription="[0,2]" source="B_" target="Choose3" type="timed" weight="1">
2151-<arcpath arcPointType="false" id="0" xCoord="822" yCoord="146"/>
2152-<arcpath arcPointType="false" id="1" xCoord="822" yCoord="417"/>
2153-</arc>
2154-<arc id="udf to Initiate" inscription="[0,inf)" source="udf" target="Initiate" type="timed" weight="1">
2155-<arcpath arcPointType="false" id="0" xCoord="395" yCoord="268"/>
2156-<arcpath arcPointType="false" id="1" xCoord="373" yCoord="223"/>
2157-<arcpath arcPointType="false" id="2" xCoord="402" yCoord="147"/>
2158-</arc>
2159-<arc id="udf to Fail1" inscription="[0,inf)" source="udf" target="Fail1" type="timed" weight="1">
2160-<arcpath arcPointType="false" id="0" xCoord="416" yCoord="285"/>
2161-<arcpath arcPointType="false" id="1" xCoord="866" yCoord="407"/>
2162-<arcpath arcPointType="false" id="2" xCoord="1041" yCoord="377"/>
2163-</arc>
2164-<arc id="udf to Fail2" inscription="[0,inf)" source="udf" target="Fail2" type="timed" weight="1">
2165-<arcpath arcPointType="false" id="0" xCoord="387" yCoord="281"/>
2166-<arcpath arcPointType="false" id="1" xCoord="46" yCoord="272"/>
2167-</arc>
2168-<arc id="udf to Choose1" inscription="[0,inf)" source="udf" target="Choose1" type="timed" weight="1">
2169-<arcpath arcPointType="false" id="0" xCoord="416" yCoord="286"/>
2170-<arcpath arcPointType="false" id="1" xCoord="493" yCoord="313"/>
2171-<arcpath arcPointType="false" id="2" xCoord="552" yCoord="417"/>
2172-</arc>
2173-<arc id="udf to Exit3" inscription="[0,inf)" source="udf" target="Exit3" type="timed" weight="1">
2174-<arcpath arcPointType="false" id="0" xCoord="392" yCoord="293"/>
2175-<arcpath arcPointType="false" id="1" xCoord="286" yCoord="432"/>
2176-</arc>
2177-<arc id="C to Fail2" inscription="[0,inf)" source="C" target="Fail2" type="timed" weight="1">
2178-<arcpath arcPointType="false" id="0" xCoord="149" yCoord="424"/>
2179-<arcpath arcPointType="false" id="1" xCoord="83" yCoord="383"/>
2180-<arcpath arcPointType="false" id="2" xCoord="42" yCoord="282"/>
2181-</arc>
2182-<arc id="CS to Exit2B" inscription="[0,inf)" source="CS" target="Exit2B" type="timed" weight="1">
2183-<arcpath arcPointType="false" id="0" xCoord="294" yCoord="590"/>
2184-<arcpath arcPointType="false" id="1" xCoord="397" yCoord="667"/>
2185-</arc>
2186-<arc id="CS to Exit2C" inscription="[0,inf)" source="CS" target="Exit2C" type="timed" weight="1">
2187-<arcpath arcPointType="false" id="0" xCoord="295" yCoord="588"/>
2188-<arcpath arcPointType="false" id="1" xCoord="457" yCoord="667"/>
2189-</arc>
2190-<arc id="CS to Exit2CS" inscription="[0,inf)" source="CS" target="Exit2CS" type="timed" weight="1">
2191-<arcpath arcPointType="false" id="0" xCoord="295" yCoord="587"/>
2192-<arcpath arcPointType="false" id="1" xCoord="516" yCoord="680"/>
2193-</arc>
2194-<arc id="CS to Exit3" inscription="[0,inf)" source="CS" target="Exit3" type="timed" weight="1">
2195-<arcpath arcPointType="false" id="0" xCoord="282" yCoord="567"/>
2196-<arcpath arcPointType="false" id="1" xCoord="282" yCoord="447"/>
2197-</arc>
2198-<arc id="CS_ to Choose2CS" inscription="[0,inf)" source="CS_" target="Choose2CS" type="timed" weight="1">
2199-<arcpath arcPointType="false" id="0" xCoord="415" yCoord="574"/>
2200-<arcpath arcPointType="false" id="1" xCoord="666" yCoord="432"/>
2201-</arc>
2202-<arc id="CS_ to Exit2CS" inscription="[0,inf)" source="CS_" target="Exit2CS" type="timed" weight="1">
2203-<arcpath arcPointType="false" id="0" xCoord="414" yCoord="590"/>
2204-<arcpath arcPointType="false" id="1" xCoord="517" yCoord="666"/>
2205-</arc>
2206-<arc id="CS_ to Exit1" inscription="[0,inf)" source="CS_" target="Exit1" type="timed" weight="1">
2207-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="567"/>
2208-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="447"/>
2209-</arc>
2210-<arc id="C_ to Exit2C" inscription="[0,inf)" source="C_" target="Exit2C" type="timed" weight="1">
2211-<arcpath arcPointType="false" id="0" xCoord="822" yCoord="596"/>
2212-<arcpath arcPointType="false" id="1" xCoord="823" yCoord="733"/>
2213-<arcpath arcPointType="false" id="2" xCoord="493" yCoord="733"/>
2214-<arcpath arcPointType="false" id="3" xCoord="462" yCoord="687"/>
2215-</arc>
2216-<arc id="C_ to Fail1" inscription="[0,inf)" source="C_" target="Fail1" type="timed" weight="1">
2217-<arcpath arcPointType="false" id="0" xCoord="836" yCoord="578"/>
2218-<arcpath arcPointType="false" id="1" xCoord="1043" yCoord="533"/>
2219-<arcpath arcPointType="false" id="2" xCoord="1047" yCoord="387"/>
2220-</arc>
2221-<arc id="C_ to Choose2C" inscription="[0,inf)" source="C_" target="Choose2C" type="timed" weight="1">
2222-<arcpath arcPointType="false" id="0" xCoord="828" yCoord="568"/>
2223-<arcpath arcPointType="false" id="1" xCoord="928" yCoord="358"/>
2224-<arcpath arcPointType="false" id="2" xCoord="676" yCoord="312"/>
2225-</arc>
2226-<arc id="C_ to Enter" inscription="(2,inf)" source="C_" target="Enter" type="timed" weight="1">
2227-<arcpath arcPointType="false" id="0" xCoord="807" yCoord="582"/>
2228-<arcpath arcPointType="false" id="1" xCoord="616" yCoord="582"/>
2229-</arc>
2230-<arc id="Initiate to B" inscription="1" source="Initiate" target="B" type="normal" weight="1">
2231-<arcpath arcPointType="false" id="0" xCoord="407" yCoord="127"/>
2232-<arcpath arcPointType="false" id="1" xCoord="537" yCoord="131"/>
2233-</arc>
2234-<arc id="Initiate to udf" inscription="1" source="Initiate" target="udf" type="normal" weight="1">
2235-<arcpath arcPointType="false" id="0" xCoord="406" yCoord="137"/>
2236-<arcpath arcPointType="false" id="1" xCoord="463" yCoord="223"/>
2237-<arcpath arcPointType="false" id="2" xCoord="412" yCoord="271"/>
2238-</arc>
2239-<arc id="Choose2B to B" inscription="1" source="Choose2B" target="B" type="normal" weight="1">
2240-<arcpath arcPointType="false" id="0" xCoord="672" yCoord="177"/>
2241-<arcpath arcPointType="false" id="1" xCoord="673" yCoord="163"/>
2242-<arcpath arcPointType="false" id="2" xCoord="566" yCoord="135"/>
2243-</arc>
2244-<arc id="Choose2B to C_" inscription="1" source="Choose2B" target="C_" type="normal" weight="1">
2245-<arcpath arcPointType="false" id="0" xCoord="672" yCoord="207"/>
2246-<arcpath arcPointType="false" id="1" xCoord="816" yCoord="568"/>
2247-</arc>
2248-<arc id="Choose2CS to CS" inscription="1" source="Choose2CS" target="CS" type="normal" weight="1">
2249-<arcpath arcPointType="false" id="0" xCoord="672" yCoord="447"/>
2250-<arcpath arcPointType="false" id="1" xCoord="673" yCoord="553"/>
2251-<arcpath arcPointType="false" id="2" xCoord="313" yCoord="553"/>
2252-<arcpath arcPointType="false" id="3" xCoord="292" yCoord="571"/>
2253-</arc>
2254-<arc id="Choose2CS to C_" inscription="1" source="Choose2CS" target="C_" type="normal" weight="1">
2255-<arcpath arcPointType="false" id="0" xCoord="676" yCoord="432"/>
2256-<arcpath arcPointType="false" id="1" xCoord="811" yCoord="571"/>
2257-</arc>
2258-<arc id="Exit2B to A" inscription="1" source="Exit2B" target="A" type="normal" weight="1">
2259-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="657"/>
2260-<arcpath arcPointType="false" id="1" xCoord="285" yCoord="146"/>
2261-</arc>
2262-<arc id="Exit2B to B" inscription="1" source="Exit2B" target="B" type="normal" weight="1">
2263-<arcpath arcPointType="false" id="0" xCoord="396" yCoord="677"/>
2264-<arcpath arcPointType="false" id="1" xCoord="178" yCoord="628"/>
2265-<arcpath arcPointType="false" id="2" xCoord="103" yCoord="253"/>
2266-<arcpath arcPointType="false" id="3" xCoord="537" yCoord="135"/>
2267-</arc>
2268-<arc id="Exit2B to udf" inscription="1" source="Exit2B" target="udf" type="normal" weight="1">
2269-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="657"/>
2270-<arcpath arcPointType="false" id="1" xCoord="493" yCoord="493"/>
2271-<arcpath arcPointType="false" id="2" xCoord="407" yCoord="295"/>
2272-</arc>
2273-<arc id="Exit2C to A" inscription="1" source="Exit2C" target="A" type="normal" weight="1">
2274-<arcpath arcPointType="false" id="0" xCoord="462" yCoord="657"/>
2275-<arcpath arcPointType="false" id="1" xCoord="286" yCoord="146"/>
2276-</arc>
2277-<arc id="Exit2C to udf" inscription="1" source="Exit2C" target="udf" type="normal" weight="1">
2278-<arcpath arcPointType="false" id="0" xCoord="462" yCoord="657"/>
2279-<arcpath arcPointType="false" id="1" xCoord="523" yCoord="493"/>
2280-<arcpath arcPointType="false" id="2" xCoord="409" yCoord="295"/>
2281-</arc>
2282-<arc id="Exit2C to C" inscription="1" source="Exit2C" target="C" type="normal" weight="1">
2283-<arcpath arcPointType="false" id="0" xCoord="456" yCoord="677"/>
2284-<arcpath arcPointType="false" id="1" xCoord="208" yCoord="598"/>
2285-<arcpath arcPointType="false" id="2" xCoord="166" yCoord="446"/>
2286-</arc>
2287-<arc id="Exit2CS to A" inscription="1" source="Exit2CS" target="A" type="normal" weight="1">
2288-<arcpath arcPointType="false" id="0" xCoord="522" yCoord="657"/>
2289-<arcpath arcPointType="false" id="1" xCoord="288" yCoord="145"/>
2290-</arc>
2291-<arc id="Exit2CS to udf" inscription="1" source="Exit2CS" target="udf" type="normal" weight="1">
2292-<arcpath arcPointType="false" id="0" xCoord="522" yCoord="657"/>
2293-<arcpath arcPointType="false" id="1" xCoord="553" yCoord="493"/>
2294-<arcpath arcPointType="false" id="2" xCoord="410" yCoord="294"/>
2295-</arc>
2296-<arc id="Exit2CS to CS" inscription="1" source="Exit2CS" target="CS" type="normal" weight="1">
2297-<arcpath arcPointType="false" id="0" xCoord="516" yCoord="673"/>
2298-<arcpath arcPointType="false" id="1" xCoord="295" yCoord="587"/>
2299-</arc>
2300-<arc id="Fail1 to B_" inscription="1" source="Fail1" target="B_" type="normal" weight="1">
2301-<arcpath arcPointType="false" id="0" xCoord="1047" yCoord="357"/>
2302-<arcpath arcPointType="false" id="1" xCoord="1057" yCoord="67"/>
2303-<arcpath arcPointType="false" id="2" xCoord="832" yCoord="82"/>
2304-<arcpath arcPointType="false" id="3" xCoord="824" yCoord="117"/>
2305-</arc>
2306-<arc id="Fail1 to udf" inscription="1" source="Fail1" target="udf" type="normal" weight="1">
2307-<arcpath arcPointType="false" id="0" xCoord="1042" yCoord="367"/>
2308-<arcpath arcPointType="false" id="1" xCoord="908" yCoord="308"/>
2309-<arcpath arcPointType="false" id="2" xCoord="416" yCoord="282"/>
2310-</arc>
2311-<arc id="Fail2 to B" inscription="1" source="Fail2" target="B" type="normal" weight="1">
2312-<arcpath arcPointType="false" id="0" xCoord="42" yCoord="252"/>
2313-<arcpath arcPointType="false" id="1" xCoord="83" yCoord="68"/>
2314-<arcpath arcPointType="false" id="2" xCoord="578" yCoord="38"/>
2315-<arcpath arcPointType="false" id="3" xCoord="555" yCoord="117"/>
2316-</arc>
2317-<arc id="Fail2 to udf" inscription="1" source="Fail2" target="udf" type="normal" weight="1">
2318-<arcpath arcPointType="false" id="0" xCoord="47" yCoord="262"/>
2319-<arcpath arcPointType="false" id="1" xCoord="387" yCoord="281"/>
2320-</arc>
2321-<arc id="Choose1 to C_" inscription="1" source="Choose1" target="C_" type="normal" weight="1">
2322-<arcpath arcPointType="false" id="0" xCoord="556" yCoord="432"/>
2323-<arcpath arcPointType="false" id="1" xCoord="808" yCoord="574"/>
2324-</arc>
2325-<arc id="Choose2C to C" inscription="1" source="Choose2C" target="C" type="normal" weight="1">
2326-<arcpath arcPointType="false" id="0" xCoord="666" yCoord="317"/>
2327-<arcpath arcPointType="false" id="1" xCoord="223" yCoord="373"/>
2328-<arcpath arcPointType="false" id="2" xCoord="172" yCoord="421"/>
2329-</arc>
2330-<arc id="Choose2C to C_" inscription="1" source="Choose2C" target="C_" type="normal" weight="1">
2331-<arcpath arcPointType="false" id="0" xCoord="672" yCoord="327"/>
2332-<arcpath arcPointType="false" id="1" xCoord="814" yCoord="569"/>
2333-</arc>
2334-<arc id="Choose3 to C_" inscription="1" source="Choose3" target="C_" type="normal" weight="1">
2335-<arcpath arcPointType="false" id="0" xCoord="822" yCoord="447"/>
2336-<arcpath arcPointType="false" id="1" xCoord="822" yCoord="567"/>
2337-</arc>
2338-<arc id="Exit3 to A" inscription="1" source="Exit3" target="A" type="normal" weight="1">
2339-<arcpath arcPointType="false" id="0" xCoord="282" yCoord="417"/>
2340-<arcpath arcPointType="false" id="1" xCoord="282" yCoord="146"/>
2341-</arc>
2342-<arc id="Exit3 to udf" inscription="1" source="Exit3" target="udf" type="normal" weight="1">
2343-<arcpath arcPointType="false" id="0" xCoord="282" yCoord="417"/>
2344-<arcpath arcPointType="false" id="1" xCoord="343" yCoord="283"/>
2345-<arcpath arcPointType="false" id="2" xCoord="387" yCoord="282"/>
2346-</arc>
2347-<arc id="Exit1 to A" inscription="1" source="Exit1" target="A" type="normal" weight="1">
2348-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="417"/>
2349-<arcpath arcPointType="false" id="1" xCoord="287" yCoord="145"/>
2350-</arc>
2351-<arc id="Exit1 to udf" inscription="1" source="Exit1" target="udf" type="normal" weight="1">
2352-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="417"/>
2353-<arcpath arcPointType="false" id="1" xCoord="402" yCoord="296"/>
2354-</arc>
2355-<arc id="Enter to CS_" inscription="1" source="Enter" target="CS_" type="normal" weight="1">
2356-<arcpath arcPointType="false" id="0" xCoord="606" yCoord="582"/>
2357-<arcpath arcPointType="false" id="1" xCoord="416" yCoord="582"/>
2358-</arc>
2359-<arc id="Choose2A to A" inscription="1" source="Choose2A" target="A" type="normal" weight="1">
2360-<arcpath arcPointType="false" id="0" xCoord="667" yCoord="97"/>
2361-<arcpath arcPointType="false" id="1" xCoord="313" yCoord="103"/>
2362-<arcpath arcPointType="false" id="2" xCoord="292" yCoord="121"/>
2363-</arc>
2364-<arc id="Choose2A to C_" inscription="1" source="Choose2A" target="C_" type="normal" weight="1">
2365-<arcpath arcPointType="false" id="0" xCoord="672" yCoord="117"/>
2366-<arcpath arcPointType="false" id="1" xCoord="817" yCoord="567"/>
2367-</arc>
2368-<arc id="GenerateProcesses to A" inscription="1" source="GenerateProcesses" target="A" type="normal" weight="1">
2369-<arcpath arcPointType="false" id="0" xCoord="222" yCoord="27"/>
2370-<arcpath arcPointType="false" id="1" xCoord="274" yCoord="118"/>
2371-</arc>
2372-</net>
2373-<query active="true" approximationDenominator="2" capacity="10" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Mutual Exclusion 10 Processes" overApproximation="true" pTrie="true" query="AG (Protocol.CS &lt;= 1 and Protocol.CS_ &lt;= 1 and (Protocol.CS &lt;= 0 or Protocol.CS_ &lt;= 0))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
2374-<query active="true" approximationDenominator="2" capacity="15" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Mutual Exclusion 15 Processes" overApproximation="true" pTrie="true" query="AG (Protocol.CS &lt;= 1 and Protocol.CS_ &lt;= 1 and (Protocol.CS &lt;= 0 or Protocol.CS_ &lt;= 0))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
2375-<query active="true" approximationDenominator="2" capacity="20" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Mutual Exclusion 20 Processes" overApproximation="true" pTrie="true" query="AG (Protocol.CS &lt;= 1 and Protocol.CS_ &lt;= 1 and (Protocol.CS &lt;= 0 or Protocol.CS_ &lt;= 0))" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
2376-<k-bound bound="3"/>
2377-</pnml>
2378
2379=== added file 'src/resources/Example nets/intro-example.tapn'
2380--- src/resources/Example nets/intro-example.tapn 1970-01-01 00:00:00 +0000
2381+++ src/resources/Example nets/intro-example.tapn 2018-08-11 09:29:00 +0000
2382@@ -0,0 +1,97 @@
2383+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2384+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
2385+<net active="true" id="IntroExample" type="P/T net">
2386+<labels border="true" height="767" positionX="565" positionY="57" width="348">This is an example net to introduce the modelling, verification and simulation features of TAPAAL.
2387+
2388+The circles are called places and rectangles transitions. They are connected either by standard arcs from place to transition or transition to place, or they can be connected by transport arcs (these arcs always come in pairs) like from P1 to T3 and T3 to P6.
2389+
2390+Behaviour of the net is given by tokens. Each place can store any number of tokens and each token has its own real-time age. In our example there is initially one token of age 0 in the place Start.
2391+
2392+A transition can fire if in every of its input places there is at least one token of an age that fits into the interval placed on the corresponding arc. When transition fires a new token of age 0 is produced to any of its output places for the normal arcs. In case of trasport arc, the age of the token remains the same as the age of the consumed token. Also note that arcs can be weigthed, like the one from T2 to P5 with weight 3 (producing three fresh tokens) and the one from P5 to T4 (consuming two tokens).
2393+
2394+The place P2 contains so-called invariant &lt;=5. This means that any token in that place cannot be older than 5 time units. So another behaviour of the net are so called time-delays. This means that all tokens in the net grow older by a some amount of time, as long as none of the invariants are violated.
2395+
2396+Finally, the transition T4 (with a white dot) is an urgent transition, meaning that once it becomes enabled (the tokens arrive to the places P6 and P5), no time delay can happen and some of the currently enabled transitions have to fired. In our example only T4 will be enabled but in general there can be more enabled transitions and none of them has a priority over the other ones. Enabled urgent transition simply implies that time cannot delay.
2397+
2398+-----------------------------
2399+
2400+In our example we might want to know if it is possible by doing some time delays and transition firings to place a token into the place Target.
2401+
2402+The query "Target Reachable" in the upper right corner expressis this property. It moreover asks for fastest such trace. By clicking on "Verify" the verification will begin and ouput the trace allowing us to place a token into the place Targe. By clicking on the symbols &gt; and &lt; one can move back and force in the trace and investigate the intermediate markings.
2403+
2404+One may observe that 3 extra tokens are needed in the intermediate markings in order to reach the place Target. Indeed, this number of extra tokens is specified in the Query dialog and by clicking on "Check Boundedness", one can verify that 3 extra tokens are really enough for an exact analysis.
2405+
2406+This net is a workflow not and by going to menu Tools/Workflow analysis, one can see that it is not sound as there is a deadlock in the net.</labels>
2407+<place id="Start" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Start" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="135.0" positionY="30.0"/>
2408+<place id="P1" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="45.0" positionY="195.0"/>
2409+<place id="P2" initialMarking="0" invariant="&lt;= 5" markingOffsetX="0.0" markingOffsetY="0.0" name="P2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="360.0" positionY="195.0"/>
2410+<place id="P3" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="225.0" positionY="390.0"/>
2411+<place id="P4" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P4" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="495.0" positionY="390.0"/>
2412+<place id="P5" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P5" nameOffsetX="48.0" nameOffsetY="8.0" positionX="360.0" positionY="570.0"/>
2413+<place id="P6" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P6" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="45.0" positionY="390.0"/>
2414+<place id="Target" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Target" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="210.0" positionY="735.0"/>
2415+<transition angle="180" id="T0" infiniteServer="false" name="T0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="135.0" positionY="120.0" priority="0" urgent="false"/>
2416+<transition angle="90" id="T1" infiniteServer="false" name="T1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="360.0" positionY="300.0" priority="0" urgent="false"/>
2417+<transition angle="90" id="T2" infiniteServer="false" name="T2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="360.0" positionY="480.0" priority="0" urgent="false"/>
2418+<transition angle="90" id="T3" infiniteServer="false" name="T3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="45.0" positionY="300.0" priority="0" urgent="false"/>
2419+<transition angle="0" id="T4" infiniteServer="false" name="T4" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="210.0" positionY="630.0" priority="0" urgent="true"/>
2420+<arc id="Start to T0" inscription="[2,4]" source="Start" target="T0" type="timed" weight="1">
2421+<arcpath arcPointType="false" id="0" xCoord="146" yCoord="56"/>
2422+<arcpath arcPointType="false" id="1" xCoord="146" yCoord="116"/>
2423+</arc>
2424+<arc id="P2 to T1" inscription="[2,6]" source="P2" target="T1" type="timed" weight="1">
2425+<arcpath arcPointType="false" id="0" xCoord="371" yCoord="221"/>
2426+<arcpath arcPointType="false" id="1" xCoord="371" yCoord="306"/>
2427+</arc>
2428+<arc id="P3 to T2" inscription="[2,5]" source="P3" target="T2" type="timed" weight="1">
2429+<arcpath arcPointType="false" id="0" xCoord="249" yCoord="410"/>
2430+<arcpath arcPointType="false" id="1" xCoord="366" yCoord="486"/>
2431+</arc>
2432+<arc id="P4 to T2" inscription="[1,3]" source="P4" target="T2" type="timed" weight="1">
2433+<arcpath arcPointType="false" id="0" xCoord="494" yCoord="410"/>
2434+<arcpath arcPointType="false" id="1" xCoord="376" yCoord="487"/>
2435+</arc>
2436+<arc id="P5 to T4" inscription="[0,inf)" source="P5" target="T4" type="timed" weight="2">
2437+<arcpath arcPointType="false" id="0" xCoord="358" yCoord="587"/>
2438+<arcpath arcPointType="false" id="1" xCoord="226" yCoord="642"/>
2439+</arc>
2440+<arc id="P6 to T4" inscription="[0,inf)" source="P6" target="T4" type="timed" weight="1">
2441+<arcpath arcPointType="false" id="0" xCoord="65" yCoord="414"/>
2442+<arcpath arcPointType="false" id="1" xCoord="216" yCoord="642"/>
2443+</arc>
2444+<arc id="T0 to P1" inscription="1" source="T0" target="P1" type="normal" weight="1">
2445+<arcpath arcPointType="false" id="0" xCoord="142" yCoord="131"/>
2446+<arcpath arcPointType="false" id="1" xCoord="68" yCoord="197"/>
2447+</arc>
2448+<arc id="T0 to P2" inscription="1" source="T0" target="P2" type="normal" weight="1">
2449+<arcpath arcPointType="false" id="0" xCoord="152" yCoord="131"/>
2450+<arcpath arcPointType="false" id="1" xCoord="357" yCoord="202"/>
2451+</arc>
2452+<arc id="T1 to P3" inscription="1" source="T1" target="P3" type="normal" weight="1">
2453+<arcpath arcPointType="false" id="0" xCoord="366" yCoord="316"/>
2454+<arcpath arcPointType="false" id="1" xCoord="249" yCoord="393"/>
2455+</arc>
2456+<arc id="T1 to P4" inscription="1" source="T1" target="P4" type="normal" weight="1">
2457+<arcpath arcPointType="false" id="0" xCoord="376" yCoord="317"/>
2458+<arcpath arcPointType="false" id="1" xCoord="494" yCoord="393"/>
2459+</arc>
2460+<arc id="T2 to P5" inscription="1" source="T2" target="P5" type="normal" weight="3">
2461+<arcpath arcPointType="false" id="0" xCoord="371" yCoord="496"/>
2462+<arcpath arcPointType="false" id="1" xCoord="371" yCoord="567"/>
2463+</arc>
2464+<arc id="T4 to Target" inscription="1" source="T4" target="Target" type="normal" weight="1">
2465+<arcpath arcPointType="false" id="0" xCoord="222" yCoord="657"/>
2466+<arcpath arcPointType="false" id="1" xCoord="222" yCoord="732"/>
2467+</arc>
2468+<arc id="P1 to T3" inscription="[4,7]:1" source="P1" target="T3" type="transport" weight="1">
2469+<arcpath arcPointType="false" id="0" xCoord="56" yCoord="221"/>
2470+<arcpath arcPointType="false" id="1" xCoord="56" yCoord="306"/>
2471+</arc>
2472+<arc id="T3 to P6" inscription="[4,7]:1" source="T3" target="P6" type="transport" weight="1">
2473+<arcpath arcPointType="false" id="0" xCoord="56" yCoord="316"/>
2474+<arcpath arcPointType="false" id="1" xCoord="56" yCoord="387"/>
2475+</arc>
2476+</net>
2477+<query active="true" approximationDenominator="2" capacity="3" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Target Reachable" overApproximation="true" pTrie="true" query="EF IntroExample.Target = 1" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="BFS" symmetry="true" timeDarts="false" traceOption="SOME"/>
2478+<k-bound bound="3"/>
2479+</pnml>
2480
2481=== removed file 'src/resources/Example nets/intro-example.xml'
2482--- src/resources/Example nets/intro-example.xml 2014-06-08 19:45:48 +0000
2483+++ src/resources/Example nets/intro-example.xml 1970-01-01 00:00:00 +0000
2484@@ -1,97 +0,0 @@
2485-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2486-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
2487-<net active="true" id="IntroExample" type="P/T net">
2488-<labels border="true" height="767" positionX="565" positionY="57" width="348">This is an example net to introduce the modelling, verification and simulation features of TAPAAL.
2489-
2490-The circles are called places and rectangles transitions. They are connected either by standard arcs from place to transition or transition to place, or they can be connected by transport arcs (these arcs always come in pairs) like from P1 to T3 and T3 to P6.
2491-
2492-Behaviour of the net is given by tokens. Each place can store any number of tokens and each token has its own real-time age. In our example there is initially one token of age 0 in the place Start.
2493-
2494-A transition can fire if in every of its input places there is at least one token of an age that fits into the interval placed on the corresponding arc. When transition fires a new token of age 0 is produced to any of its output places for the normal arcs. In case of trasport arc, the age of the token remains the same as the age of the consumed token. Also note that arcs can be weigthed, like the one from T2 to P5 with weight 3 (producing three fresh tokens) and the one from P5 to T4 (consuming two tokens).
2495-
2496-The place P2 contains so-called invariant &lt;=5. This means that any token in that place cannot be older than 5 time units. So another behaviour of the net are so called time-delays. This means that all tokens in the net grow older by a some amount of time, as long as none of the invariants are violated.
2497-
2498-Finally, the transition T4 (with a white dot) is an urgent transition, meaning that once it becomes enabled (the tokens arrive to the places P6 and P5), no time delay can happen and some of the currently enabled transitions have to fired. In our example only T4 will be enabled but in general there can be more enabled transitions and none of them has a priority over the other ones. Enabled urgent transition simply implies that time cannot delay.
2499-
2500------------------------------
2501-
2502-In our example we might want to know if it is possible by doing some time delays and transition firings to place a token into the place Target.
2503-
2504-The query "Target Reachable" in the upper right corner expressis this property. It moreover asks for fastest such trace. By clicking on "Verify" the verification will begin and ouput the trace allowing us to place a token into the place Targe. By clicking on the symbols &gt; and &lt; one can move back and force in the trace and investigate the intermediate markings.
2505-
2506-One may observe that 3 extra tokens are needed in the intermediate markings in order to reach the place Target. Indeed, this number of extra tokens is specified in the Query dialog and by clicking on "Check Boundedness", one can verify that 3 extra tokens are really enough for an exact analysis.
2507-
2508-This net is a workflow not and by going to menu Tools/Workflow analysis, one can see that it is not sound as there is a deadlock in the net.</labels>
2509-<place id="Start" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Start" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="135.0" positionY="30.0"/>
2510-<place id="P1" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="45.0" positionY="195.0"/>
2511-<place id="P2" initialMarking="0" invariant="&lt;= 5" markingOffsetX="0.0" markingOffsetY="0.0" name="P2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="360.0" positionY="195.0"/>
2512-<place id="P3" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="225.0" positionY="390.0"/>
2513-<place id="P4" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P4" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="495.0" positionY="390.0"/>
2514-<place id="P5" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P5" nameOffsetX="48.0" nameOffsetY="8.0" positionX="360.0" positionY="570.0"/>
2515-<place id="P6" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P6" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="45.0" positionY="390.0"/>
2516-<place id="Target" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Target" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="210.0" positionY="735.0"/>
2517-<transition angle="180" id="T0" infiniteServer="false" name="T0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="135.0" positionY="120.0" priority="0" urgent="false"/>
2518-<transition angle="90" id="T1" infiniteServer="false" name="T1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="360.0" positionY="300.0" priority="0" urgent="false"/>
2519-<transition angle="90" id="T2" infiniteServer="false" name="T2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="360.0" positionY="480.0" priority="0" urgent="false"/>
2520-<transition angle="90" id="T3" infiniteServer="false" name="T3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="45.0" positionY="300.0" priority="0" urgent="false"/>
2521-<transition angle="0" id="T4" infiniteServer="false" name="T4" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="210.0" positionY="630.0" priority="0" urgent="true"/>
2522-<arc id="Start to T0" inscription="[2,4]" source="Start" target="T0" type="timed" weight="1">
2523-<arcpath arcPointType="false" id="0" xCoord="146" yCoord="56"/>
2524-<arcpath arcPointType="false" id="1" xCoord="146" yCoord="116"/>
2525-</arc>
2526-<arc id="P2 to T1" inscription="[2,6]" source="P2" target="T1" type="timed" weight="1">
2527-<arcpath arcPointType="false" id="0" xCoord="371" yCoord="221"/>
2528-<arcpath arcPointType="false" id="1" xCoord="371" yCoord="306"/>
2529-</arc>
2530-<arc id="P3 to T2" inscription="[2,5]" source="P3" target="T2" type="timed" weight="1">
2531-<arcpath arcPointType="false" id="0" xCoord="249" yCoord="410"/>
2532-<arcpath arcPointType="false" id="1" xCoord="366" yCoord="486"/>
2533-</arc>
2534-<arc id="P4 to T2" inscription="[1,3]" source="P4" target="T2" type="timed" weight="1">
2535-<arcpath arcPointType="false" id="0" xCoord="494" yCoord="410"/>
2536-<arcpath arcPointType="false" id="1" xCoord="376" yCoord="487"/>
2537-</arc>
2538-<arc id="P5 to T4" inscription="[0,inf)" source="P5" target="T4" type="timed" weight="2">
2539-<arcpath arcPointType="false" id="0" xCoord="358" yCoord="587"/>
2540-<arcpath arcPointType="false" id="1" xCoord="226" yCoord="642"/>
2541-</arc>
2542-<arc id="P6 to T4" inscription="[0,inf)" source="P6" target="T4" type="timed" weight="1">
2543-<arcpath arcPointType="false" id="0" xCoord="65" yCoord="414"/>
2544-<arcpath arcPointType="false" id="1" xCoord="216" yCoord="642"/>
2545-</arc>
2546-<arc id="T0 to P1" inscription="1" source="T0" target="P1" type="normal" weight="1">
2547-<arcpath arcPointType="false" id="0" xCoord="142" yCoord="131"/>
2548-<arcpath arcPointType="false" id="1" xCoord="68" yCoord="197"/>
2549-</arc>
2550-<arc id="T0 to P2" inscription="1" source="T0" target="P2" type="normal" weight="1">
2551-<arcpath arcPointType="false" id="0" xCoord="152" yCoord="131"/>
2552-<arcpath arcPointType="false" id="1" xCoord="357" yCoord="202"/>
2553-</arc>
2554-<arc id="T1 to P3" inscription="1" source="T1" target="P3" type="normal" weight="1">
2555-<arcpath arcPointType="false" id="0" xCoord="366" yCoord="316"/>
2556-<arcpath arcPointType="false" id="1" xCoord="249" yCoord="393"/>
2557-</arc>
2558-<arc id="T1 to P4" inscription="1" source="T1" target="P4" type="normal" weight="1">
2559-<arcpath arcPointType="false" id="0" xCoord="376" yCoord="317"/>
2560-<arcpath arcPointType="false" id="1" xCoord="494" yCoord="393"/>
2561-</arc>
2562-<arc id="T2 to P5" inscription="1" source="T2" target="P5" type="normal" weight="3">
2563-<arcpath arcPointType="false" id="0" xCoord="371" yCoord="496"/>
2564-<arcpath arcPointType="false" id="1" xCoord="371" yCoord="567"/>
2565-</arc>
2566-<arc id="T4 to Target" inscription="1" source="T4" target="Target" type="normal" weight="1">
2567-<arcpath arcPointType="false" id="0" xCoord="222" yCoord="657"/>
2568-<arcpath arcPointType="false" id="1" xCoord="222" yCoord="732"/>
2569-</arc>
2570-<arc id="P1 to T3" inscription="[4,7]:1" source="P1" target="T3" type="transport" weight="1">
2571-<arcpath arcPointType="false" id="0" xCoord="56" yCoord="221"/>
2572-<arcpath arcPointType="false" id="1" xCoord="56" yCoord="306"/>
2573-</arc>
2574-<arc id="T3 to P6" inscription="[4,7]:1" source="T3" target="P6" type="transport" weight="1">
2575-<arcpath arcPointType="false" id="0" xCoord="56" yCoord="316"/>
2576-<arcpath arcPointType="false" id="1" xCoord="56" yCoord="387"/>
2577-</arc>
2578-</net>
2579-<query active="true" approximationDenominator="2" capacity="3" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Target Reachable" overApproximation="true" pTrie="true" query="EF IntroExample.Target = 1" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="BFS" symmetry="true" timeDarts="false" traceOption="SOME"/>
2580-<k-bound bound="3"/>
2581-</pnml>
2582
2583=== added file 'src/resources/Example nets/producer-consumer.tapn'
2584--- src/resources/Example nets/producer-consumer.tapn 1970-01-01 00:00:00 +0000
2585+++ src/resources/Example nets/producer-consumer.tapn 2018-08-11 09:29:00 +0000
2586@@ -0,0 +1,82 @@
2587+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2588+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
2589+<net active="true" id="ProducerConsumer" type="P/T net">
2590+<labels border="true" height="110" positionX="517" positionY="164" width="184">By firing the transition Transport the produced items are moved to the place Ready. Transport arcs are used for this purpose so that the age of each item is preserved.</labels>
2591+<labels border="true" height="80" positionX="844" positionY="83" width="169">Consumer is consuming (with certain time restrictions) items that have not yet reached the age of 3.</labels>
2592+<labels border="true" height="59" positionX="460" positionY="464" width="169">Items that reach the age of 3 have to be Collected into the Garbage place.</labels>
2593+<labels border="true" height="80" positionX="156" positionY="74" width="184">Producer is producing items with certain time restrictions
2594+and these items wait in place In_transit for Transport.</labels>
2595+<place id="Ready_to_produce" initialMarking="1" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Ready_to_produce" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="210.0" positionY="195.0"/>
2596+<place id="Recover" initialMarking="0" invariant="&lt;= 5" markingOffsetX="0.0" markingOffsetY="0.0" name="Recover" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="210.0" positionY="435.0"/>
2597+<place id="In_transit" initialMarking="0" invariant="&lt;= 3" markingOffsetX="0.0" markingOffsetY="0.0" name="In_transit" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="450.0" positionY="315.0"/>
2598+<place id="Ready_to_consume" initialMarking="1" invariant="&lt;= 7" markingOffsetX="0.0" markingOffsetY="0.0" name="Ready_to_consume" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="900.0" positionY="195.0"/>
2599+<place id="Get_ready" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Get_ready" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="900.0" positionY="435.0"/>
2600+<place id="Ready" initialMarking="0" invariant="&lt;= 3" markingOffsetX="0.0" markingOffsetY="0.0" name="Ready" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="690.0" positionY="315.0"/>
2601+<place id="Garbage" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Garbage" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="690.0" positionY="555.0"/>
2602+<transition angle="0" id="Produce" infiniteServer="false" name="Produce" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="300.0" positionY="315.0" priority="0" urgent="false"/>
2603+<transition angle="0" id="Recovering" infiniteServer="false" name="Recovering" nameOffsetX="-5.0" nameOffsetY="34.0" positionX="120.0" positionY="315.0" priority="0" urgent="false"/>
2604+<transition angle="0" id="Consume" infiniteServer="false" name="Consume" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="810.0" positionY="315.0" priority="0" urgent="false"/>
2605+<transition angle="0" id="Done" infiniteServer="false" name="Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="990.0" positionY="315.0" priority="0" urgent="false"/>
2606+<transition angle="0" id="Transport" infiniteServer="false" name="Transport" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="570.0" positionY="315.0" priority="0" urgent="false"/>
2607+<transition angle="0" id="Collect" infiniteServer="false" name="Collect" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="690.0" positionY="435.0" priority="0" urgent="false"/>
2608+<arc id="Ready_to_produce to Produce" inscription="[0,2]" source="Ready_to_produce" target="Produce" type="timed" weight="1">
2609+<arcpath arcPointType="false" id="0" xCoord="230" yCoord="219"/>
2610+<arcpath arcPointType="false" id="1" xCoord="307" yCoord="322"/>
2611+</arc>
2612+<arc id="Recover to Recovering" inscription="[3,5]" source="Recover" target="Recovering" type="timed" weight="1">
2613+<arcpath arcPointType="false" id="0" xCoord="213" yCoord="434"/>
2614+<arcpath arcPointType="false" id="1" xCoord="136" yCoord="332"/>
2615+</arc>
2616+<arc id="Ready_to_consume to Consume" inscription="[4,7]" source="Ready_to_consume" target="Consume" type="timed" weight="1">
2617+<arcpath arcPointType="false" id="0" xCoord="903" yCoord="219"/>
2618+<arcpath arcPointType="false" id="1" xCoord="827" yCoord="322"/>
2619+</arc>
2620+<arc id="Get_ready to Done" inscription="[3,6]" source="Get_ready" target="Done" type="timed" weight="1">
2621+<arcpath arcPointType="false" id="0" xCoord="920" yCoord="434"/>
2622+<arcpath arcPointType="false" id="1" xCoord="996" yCoord="332"/>
2623+</arc>
2624+<arc id="Ready to Consume" inscription="[0,3]" source="Ready" target="Consume" type="timed" weight="1">
2625+<arcpath arcPointType="false" id="0" xCoord="716" yCoord="327"/>
2626+<arcpath arcPointType="false" id="1" xCoord="816" yCoord="327"/>
2627+</arc>
2628+<arc id="Ready to Collect" inscription="[3,inf)" source="Ready" target="Collect" type="timed" weight="1">
2629+<arcpath arcPointType="false" id="0" xCoord="702" yCoord="341"/>
2630+<arcpath arcPointType="false" id="1" xCoord="702" yCoord="432"/>
2631+</arc>
2632+<arc id="Produce to Recover" inscription="1" source="Produce" target="Recover" type="normal" weight="1">
2633+<arcpath arcPointType="false" id="0" xCoord="306" yCoord="332"/>
2634+<arcpath arcPointType="false" id="1" xCoord="230" yCoord="434"/>
2635+</arc>
2636+<arc id="Produce to In_transit" inscription="1" source="Produce" target="In_transit" type="normal" weight="1">
2637+<arcpath arcPointType="false" id="0" xCoord="316" yCoord="327"/>
2638+<arcpath arcPointType="false" id="1" xCoord="447" yCoord="327"/>
2639+</arc>
2640+<arc id="Recovering to Ready_to_produce" inscription="1" source="Recovering" target="Ready_to_produce" type="normal" weight="1">
2641+<arcpath arcPointType="false" id="0" xCoord="137" yCoord="322"/>
2642+<arcpath arcPointType="false" id="1" xCoord="213" yCoord="219"/>
2643+</arc>
2644+<arc id="Consume to Get_ready" inscription="1" source="Consume" target="Get_ready" type="normal" weight="1">
2645+<arcpath arcPointType="false" id="0" xCoord="826" yCoord="332"/>
2646+<arcpath arcPointType="false" id="1" xCoord="903" yCoord="434"/>
2647+</arc>
2648+<arc id="Done to Ready_to_consume" inscription="1" source="Done" target="Ready_to_consume" type="normal" weight="1">
2649+<arcpath arcPointType="false" id="0" xCoord="997" yCoord="322"/>
2650+<arcpath arcPointType="false" id="1" xCoord="920" yCoord="219"/>
2651+</arc>
2652+<arc id="In_transit to Transport" inscription="[1,3]:1" source="In_transit" target="Transport" type="transport" weight="1">
2653+<arcpath arcPointType="false" id="0" xCoord="476" yCoord="327"/>
2654+<arcpath arcPointType="false" id="1" xCoord="576" yCoord="327"/>
2655+</arc>
2656+<arc id="Transport to Ready" inscription="[1,3]:1" source="Transport" target="Ready" type="transport" weight="1">
2657+<arcpath arcPointType="false" id="0" xCoord="586" yCoord="327"/>
2658+<arcpath arcPointType="false" id="1" xCoord="687" yCoord="327"/>
2659+</arc>
2660+<arc id="Collect to Garbage" inscription="1" source="Collect" target="Garbage" type="normal" weight="1">
2661+<arcpath arcPointType="false" id="0" xCoord="702" yCoord="462"/>
2662+<arcpath arcPointType="false" id="1" xCoord="702" yCoord="552"/>
2663+</arc>
2664+</net>
2665+<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Three in Garbage" overApproximation="true" pTrie="true" query="EF ProducerConsumer.Garbage = 3" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="SOME"/>
2666+<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="false" hashTableSize="null" inclusionPlaces="*NONE*" name="Avoid Garbage" overApproximation="false" pTrie="true" query="EG ProducerConsumer.Garbage = 0" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="DFS" symmetry="true" timeDarts="true" traceOption="SOME"/>
2667+<k-bound bound="3"/>
2668+</pnml>
2669
2670=== removed file 'src/resources/Example nets/producer-consumer.xml'
2671--- src/resources/Example nets/producer-consumer.xml 2014-06-08 19:45:48 +0000
2672+++ src/resources/Example nets/producer-consumer.xml 1970-01-01 00:00:00 +0000
2673@@ -1,82 +0,0 @@
2674-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2675-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
2676-<net active="true" id="ProducerConsumer" type="P/T net">
2677-<labels border="true" height="110" positionX="517" positionY="164" width="184">By firing the transition Transport the produced items are moved to the place Ready. Transport arcs are used for this purpose so that the age of each item is preserved.</labels>
2678-<labels border="true" height="80" positionX="844" positionY="83" width="169">Consumer is consuming (with certain time restrictions) items that have not yet reached the age of 3.</labels>
2679-<labels border="true" height="59" positionX="460" positionY="464" width="169">Items that reach the age of 3 have to be Collected into the Garbage place.</labels>
2680-<labels border="true" height="80" positionX="156" positionY="74" width="184">Producer is producing items with certain time restrictions
2681-and these items wait in place In_transit for Transport.</labels>
2682-<place id="Ready_to_produce" initialMarking="1" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="Ready_to_produce" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="210.0" positionY="195.0"/>
2683-<place id="Recover" initialMarking="0" invariant="&lt;= 5" markingOffsetX="0.0" markingOffsetY="0.0" name="Recover" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="210.0" positionY="435.0"/>
2684-<place id="In_transit" initialMarking="0" invariant="&lt;= 3" markingOffsetX="0.0" markingOffsetY="0.0" name="In_transit" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="450.0" positionY="315.0"/>
2685-<place id="Ready_to_consume" initialMarking="1" invariant="&lt;= 7" markingOffsetX="0.0" markingOffsetY="0.0" name="Ready_to_consume" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="900.0" positionY="195.0"/>
2686-<place id="Get_ready" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="Get_ready" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="900.0" positionY="435.0"/>
2687-<place id="Ready" initialMarking="0" invariant="&lt;= 3" markingOffsetX="0.0" markingOffsetY="0.0" name="Ready" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="690.0" positionY="315.0"/>
2688-<place id="Garbage" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Garbage" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="690.0" positionY="555.0"/>
2689-<transition angle="0" id="Produce" infiniteServer="false" name="Produce" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="300.0" positionY="315.0" priority="0" urgent="false"/>
2690-<transition angle="0" id="Recovering" infiniteServer="false" name="Recovering" nameOffsetX="-5.0" nameOffsetY="34.0" positionX="120.0" positionY="315.0" priority="0" urgent="false"/>
2691-<transition angle="0" id="Consume" infiniteServer="false" name="Consume" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="810.0" positionY="315.0" priority="0" urgent="false"/>
2692-<transition angle="0" id="Done" infiniteServer="false" name="Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="990.0" positionY="315.0" priority="0" urgent="false"/>
2693-<transition angle="0" id="Transport" infiniteServer="false" name="Transport" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="570.0" positionY="315.0" priority="0" urgent="false"/>
2694-<transition angle="0" id="Collect" infiniteServer="false" name="Collect" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="690.0" positionY="435.0" priority="0" urgent="false"/>
2695-<arc id="Ready_to_produce to Produce" inscription="[0,2]" source="Ready_to_produce" target="Produce" type="timed" weight="1">
2696-<arcpath arcPointType="false" id="0" xCoord="230" yCoord="219"/>
2697-<arcpath arcPointType="false" id="1" xCoord="307" yCoord="322"/>
2698-</arc>
2699-<arc id="Recover to Recovering" inscription="[3,5]" source="Recover" target="Recovering" type="timed" weight="1">
2700-<arcpath arcPointType="false" id="0" xCoord="213" yCoord="434"/>
2701-<arcpath arcPointType="false" id="1" xCoord="136" yCoord="332"/>
2702-</arc>
2703-<arc id="Ready_to_consume to Consume" inscription="[4,7]" source="Ready_to_consume" target="Consume" type="timed" weight="1">
2704-<arcpath arcPointType="false" id="0" xCoord="903" yCoord="219"/>
2705-<arcpath arcPointType="false" id="1" xCoord="827" yCoord="322"/>
2706-</arc>
2707-<arc id="Get_ready to Done" inscription="[3,6]" source="Get_ready" target="Done" type="timed" weight="1">
2708-<arcpath arcPointType="false" id="0" xCoord="920" yCoord="434"/>
2709-<arcpath arcPointType="false" id="1" xCoord="996" yCoord="332"/>
2710-</arc>
2711-<arc id="Ready to Consume" inscription="[0,3]" source="Ready" target="Consume" type="timed" weight="1">
2712-<arcpath arcPointType="false" id="0" xCoord="716" yCoord="327"/>
2713-<arcpath arcPointType="false" id="1" xCoord="816" yCoord="327"/>
2714-</arc>
2715-<arc id="Ready to Collect" inscription="[3,inf)" source="Ready" target="Collect" type="timed" weight="1">
2716-<arcpath arcPointType="false" id="0" xCoord="702" yCoord="341"/>
2717-<arcpath arcPointType="false" id="1" xCoord="702" yCoord="432"/>
2718-</arc>
2719-<arc id="Produce to Recover" inscription="1" source="Produce" target="Recover" type="normal" weight="1">
2720-<arcpath arcPointType="false" id="0" xCoord="306" yCoord="332"/>
2721-<arcpath arcPointType="false" id="1" xCoord="230" yCoord="434"/>
2722-</arc>
2723-<arc id="Produce to In_transit" inscription="1" source="Produce" target="In_transit" type="normal" weight="1">
2724-<arcpath arcPointType="false" id="0" xCoord="316" yCoord="327"/>
2725-<arcpath arcPointType="false" id="1" xCoord="447" yCoord="327"/>
2726-</arc>
2727-<arc id="Recovering to Ready_to_produce" inscription="1" source="Recovering" target="Ready_to_produce" type="normal" weight="1">
2728-<arcpath arcPointType="false" id="0" xCoord="137" yCoord="322"/>
2729-<arcpath arcPointType="false" id="1" xCoord="213" yCoord="219"/>
2730-</arc>
2731-<arc id="Consume to Get_ready" inscription="1" source="Consume" target="Get_ready" type="normal" weight="1">
2732-<arcpath arcPointType="false" id="0" xCoord="826" yCoord="332"/>
2733-<arcpath arcPointType="false" id="1" xCoord="903" yCoord="434"/>
2734-</arc>
2735-<arc id="Done to Ready_to_consume" inscription="1" source="Done" target="Ready_to_consume" type="normal" weight="1">
2736-<arcpath arcPointType="false" id="0" xCoord="997" yCoord="322"/>
2737-<arcpath arcPointType="false" id="1" xCoord="920" yCoord="219"/>
2738-</arc>
2739-<arc id="In_transit to Transport" inscription="[1,3]:1" source="In_transit" target="Transport" type="transport" weight="1">
2740-<arcpath arcPointType="false" id="0" xCoord="476" yCoord="327"/>
2741-<arcpath arcPointType="false" id="1" xCoord="576" yCoord="327"/>
2742-</arc>
2743-<arc id="Transport to Ready" inscription="[1,3]:1" source="Transport" target="Ready" type="transport" weight="1">
2744-<arcpath arcPointType="false" id="0" xCoord="586" yCoord="327"/>
2745-<arcpath arcPointType="false" id="1" xCoord="687" yCoord="327"/>
2746-</arc>
2747-<arc id="Collect to Garbage" inscription="1" source="Collect" target="Garbage" type="normal" weight="1">
2748-<arcpath arcPointType="false" id="0" xCoord="702" yCoord="462"/>
2749-<arcpath arcPointType="false" id="1" xCoord="702" yCoord="552"/>
2750-</arc>
2751-</net>
2752-<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Three in Garbage" overApproximation="true" pTrie="true" query="EF ProducerConsumer.Garbage = 3" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="SOME"/>
2753-<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="false" hashTableSize="null" inclusionPlaces="*NONE*" name="Avoid Garbage" overApproximation="false" pTrie="true" query="EG ProducerConsumer.Garbage = 0" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="DFS" symmetry="true" timeDarts="true" traceOption="SOME"/>
2754-<k-bound bound="3"/>
2755-</pnml>
2756
2757=== added file 'src/resources/Example nets/shortest-path.tapn'
2758--- src/resources/Example nets/shortest-path.tapn 1970-01-01 00:00:00 +0000
2759+++ src/resources/Example nets/shortest-path.tapn 2018-08-11 09:29:00 +0000
2760@@ -0,0 +1,188 @@
2761+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2762+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
2763+<constant name="MaxDistance" value="17"/>
2764+<net active="true" id="InputGraph" type="P/T net">
2765+<labels border="true" height="134" positionX="25" positionY="535" width="330">The model implements the shortest path algorithm based on flooding. Simply pour water into the StartNode and measure if the water will arrive to the FinalNode within the given bound in the constant ShortestDistance. The weights of the edges are simly encoded as the intervals in the transport arcs that restrict the delay before tokens can be placed into the output places of the transitions.
2766+
2767+If the FinalNode can be reached within the given limit, the simulation shows one such path leading to the final node.</labels>
2768+<place id="StartNode" initialMarking="1" invariant="&lt;= MaxDistance" markingOffsetX="0.0" markingOffsetY="0.0" name="StartNode" nameOffsetX="32.0" nameOffsetY="-32.0" positionX="135.0" positionY="300.0"/>
2769+<place id="P1" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="360.0" positionY="45.0"/>
2770+<place id="P2" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="375.0" positionY="480.0"/>
2771+<place id="P3" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="750.0" positionY="45.0"/>
2772+<place id="FinalNode" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="FinalNode" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="750.0" positionY="480.0"/>
2773+<place id="P5" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P5" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="570.0" positionY="255.0"/>
2774+<transition angle="135" id="T0" infiniteServer="false" name="T0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="255.0" positionY="180.0" priority="0" urgent="false"/>
2775+<transition angle="225" id="T1" infiniteServer="false" name="T1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="255.0" positionY="405.0" priority="0" urgent="false"/>
2776+<transition angle="90" id="T2" infiniteServer="false" name="T2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="375.0" positionY="270.0" priority="0" urgent="false"/>
2777+<transition angle="0" id="T3" infiniteServer="false" name="T3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="570.0" positionY="45.0" priority="0" urgent="false"/>
2778+<transition angle="270" id="T4" infiniteServer="false" name="T4" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="765.0" positionY="255.0" priority="0" urgent="false"/>
2779+<transition angle="0" id="T5" infiniteServer="false" name="T5" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="570.0" positionY="480.0" priority="0" urgent="false"/>
2780+<transition angle="135" id="T6" infiniteServer="false" name="T6" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="495.0" positionY="345.0" priority="0" urgent="false"/>
2781+<transition angle="45" id="T7" infiniteServer="false" name="T7" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="660.0" positionY="360.0" priority="0" urgent="false"/>
2782+<transition angle="135" id="T8" infiniteServer="false" name="T8" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="645.0" positionY="150.0" priority="0" urgent="false"/>
2783+<arc id="StartNode to T0" inscription="[5,5]:1" source="StartNode" target="T0" type="transport" weight="1">
2784+<arcpath arcPointType="false" id="0" xCoord="157" yCoord="301"/>
2785+<arcpath arcPointType="false" id="1" xCoord="259" yCoord="191"/>
2786+</arc>
2787+<arc id="T0 to StartNode" inscription="[5,5]:1" source="T0" target="StartNode" type="transport" weight="1">
2788+<arcpath arcPointType="false" id="0" xCoord="266" yCoord="199"/>
2789+<arcpath arcPointType="true" id="1" xCoord="229" yCoord="274"/>
2790+<arcpath arcPointType="false" id="2" xCoord="160" yCoord="305"/>
2791+</arc>
2792+<arc id="StartNode to T1" inscription="[8,8]:1" source="StartNode" target="T1" type="transport" weight="1">
2793+<arcpath arcPointType="false" id="0" xCoord="158" yCoord="321"/>
2794+<arcpath arcPointType="false" id="1" xCoord="267" yCoord="409"/>
2795+</arc>
2796+<arc id="T1 to StartNode" inscription="[8,8]:1" source="T1" target="StartNode" type="transport" weight="1">
2797+<arcpath arcPointType="false" id="0" xCoord="259" yCoord="416"/>
2798+<arcpath arcPointType="true" id="1" xCoord="199" yCoord="394"/>
2799+<arcpath arcPointType="false" id="2" xCoord="155" yCoord="324"/>
2800+</arc>
2801+<arc id="P1 to T2" inscription="[2,2]:1" source="P1" target="T2" type="transport" weight="1">
2802+<arcpath arcPointType="false" id="0" xCoord="372" yCoord="71"/>
2803+<arcpath arcPointType="false" id="1" xCoord="381" yCoord="276"/>
2804+</arc>
2805+<arc id="T2 to P1" inscription="[2,2]:1" source="T2" target="P1" type="transport" weight="1">
2806+<arcpath arcPointType="false" id="0" xCoord="391" yCoord="277"/>
2807+<arcpath arcPointType="true" id="1" xCoord="424" yCoord="184"/>
2808+<arcpath arcPointType="false" id="2" xCoord="377" yCoord="70"/>
2809+</arc>
2810+<arc id="P2 to T5" inscription="[11,11]:1" source="P2" target="T5" type="transport" weight="1">
2811+<arcpath arcPointType="false" id="0" xCoord="401" yCoord="491"/>
2812+<arcpath arcPointType="false" id="1" xCoord="577" yCoord="487"/>
2813+</arc>
2814+<arc id="T5 to P2" inscription="[11,11]:1" source="T5" target="P2" type="transport" weight="1">
2815+<arcpath arcPointType="false" id="0" xCoord="576" yCoord="497"/>
2816+<arcpath arcPointType="true" id="1" xCoord="514" yCoord="514"/>
2817+<arcpath arcPointType="false" id="2" xCoord="401" yCoord="494"/>
2818+</arc>
2819+<arc id="P1 to T3" inscription="[6,6]:1" source="P1" target="T3" type="transport" weight="1">
2820+<arcpath arcPointType="false" id="0" xCoord="386" yCoord="56"/>
2821+<arcpath arcPointType="false" id="1" xCoord="577" yCoord="52"/>
2822+</arc>
2823+<arc id="T3 to P1" inscription="[6,6]:1" source="T3" target="P1" type="transport" weight="1">
2824+<arcpath arcPointType="false" id="0" xCoord="576" yCoord="62"/>
2825+<arcpath arcPointType="true" id="1" xCoord="484" yCoord="79"/>
2826+<arcpath arcPointType="false" id="2" xCoord="386" yCoord="59"/>
2827+</arc>
2828+<arc id="P3 to T4" inscription="[7,7]:1" source="P3" target="T4" type="transport" weight="1">
2829+<arcpath arcPointType="false" id="0" xCoord="762" yCoord="71"/>
2830+<arcpath arcPointType="false" id="1" xCoord="772" yCoord="261"/>
2831+</arc>
2832+<arc id="T4 to P3" inscription="[7,7]:1" source="T4" target="P3" type="transport" weight="1">
2833+<arcpath arcPointType="false" id="0" xCoord="782" yCoord="262"/>
2834+<arcpath arcPointType="true" id="1" xCoord="799" yCoord="169"/>
2835+<arcpath arcPointType="false" id="2" xCoord="766" yCoord="71"/>
2836+</arc>
2837+<arc id="P1 to T0" inscription="[0,inf)" source="P1" target="T0" type="tapnInhibitor" weight="1">
2838+<arcpath arcPointType="false" id="0" xCoord="360" yCoord="66"/>
2839+<arcpath arcPointType="true" id="1" xCoord="304" yCoord="124"/>
2840+<arcpath arcPointType="false" id="2" xCoord="266" yCoord="184"/>
2841+</arc>
2842+<arc id="P2 to T1" inscription="[0,inf)" source="P2" target="T1" type="tapnInhibitor" weight="1">
2843+<arcpath arcPointType="false" id="0" xCoord="378" yCoord="479"/>
2844+<arcpath arcPointType="true" id="1" xCoord="334" yCoord="439"/>
2845+<arcpath arcPointType="false" id="2" xCoord="274" yCoord="416"/>
2846+</arc>
2847+<arc id="P3 to T3" inscription="[0,inf)" source="P3" target="T3" type="tapnInhibitor" weight="1">
2848+<arcpath arcPointType="false" id="0" xCoord="748" yCoord="62"/>
2849+<arcpath arcPointType="true" id="1" xCoord="649" yCoord="79"/>
2850+<arcpath arcPointType="false" id="2" xCoord="586" yCoord="62"/>
2851+</arc>
2852+<arc id="FinalNode to T5" inscription="[0,inf)" source="FinalNode" target="T5" type="tapnInhibitor" weight="1">
2853+<arcpath arcPointType="false" id="0" xCoord="747" yCoord="489"/>
2854+<arcpath arcPointType="true" id="1" xCoord="664" yCoord="484"/>
2855+<arcpath arcPointType="false" id="2" xCoord="587" yCoord="487"/>
2856+</arc>
2857+<arc id="FinalNode to T4" inscription="[0,inf)" source="FinalNode" target="T4" type="tapnInhibitor" weight="1">
2858+<arcpath arcPointType="false" id="0" xCoord="769" yCoord="478"/>
2859+<arcpath arcPointType="true" id="1" xCoord="799" yCoord="364"/>
2860+<arcpath arcPointType="false" id="2" xCoord="782" yCoord="272"/>
2861+</arc>
2862+<arc id="T1 to P2" inscription="1" source="T1" target="P2" type="normal" weight="1">
2863+<arcpath arcPointType="false" id="0" xCoord="267" yCoord="423"/>
2864+<arcpath arcPointType="false" id="1" xCoord="373" yCoord="484"/>
2865+</arc>
2866+<arc id="T0 to P1" inscription="1" source="T0" target="P1" type="normal" weight="1">
2867+<arcpath arcPointType="false" id="0" xCoord="273" yCoord="191"/>
2868+<arcpath arcPointType="false" id="1" xCoord="363" yCoord="69"/>
2869+</arc>
2870+<arc id="T5 to FinalNode" inscription="1" source="T5" target="FinalNode" type="normal" weight="1">
2871+<arcpath arcPointType="false" id="0" xCoord="586" yCoord="497"/>
2872+<arcpath arcPointType="false" id="1" xCoord="747" yCoord="492"/>
2873+</arc>
2874+<arc id="T3 to P3" inscription="1" source="T3" target="P3" type="normal" weight="1">
2875+<arcpath arcPointType="false" id="0" xCoord="587" yCoord="52"/>
2876+<arcpath arcPointType="false" id="1" xCoord="747" yCoord="56"/>
2877+</arc>
2878+<arc id="T4 to FinalNode" inscription="1" source="T4" target="FinalNode" type="normal" weight="1">
2879+<arcpath arcPointType="false" id="0" xCoord="772" yCoord="271"/>
2880+<arcpath arcPointType="false" id="1" xCoord="762" yCoord="477"/>
2881+</arc>
2882+<arc id="T2 to P2" inscription="1" source="T2" target="P2" type="normal" weight="1">
2883+<arcpath arcPointType="false" id="0" xCoord="381" yCoord="286"/>
2884+<arcpath arcPointType="false" id="1" xCoord="386" yCoord="477"/>
2885+</arc>
2886+<arc id="P2 to T2" inscription="[0,inf)" source="P2" target="T2" type="tapnInhibitor" weight="1">
2887+<arcpath arcPointType="false" id="0" xCoord="392" yCoord="477"/>
2888+<arcpath arcPointType="true" id="1" xCoord="409" yCoord="349"/>
2889+<arcpath arcPointType="false" id="2" xCoord="391" yCoord="287"/>
2890+</arc>
2891+<arc id="P2 to T6" inscription="[6,6]:1" source="P2" target="T6" type="transport" weight="1">
2892+<arcpath arcPointType="false" id="0" xCoord="396" yCoord="480"/>
2893+<arcpath arcPointType="false" id="1" xCoord="499" yCoord="356"/>
2894+</arc>
2895+<arc id="T6 to P2" inscription="[6,6]:1" source="T6" target="P2" type="transport" weight="1">
2896+<arcpath arcPointType="false" id="0" xCoord="506" yCoord="364"/>
2897+<arcpath arcPointType="true" id="1" xCoord="499" yCoord="409"/>
2898+<arcpath arcPointType="false" id="2" xCoord="399" yCoord="483"/>
2899+</arc>
2900+<arc id="P5 to T7" inscription="[4,4]:1" source="P5" target="T7" type="transport" weight="1">
2901+<arcpath arcPointType="false" id="0" xCoord="591" yCoord="278"/>
2902+<arcpath arcPointType="false" id="1" xCoord="664" yCoord="372"/>
2903+</arc>
2904+<arc id="T7 to P5" inscription="[4,4]:1" source="T7" target="P5" type="transport" weight="1">
2905+<arcpath arcPointType="false" id="0" xCoord="671" yCoord="365"/>
2906+<arcpath arcPointType="true" id="1" xCoord="649" yCoord="304"/>
2907+<arcpath arcPointType="false" id="2" xCoord="595" yCoord="274"/>
2908+</arc>
2909+<arc id="P5 to T6" inscription="[0,inf)" source="P5" target="T6" type="tapnInhibitor" weight="1">
2910+<arcpath arcPointType="false" id="0" xCoord="568" yCoord="272"/>
2911+<arcpath arcPointType="true" id="1" xCoord="529" yCoord="304"/>
2912+<arcpath arcPointType="false" id="2" xCoord="506" yCoord="349"/>
2913+</arc>
2914+<arc id="FinalNode to T7" inscription="[0,inf)" source="FinalNode" target="T7" type="tapnInhibitor" weight="1">
2915+<arcpath arcPointType="false" id="0" xCoord="760" yCoord="477"/>
2916+<arcpath arcPointType="true" id="1" xCoord="739" yCoord="424"/>
2917+<arcpath arcPointType="false" id="2" xCoord="679" yCoord="372"/>
2918+</arc>
2919+<arc id="T6 to P5" inscription="1" source="T6" target="P5" type="normal" weight="1">
2920+<arcpath arcPointType="false" id="0" xCoord="513" yCoord="356"/>
2921+<arcpath arcPointType="false" id="1" xCoord="572" yCoord="278"/>
2922+</arc>
2923+<arc id="T7 to FinalNode" inscription="1" source="T7" target="FinalNode" type="normal" weight="1">
2924+<arcpath arcPointType="false" id="0" xCoord="671" yCoord="379"/>
2925+<arcpath arcPointType="false" id="1" xCoord="752" yCoord="480"/>
2926+</arc>
2927+<arc id="P3 to T8" inscription="[3,3]:1" source="P3" target="T8" type="transport" weight="1">
2928+<arcpath arcPointType="false" id="0" xCoord="750" yCoord="67"/>
2929+<arcpath arcPointType="false" id="1" xCoord="656" yCoord="154"/>
2930+</arc>
2931+<arc id="T8 to P3" inscription="[3,3]:1" source="T8" target="P3" type="transport" weight="1">
2932+<arcpath arcPointType="false" id="0" xCoord="663" yCoord="161"/>
2933+<arcpath arcPointType="true" id="1" xCoord="724" yCoord="139"/>
2934+<arcpath arcPointType="false" id="2" xCoord="755" yCoord="70"/>
2935+</arc>
2936+<arc id="P5 to T8" inscription="[0,inf)" source="P5" target="T8" type="tapnInhibitor" weight="1">
2937+<arcpath arcPointType="false" id="0" xCoord="587" yCoord="253"/>
2938+<arcpath arcPointType="true" id="1" xCoord="619" yCoord="199"/>
2939+<arcpath arcPointType="false" id="2" xCoord="649" yCoord="161"/>
2940+</arc>
2941+<arc id="T8 to P5" inscription="1" source="T8" target="P5" type="normal" weight="1">
2942+<arcpath arcPointType="false" id="0" xCoord="656" yCoord="169"/>
2943+<arcpath arcPointType="false" id="1" xCoord="591" yCoord="255"/>
2944+</arc>
2945+</net>
2946+<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Distance to FinalNode less than MaxDistance" overApproximation="true" pTrie="true" query="EF InputGraph.FinalNode &gt;= 1" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="SOME"/>
2947+<k-bound bound="3"/>
2948+</pnml>
2949
2950=== removed file 'src/resources/Example nets/shortest-path.xml'
2951--- src/resources/Example nets/shortest-path.xml 2014-06-08 19:45:48 +0000
2952+++ src/resources/Example nets/shortest-path.xml 1970-01-01 00:00:00 +0000
2953@@ -1,188 +0,0 @@
2954-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2955-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
2956-<constant name="MaxDistance" value="17"/>
2957-<net active="true" id="InputGraph" type="P/T net">
2958-<labels border="true" height="134" positionX="25" positionY="535" width="330">The model implements the shortest path algorithm based on flooding. Simply pour water into the StartNode and measure if the water will arrive to the FinalNode within the given bound in the constant ShortestDistance. The weights of the edges are simly encoded as the intervals in the transport arcs that restrict the delay before tokens can be placed into the output places of the transitions.
2959-
2960-If the FinalNode can be reached within the given limit, the simulation shows one such path leading to the final node.</labels>
2961-<place id="StartNode" initialMarking="1" invariant="&lt;= MaxDistance" markingOffsetX="0.0" markingOffsetY="0.0" name="StartNode" nameOffsetX="32.0" nameOffsetY="-32.0" positionX="135.0" positionY="300.0"/>
2962-<place id="P1" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="360.0" positionY="45.0"/>
2963-<place id="P2" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="375.0" positionY="480.0"/>
2964-<place id="P3" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="750.0" positionY="45.0"/>
2965-<place id="FinalNode" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="FinalNode" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="750.0" positionY="480.0"/>
2966-<place id="P5" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P5" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="570.0" positionY="255.0"/>
2967-<transition angle="135" id="T0" infiniteServer="false" name="T0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="255.0" positionY="180.0" priority="0" urgent="false"/>
2968-<transition angle="225" id="T1" infiniteServer="false" name="T1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="255.0" positionY="405.0" priority="0" urgent="false"/>
2969-<transition angle="90" id="T2" infiniteServer="false" name="T2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="375.0" positionY="270.0" priority="0" urgent="false"/>
2970-<transition angle="0" id="T3" infiniteServer="false" name="T3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="570.0" positionY="45.0" priority="0" urgent="false"/>
2971-<transition angle="270" id="T4" infiniteServer="false" name="T4" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="765.0" positionY="255.0" priority="0" urgent="false"/>
2972-<transition angle="0" id="T5" infiniteServer="false" name="T5" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="570.0" positionY="480.0" priority="0" urgent="false"/>
2973-<transition angle="135" id="T6" infiniteServer="false" name="T6" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="495.0" positionY="345.0" priority="0" urgent="false"/>
2974-<transition angle="45" id="T7" infiniteServer="false" name="T7" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="660.0" positionY="360.0" priority="0" urgent="false"/>
2975-<transition angle="135" id="T8" infiniteServer="false" name="T8" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="645.0" positionY="150.0" priority="0" urgent="false"/>
2976-<arc id="StartNode to T0" inscription="[5,5]:1" source="StartNode" target="T0" type="transport" weight="1">
2977-<arcpath arcPointType="false" id="0" xCoord="157" yCoord="301"/>
2978-<arcpath arcPointType="false" id="1" xCoord="259" yCoord="191"/>
2979-</arc>
2980-<arc id="T0 to StartNode" inscription="[5,5]:1" source="T0" target="StartNode" type="transport" weight="1">
2981-<arcpath arcPointType="false" id="0" xCoord="266" yCoord="199"/>
2982-<arcpath arcPointType="true" id="1" xCoord="229" yCoord="274"/>
2983-<arcpath arcPointType="false" id="2" xCoord="160" yCoord="305"/>
2984-</arc>
2985-<arc id="StartNode to T1" inscription="[8,8]:1" source="StartNode" target="T1" type="transport" weight="1">
2986-<arcpath arcPointType="false" id="0" xCoord="158" yCoord="321"/>
2987-<arcpath arcPointType="false" id="1" xCoord="267" yCoord="409"/>
2988-</arc>
2989-<arc id="T1 to StartNode" inscription="[8,8]:1" source="T1" target="StartNode" type="transport" weight="1">
2990-<arcpath arcPointType="false" id="0" xCoord="259" yCoord="416"/>
2991-<arcpath arcPointType="true" id="1" xCoord="199" yCoord="394"/>
2992-<arcpath arcPointType="false" id="2" xCoord="155" yCoord="324"/>
2993-</arc>
2994-<arc id="P1 to T2" inscription="[2,2]:1" source="P1" target="T2" type="transport" weight="1">
2995-<arcpath arcPointType="false" id="0" xCoord="372" yCoord="71"/>
2996-<arcpath arcPointType="false" id="1" xCoord="381" yCoord="276"/>
2997-</arc>
2998-<arc id="T2 to P1" inscription="[2,2]:1" source="T2" target="P1" type="transport" weight="1">
2999-<arcpath arcPointType="false" id="0" xCoord="391" yCoord="277"/>
3000-<arcpath arcPointType="true" id="1" xCoord="424" yCoord="184"/>
3001-<arcpath arcPointType="false" id="2" xCoord="377" yCoord="70"/>
3002-</arc>
3003-<arc id="P2 to T5" inscription="[11,11]:1" source="P2" target="T5" type="transport" weight="1">
3004-<arcpath arcPointType="false" id="0" xCoord="401" yCoord="491"/>
3005-<arcpath arcPointType="false" id="1" xCoord="577" yCoord="487"/>
3006-</arc>
3007-<arc id="T5 to P2" inscription="[11,11]:1" source="T5" target="P2" type="transport" weight="1">
3008-<arcpath arcPointType="false" id="0" xCoord="576" yCoord="497"/>
3009-<arcpath arcPointType="true" id="1" xCoord="514" yCoord="514"/>
3010-<arcpath arcPointType="false" id="2" xCoord="401" yCoord="494"/>
3011-</arc>
3012-<arc id="P1 to T3" inscription="[6,6]:1" source="P1" target="T3" type="transport" weight="1">
3013-<arcpath arcPointType="false" id="0" xCoord="386" yCoord="56"/>
3014-<arcpath arcPointType="false" id="1" xCoord="577" yCoord="52"/>
3015-</arc>
3016-<arc id="T3 to P1" inscription="[6,6]:1" source="T3" target="P1" type="transport" weight="1">
3017-<arcpath arcPointType="false" id="0" xCoord="576" yCoord="62"/>
3018-<arcpath arcPointType="true" id="1" xCoord="484" yCoord="79"/>
3019-<arcpath arcPointType="false" id="2" xCoord="386" yCoord="59"/>
3020-</arc>
3021-<arc id="P3 to T4" inscription="[7,7]:1" source="P3" target="T4" type="transport" weight="1">
3022-<arcpath arcPointType="false" id="0" xCoord="762" yCoord="71"/>
3023-<arcpath arcPointType="false" id="1" xCoord="772" yCoord="261"/>
3024-</arc>
3025-<arc id="T4 to P3" inscription="[7,7]:1" source="T4" target="P3" type="transport" weight="1">
3026-<arcpath arcPointType="false" id="0" xCoord="782" yCoord="262"/>
3027-<arcpath arcPointType="true" id="1" xCoord="799" yCoord="169"/>
3028-<arcpath arcPointType="false" id="2" xCoord="766" yCoord="71"/>
3029-</arc>
3030-<arc id="P1 to T0" inscription="[0,inf)" source="P1" target="T0" type="tapnInhibitor" weight="1">
3031-<arcpath arcPointType="false" id="0" xCoord="360" yCoord="66"/>
3032-<arcpath arcPointType="true" id="1" xCoord="304" yCoord="124"/>
3033-<arcpath arcPointType="false" id="2" xCoord="266" yCoord="184"/>
3034-</arc>
3035-<arc id="P2 to T1" inscription="[0,inf)" source="P2" target="T1" type="tapnInhibitor" weight="1">
3036-<arcpath arcPointType="false" id="0" xCoord="378" yCoord="479"/>
3037-<arcpath arcPointType="true" id="1" xCoord="334" yCoord="439"/>
3038-<arcpath arcPointType="false" id="2" xCoord="274" yCoord="416"/>
3039-</arc>
3040-<arc id="P3 to T3" inscription="[0,inf)" source="P3" target="T3" type="tapnInhibitor" weight="1">
3041-<arcpath arcPointType="false" id="0" xCoord="748" yCoord="62"/>
3042-<arcpath arcPointType="true" id="1" xCoord="649" yCoord="79"/>
3043-<arcpath arcPointType="false" id="2" xCoord="586" yCoord="62"/>
3044-</arc>
3045-<arc id="FinalNode to T5" inscription="[0,inf)" source="FinalNode" target="T5" type="tapnInhibitor" weight="1">
3046-<arcpath arcPointType="false" id="0" xCoord="747" yCoord="489"/>
3047-<arcpath arcPointType="true" id="1" xCoord="664" yCoord="484"/>
3048-<arcpath arcPointType="false" id="2" xCoord="587" yCoord="487"/>
3049-</arc>
3050-<arc id="FinalNode to T4" inscription="[0,inf)" source="FinalNode" target="T4" type="tapnInhibitor" weight="1">
3051-<arcpath arcPointType="false" id="0" xCoord="769" yCoord="478"/>
3052-<arcpath arcPointType="true" id="1" xCoord="799" yCoord="364"/>
3053-<arcpath arcPointType="false" id="2" xCoord="782" yCoord="272"/>
3054-</arc>
3055-<arc id="T1 to P2" inscription="1" source="T1" target="P2" type="normal" weight="1">
3056-<arcpath arcPointType="false" id="0" xCoord="267" yCoord="423"/>
3057-<arcpath arcPointType="false" id="1" xCoord="373" yCoord="484"/>
3058-</arc>
3059-<arc id="T0 to P1" inscription="1" source="T0" target="P1" type="normal" weight="1">
3060-<arcpath arcPointType="false" id="0" xCoord="273" yCoord="191"/>
3061-<arcpath arcPointType="false" id="1" xCoord="363" yCoord="69"/>
3062-</arc>
3063-<arc id="T5 to FinalNode" inscription="1" source="T5" target="FinalNode" type="normal" weight="1">
3064-<arcpath arcPointType="false" id="0" xCoord="586" yCoord="497"/>
3065-<arcpath arcPointType="false" id="1" xCoord="747" yCoord="492"/>
3066-</arc>
3067-<arc id="T3 to P3" inscription="1" source="T3" target="P3" type="normal" weight="1">
3068-<arcpath arcPointType="false" id="0" xCoord="587" yCoord="52"/>
3069-<arcpath arcPointType="false" id="1" xCoord="747" yCoord="56"/>
3070-</arc>
3071-<arc id="T4 to FinalNode" inscription="1" source="T4" target="FinalNode" type="normal" weight="1">
3072-<arcpath arcPointType="false" id="0" xCoord="772" yCoord="271"/>
3073-<arcpath arcPointType="false" id="1" xCoord="762" yCoord="477"/>
3074-</arc>
3075-<arc id="T2 to P2" inscription="1" source="T2" target="P2" type="normal" weight="1">
3076-<arcpath arcPointType="false" id="0" xCoord="381" yCoord="286"/>
3077-<arcpath arcPointType="false" id="1" xCoord="386" yCoord="477"/>
3078-</arc>
3079-<arc id="P2 to T2" inscription="[0,inf)" source="P2" target="T2" type="tapnInhibitor" weight="1">
3080-<arcpath arcPointType="false" id="0" xCoord="392" yCoord="477"/>
3081-<arcpath arcPointType="true" id="1" xCoord="409" yCoord="349"/>
3082-<arcpath arcPointType="false" id="2" xCoord="391" yCoord="287"/>
3083-</arc>
3084-<arc id="P2 to T6" inscription="[6,6]:1" source="P2" target="T6" type="transport" weight="1">
3085-<arcpath arcPointType="false" id="0" xCoord="396" yCoord="480"/>
3086-<arcpath arcPointType="false" id="1" xCoord="499" yCoord="356"/>
3087-</arc>
3088-<arc id="T6 to P2" inscription="[6,6]:1" source="T6" target="P2" type="transport" weight="1">
3089-<arcpath arcPointType="false" id="0" xCoord="506" yCoord="364"/>
3090-<arcpath arcPointType="true" id="1" xCoord="499" yCoord="409"/>
3091-<arcpath arcPointType="false" id="2" xCoord="399" yCoord="483"/>
3092-</arc>
3093-<arc id="P5 to T7" inscription="[4,4]:1" source="P5" target="T7" type="transport" weight="1">
3094-<arcpath arcPointType="false" id="0" xCoord="591" yCoord="278"/>
3095-<arcpath arcPointType="false" id="1" xCoord="664" yCoord="372"/>
3096-</arc>
3097-<arc id="T7 to P5" inscription="[4,4]:1" source="T7" target="P5" type="transport" weight="1">
3098-<arcpath arcPointType="false" id="0" xCoord="671" yCoord="365"/>
3099-<arcpath arcPointType="true" id="1" xCoord="649" yCoord="304"/>
3100-<arcpath arcPointType="false" id="2" xCoord="595" yCoord="274"/>
3101-</arc>
3102-<arc id="P5 to T6" inscription="[0,inf)" source="P5" target="T6" type="tapnInhibitor" weight="1">
3103-<arcpath arcPointType="false" id="0" xCoord="568" yCoord="272"/>
3104-<arcpath arcPointType="true" id="1" xCoord="529" yCoord="304"/>
3105-<arcpath arcPointType="false" id="2" xCoord="506" yCoord="349"/>
3106-</arc>
3107-<arc id="FinalNode to T7" inscription="[0,inf)" source="FinalNode" target="T7" type="tapnInhibitor" weight="1">
3108-<arcpath arcPointType="false" id="0" xCoord="760" yCoord="477"/>
3109-<arcpath arcPointType="true" id="1" xCoord="739" yCoord="424"/>
3110-<arcpath arcPointType="false" id="2" xCoord="679" yCoord="372"/>
3111-</arc>
3112-<arc id="T6 to P5" inscription="1" source="T6" target="P5" type="normal" weight="1">
3113-<arcpath arcPointType="false" id="0" xCoord="513" yCoord="356"/>
3114-<arcpath arcPointType="false" id="1" xCoord="572" yCoord="278"/>
3115-</arc>
3116-<arc id="T7 to FinalNode" inscription="1" source="T7" target="FinalNode" type="normal" weight="1">
3117-<arcpath arcPointType="false" id="0" xCoord="671" yCoord="379"/>
3118-<arcpath arcPointType="false" id="1" xCoord="752" yCoord="480"/>
3119-</arc>
3120-<arc id="P3 to T8" inscription="[3,3]:1" source="P3" target="T8" type="transport" weight="1">
3121-<arcpath arcPointType="false" id="0" xCoord="750" yCoord="67"/>
3122-<arcpath arcPointType="false" id="1" xCoord="656" yCoord="154"/>
3123-</arc>
3124-<arc id="T8 to P3" inscription="[3,3]:1" source="T8" target="P3" type="transport" weight="1">
3125-<arcpath arcPointType="false" id="0" xCoord="663" yCoord="161"/>
3126-<arcpath arcPointType="true" id="1" xCoord="724" yCoord="139"/>
3127-<arcpath arcPointType="false" id="2" xCoord="755" yCoord="70"/>
3128-</arc>
3129-<arc id="P5 to T8" inscription="[0,inf)" source="P5" target="T8" type="tapnInhibitor" weight="1">
3130-<arcpath arcPointType="false" id="0" xCoord="587" yCoord="253"/>
3131-<arcpath arcPointType="true" id="1" xCoord="619" yCoord="199"/>
3132-<arcpath arcPointType="false" id="2" xCoord="649" yCoord="161"/>
3133-</arc>
3134-<arc id="T8 to P5" inscription="1" source="T8" target="P5" type="normal" weight="1">
3135-<arcpath arcPointType="false" id="0" xCoord="656" yCoord="169"/>
3136-<arcpath arcPointType="false" id="1" xCoord="591" yCoord="255"/>
3137-</arc>
3138-</net>
3139-<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Distance to FinalNode less than MaxDistance" overApproximation="true" pTrie="true" query="EF InputGraph.FinalNode &gt;= 1" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="SOME"/>
3140-<k-bound bound="3"/>
3141-</pnml>
3142
3143=== added file 'src/resources/Example nets/train-level-crossing.tapn'
3144--- src/resources/Example nets/train-level-crossing.tapn 1970-01-01 00:00:00 +0000
3145+++ src/resources/Example nets/train-level-crossing.tapn 2018-08-11 09:29:00 +0000
3146@@ -0,0 +1,117 @@
3147+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3148+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
3149+<shared-transition name="SensorActivation" urgent="false"/>
3150+<constant name="YellowDuration" value="5"/>
3151+<constant name="RedDuration" value="17"/>
3152+<constant name="minTimeToLeveler" value="7"/>
3153+<constant name="maxTimeToLeveler" value="10"/>
3154+<constant name="minInDangerZone" value="3"/>
3155+<constant name="maxInDangerZone" value="6"/>
3156+<net active="true" id="Train" type="P/T net">
3157+<labels border="true" height="95" positionX="146" positionY="315" width="406">This is a simple train level crossing model consisting of two components, the train model and traffic light controller. Trains may arrive at arbitrary moments and activate a sensor (via the shared transition SensorActivation) that gives signal to the traffic light controller. The model contains different constants and for some of them the crossing is save (train in danger zone implies that the light is red) and some other, for example by decreasing the RedDuration constant by one, may cause collisions.</labels>
3158+<place id="Trains" initialMarking="5" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Trains" nameOffsetX="29.444444444444443" nameOffsetY="5.000000000000007" positionX="285.0" positionY="45.0"/>
3159+<place id="Approaching" initialMarking="0" invariant="&lt;= maxTimeToLeveler" markingOffsetX="0.0" markingOffsetY="0.0" name="Approaching" nameOffsetX="116.00000000000003" nameOffsetY="49.44444444444443" positionX="120.0" positionY="210.0"/>
3160+<place id="DangerZone" initialMarking="0" invariant="&lt;= maxInDangerZone" markingOffsetX="0.0" markingOffsetY="0.0" name="DangerZone" nameOffsetX="131.6666666666667" nameOffsetY="52.77777777777779" positionX="555.0" positionY="210.0"/>
3161+<transition angle="0" id="SensorActivation" infiniteServer="false" name="SensorActivation" nameOffsetX="-6.0" nameOffsetY="19.0" positionX="120.0" positionY="45.0" priority="0" urgent="false"/>
3162+<transition angle="0" id="EnterDangerZone" infiniteServer="false" name="EnterDangerZone" nameOffsetX="67.0" nameOffsetY="-10.0" positionX="405.0" positionY="210.0" priority="0" urgent="false"/>
3163+<transition angle="0" id="LeaveDangerZone" infiniteServer="false" name="LeaveDangerZone" nameOffsetX="132.0" nameOffsetY="21.0" positionX="555.0" positionY="45.0" priority="0" urgent="false"/>
3164+<arc id="Trains to SensorActivation" inscription="[0,inf)" source="Trains" target="SensorActivation" type="timed" weight="1">
3165+<arcpath arcPointType="false" id="0" xCoord="282" yCoord="57"/>
3166+<arcpath arcPointType="false" id="1" xCoord="136" yCoord="57"/>
3167+</arc>
3168+<arc id="SensorActivation to Approaching" inscription="1" source="SensorActivation" target="Approaching" type="normal" weight="1">
3169+<arcpath arcPointType="false" id="0" xCoord="132" yCoord="72"/>
3170+<arcpath arcPointType="false" id="1" xCoord="132" yCoord="207"/>
3171+</arc>
3172+<arc id="Approaching to T7" inscription="[minTimeToLeveler,maxTimeToLeveler]" source="Approaching" target="EnterDangerZone" type="timed" weight="1">
3173+<arcpath arcPointType="false" id="0" xCoord="146" yCoord="222"/>
3174+<arcpath arcPointType="false" id="1" xCoord="411" yCoord="222"/>
3175+</arc>
3176+<arc id="T7 to DangerZone" inscription="1" source="EnterDangerZone" target="DangerZone" type="normal" weight="1">
3177+<arcpath arcPointType="false" id="0" xCoord="421" yCoord="222"/>
3178+<arcpath arcPointType="false" id="1" xCoord="552" yCoord="222"/>
3179+</arc>
3180+<arc id="DangerZone to LeaveDangerZone" inscription="[minInDangerZone,maxInDangerZone]" source="DangerZone" target="LeaveDangerZone" type="timed" weight="1">
3181+<arcpath arcPointType="false" id="0" xCoord="567" yCoord="207"/>
3182+<arcpath arcPointType="false" id="1" xCoord="567" yCoord="72"/>
3183+</arc>
3184+<arc id="LeaveDangerZone to Trains" inscription="1" source="LeaveDangerZone" target="Trains" type="normal" weight="1">
3185+<arcpath arcPointType="false" id="0" xCoord="561" yCoord="57"/>
3186+<arcpath arcPointType="false" id="1" xCoord="311" yCoord="57"/>
3187+</arc>
3188+</net>
3189+<net active="true" id="TraficLight" type="P/T net">
3190+<place id="Green" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Green" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="105.0" positionY="480.0"/>
3191+<place id="Yellow" initialMarking="0" invariant="&lt;= YellowDuration" markingOffsetX="0.0" markingOffsetY="0.0" name="Yellow" nameOffsetX="130.0" nameOffsetY="47.0" positionX="420.0" positionY="390.0"/>
3192+<place id="Red" initialMarking="0" invariant="&lt;= RedDuration" markingOffsetX="0.0" markingOffsetY="0.0" name="Red" nameOffsetX="152.0" nameOffsetY="25.0" positionX="720.0" positionY="150.0"/>
3193+<place id="RedRequested" initialMarking="0" invariant="&lt;= 0" markingOffsetX="0.0" markingOffsetY="0.0" name="RedRequested" nameOffsetX="-6.0" nameOffsetY="5.0" positionX="105.0" positionY="150.0"/>
3194+<transition angle="315" id="YellowToRed" infiniteServer="false" name="YellowToRed" nameOffsetX="6.0" nameOffsetY="2.0" positionX="570.0" positionY="270.0" priority="0" urgent="false"/>
3195+<transition angle="0" id="RedToGreen" infiniteServer="false" name="RedToGreen" nameOffsetX="97.0" nameOffsetY="8.0" positionX="720.0" positionY="480.0" priority="0" urgent="false"/>
3196+<transition angle="0" id="GreenToYellow" infiniteServer="false" name="GreenToYellow" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="105.0" positionY="390.0" priority="0" urgent="false"/>
3197+<transition angle="90" id="YellowStaysYellow" infiniteServer="false" name="YellowStaysYellow" nameOffsetX="122.0" nameOffsetY="-4.0" positionX="240.0" positionY="255.0" priority="0" urgent="false"/>
3198+<transition angle="0" id="RedTimerReset" infiniteServer="false" name="RedTimerReset" nameOffsetX="36.0" nameOffsetY="-13.0" positionX="390.0" positionY="150.0" priority="0" urgent="false"/>
3199+<transition angle="0" id="SensorActivation" infiniteServer="false" name="SensorActivation" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="105.0" positionY="45.0" priority="0" urgent="false"/>
3200+<arc id="Yellow to YellowToRed" inscription="[YellowDuration,YellowDuration]" source="Yellow" target="YellowToRed" type="timed" weight="1">
3201+<arcpath arcPointType="false" id="0" xCoord="443" yCoord="392"/>
3202+<arcpath arcPointType="false" id="1" xCoord="578" yCoord="286"/>
3203+</arc>
3204+<arc id="YellowToRed to Red" inscription="1" source="YellowToRed" target="Red" type="normal" weight="1">
3205+<arcpath arcPointType="false" id="0" xCoord="585" yCoord="278"/>
3206+<arcpath arcPointType="false" id="1" xCoord="720" yCoord="171"/>
3207+</arc>
3208+<arc id="Red to RedToGreen" inscription="[RedDuration,RedDuration]" source="Red" target="RedToGreen" type="timed" weight="1">
3209+<arcpath arcPointType="false" id="0" xCoord="732" yCoord="176"/>
3210+<arcpath arcPointType="false" id="1" xCoord="732" yCoord="477"/>
3211+</arc>
3212+<arc id="RedToGreen to Green" inscription="1" source="RedToGreen" target="Green" type="normal" weight="1">
3213+<arcpath arcPointType="false" id="0" xCoord="726" yCoord="492"/>
3214+<arcpath arcPointType="false" id="1" xCoord="131" yCoord="492"/>
3215+</arc>
3216+<arc id="Green to GreenToYellow" inscription="[0,inf)" source="Green" target="GreenToYellow" type="timed" weight="1">
3217+<arcpath arcPointType="false" id="0" xCoord="117" yCoord="477"/>
3218+<arcpath arcPointType="false" id="1" xCoord="117" yCoord="417"/>
3219+</arc>
3220+<arc id="GreenToYellow to Yellow" inscription="1" source="GreenToYellow" target="Yellow" type="normal" weight="1">
3221+<arcpath arcPointType="false" id="0" xCoord="121" yCoord="402"/>
3222+<arcpath arcPointType="false" id="1" xCoord="417" yCoord="402"/>
3223+</arc>
3224+<arc id="RedTimerReset to Red" inscription="1" source="RedTimerReset" target="Red" type="normal" weight="1">
3225+<arcpath arcPointType="false" id="0" xCoord="406" yCoord="167"/>
3226+<arcpath arcPointType="true" id="1" xCoord="578" yCoord="189"/>
3227+<arcpath arcPointType="false" id="2" xCoord="717" yCoord="164"/>
3228+</arc>
3229+<arc id="Red to RedTimerReset" inscription="[0,inf)" source="Red" target="RedTimerReset" type="timed" weight="1">
3230+<arcpath arcPointType="false" id="0" xCoord="717" yCoord="158"/>
3231+<arcpath arcPointType="true" id="1" xCoord="517" yCoord="142"/>
3232+<arcpath arcPointType="false" id="2" xCoord="407" yCoord="157"/>
3233+</arc>
3234+<arc id="RedRequested to GreenToYellow" inscription="[0,inf)" source="RedRequested" target="GreenToYellow" type="timed" weight="1">
3235+<arcpath arcPointType="false" id="0" xCoord="117" yCoord="176"/>
3236+<arcpath arcPointType="false" id="1" xCoord="117" yCoord="387"/>
3237+</arc>
3238+<arc id="RedRequested to YellowStaysYellow" inscription="[0,inf)" source="RedRequested" target="YellowStaysYellow" type="timed" weight="1">
3239+<arcpath arcPointType="false" id="0" xCoord="129" yCoord="170"/>
3240+<arcpath arcPointType="false" id="1" xCoord="251" yCoord="261"/>
3241+</arc>
3242+<arc id="RedRequested to RedTimerReset" inscription="[0,inf)" source="RedRequested" target="RedTimerReset" type="timed" weight="1">
3243+<arcpath arcPointType="false" id="0" xCoord="131" yCoord="162"/>
3244+<arcpath arcPointType="false" id="1" xCoord="396" yCoord="162"/>
3245+</arc>
3246+<arc id="Yellow to YellowStaysYellow" inscription="[0,inf):1" source="Yellow" target="YellowStaysYellow" type="transport" weight="1">
3247+<arcpath arcPointType="false" id="0" xCoord="417" yCoord="399"/>
3248+<arcpath arcPointType="true" id="1" xCoord="322" yCoord="358"/>
3249+<arcpath arcPointType="false" id="2" xCoord="251" yCoord="271"/>
3250+</arc>
3251+<arc id="YellowStaysYellow to Yellow" inscription="[0,inf):1" source="YellowStaysYellow" target="Yellow" type="transport" weight="1">
3252+<arcpath arcPointType="false" id="0" xCoord="266" yCoord="267"/>
3253+<arcpath arcPointType="true" id="1" xCoord="384" yCoord="339"/>
3254+<arcpath arcPointType="false" id="2" xCoord="422" yCoord="390"/>
3255+</arc>
3256+<arc id="SensorActivation to RedRequested" inscription="1" source="SensorActivation" target="RedRequested" type="normal" weight="1">
3257+<arcpath arcPointType="false" id="0" xCoord="117" yCoord="72"/>
3258+<arcpath arcPointType="false" id="1" xCoord="117" yCoord="147"/>
3259+</arc>
3260+</net>
3261+<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Crossing is Save" overApproximation="true" pTrie="true" query="AG (!(Train.DangerZone &gt; 0) or TraficLight.Red = 1)" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
3262+<k-bound bound="3"/>
3263+</pnml>
3264
3265=== removed file 'src/resources/Example nets/train-level-crossing.xml'
3266--- src/resources/Example nets/train-level-crossing.xml 2014-06-08 19:45:48 +0000
3267+++ src/resources/Example nets/train-level-crossing.xml 1970-01-01 00:00:00 +0000
3268@@ -1,117 +0,0 @@
3269-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3270-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
3271-<shared-transition name="SensorActivation" urgent="false"/>
3272-<constant name="YellowDuration" value="5"/>
3273-<constant name="RedDuration" value="17"/>
3274-<constant name="minTimeToLeveler" value="7"/>
3275-<constant name="maxTimeToLeveler" value="10"/>
3276-<constant name="minInDangerZone" value="3"/>
3277-<constant name="maxInDangerZone" value="6"/>
3278-<net active="true" id="Train" type="P/T net">
3279-<labels border="true" height="95" positionX="146" positionY="315" width="406">This is a simple train level crossing model consisting of two components, the train model and traffic light controller. Trains may arrive at arbitrary moments and activate a sensor (via the shared transition SensorActivation) that gives signal to the traffic light controller. The model contains different constants and for some of them the crossing is save (train in danger zone implies that the light is red) and some other, for example by decreasing the RedDuration constant by one, may cause collisions.</labels>
3280-<place id="Trains" initialMarking="5" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Trains" nameOffsetX="29.444444444444443" nameOffsetY="5.000000000000007" positionX="285.0" positionY="45.0"/>
3281-<place id="Approaching" initialMarking="0" invariant="&lt;= maxTimeToLeveler" markingOffsetX="0.0" markingOffsetY="0.0" name="Approaching" nameOffsetX="116.00000000000003" nameOffsetY="49.44444444444443" positionX="120.0" positionY="210.0"/>
3282-<place id="DangerZone" initialMarking="0" invariant="&lt;= maxInDangerZone" markingOffsetX="0.0" markingOffsetY="0.0" name="DangerZone" nameOffsetX="131.6666666666667" nameOffsetY="52.77777777777779" positionX="555.0" positionY="210.0"/>
3283-<transition angle="0" id="SensorActivation" infiniteServer="false" name="SensorActivation" nameOffsetX="-6.0" nameOffsetY="19.0" positionX="120.0" positionY="45.0" priority="0" urgent="false"/>
3284-<transition angle="0" id="EnterDangerZone" infiniteServer="false" name="EnterDangerZone" nameOffsetX="67.0" nameOffsetY="-10.0" positionX="405.0" positionY="210.0" priority="0" urgent="false"/>
3285-<transition angle="0" id="LeaveDangerZone" infiniteServer="false" name="LeaveDangerZone" nameOffsetX="132.0" nameOffsetY="21.0" positionX="555.0" positionY="45.0" priority="0" urgent="false"/>
3286-<arc id="Trains to SensorActivation" inscription="[0,inf)" source="Trains" target="SensorActivation" type="timed" weight="1">
3287-<arcpath arcPointType="false" id="0" xCoord="282" yCoord="57"/>
3288-<arcpath arcPointType="false" id="1" xCoord="136" yCoord="57"/>
3289-</arc>
3290-<arc id="SensorActivation to Approaching" inscription="1" source="SensorActivation" target="Approaching" type="normal" weight="1">
3291-<arcpath arcPointType="false" id="0" xCoord="132" yCoord="72"/>
3292-<arcpath arcPointType="false" id="1" xCoord="132" yCoord="207"/>
3293-</arc>
3294-<arc id="Approaching to T7" inscription="[minTimeToLeveler,maxTimeToLeveler]" source="Approaching" target="EnterDangerZone" type="timed" weight="1">
3295-<arcpath arcPointType="false" id="0" xCoord="146" yCoord="222"/>
3296-<arcpath arcPointType="false" id="1" xCoord="411" yCoord="222"/>
3297-</arc>
3298-<arc id="T7 to DangerZone" inscription="1" source="EnterDangerZone" target="DangerZone" type="normal" weight="1">
3299-<arcpath arcPointType="false" id="0" xCoord="421" yCoord="222"/>
3300-<arcpath arcPointType="false" id="1" xCoord="552" yCoord="222"/>
3301-</arc>
3302-<arc id="DangerZone to LeaveDangerZone" inscription="[minInDangerZone,maxInDangerZone]" source="DangerZone" target="LeaveDangerZone" type="timed" weight="1">
3303-<arcpath arcPointType="false" id="0" xCoord="567" yCoord="207"/>
3304-<arcpath arcPointType="false" id="1" xCoord="567" yCoord="72"/>
3305-</arc>
3306-<arc id="LeaveDangerZone to Trains" inscription="1" source="LeaveDangerZone" target="Trains" type="normal" weight="1">
3307-<arcpath arcPointType="false" id="0" xCoord="561" yCoord="57"/>
3308-<arcpath arcPointType="false" id="1" xCoord="311" yCoord="57"/>
3309-</arc>
3310-</net>
3311-<net active="true" id="TraficLight" type="P/T net">
3312-<place id="Green" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Green" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="105.0" positionY="480.0"/>
3313-<place id="Yellow" initialMarking="0" invariant="&lt;= YellowDuration" markingOffsetX="0.0" markingOffsetY="0.0" name="Yellow" nameOffsetX="130.0" nameOffsetY="47.0" positionX="420.0" positionY="390.0"/>
3314-<place id="Red" initialMarking="0" invariant="&lt;= RedDuration" markingOffsetX="0.0" markingOffsetY="0.0" name="Red" nameOffsetX="152.0" nameOffsetY="25.0" positionX="720.0" positionY="150.0"/>
3315-<place id="RedRequested" initialMarking="0" invariant="&lt;= 0" markingOffsetX="0.0" markingOffsetY="0.0" name="RedRequested" nameOffsetX="-6.0" nameOffsetY="5.0" positionX="105.0" positionY="150.0"/>
3316-<transition angle="315" id="YellowToRed" infiniteServer="false" name="YellowToRed" nameOffsetX="6.0" nameOffsetY="2.0" positionX="570.0" positionY="270.0" priority="0" urgent="false"/>
3317-<transition angle="0" id="RedToGreen" infiniteServer="false" name="RedToGreen" nameOffsetX="97.0" nameOffsetY="8.0" positionX="720.0" positionY="480.0" priority="0" urgent="false"/>
3318-<transition angle="0" id="GreenToYellow" infiniteServer="false" name="GreenToYellow" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="105.0" positionY="390.0" priority="0" urgent="false"/>
3319-<transition angle="90" id="YellowStaysYellow" infiniteServer="false" name="YellowStaysYellow" nameOffsetX="122.0" nameOffsetY="-4.0" positionX="240.0" positionY="255.0" priority="0" urgent="false"/>
3320-<transition angle="0" id="RedTimerReset" infiniteServer="false" name="RedTimerReset" nameOffsetX="36.0" nameOffsetY="-13.0" positionX="390.0" positionY="150.0" priority="0" urgent="false"/>
3321-<transition angle="0" id="SensorActivation" infiniteServer="false" name="SensorActivation" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="105.0" positionY="45.0" priority="0" urgent="false"/>
3322-<arc id="Yellow to YellowToRed" inscription="[YellowDuration,YellowDuration]" source="Yellow" target="YellowToRed" type="timed" weight="1">
3323-<arcpath arcPointType="false" id="0" xCoord="443" yCoord="392"/>
3324-<arcpath arcPointType="false" id="1" xCoord="578" yCoord="286"/>
3325-</arc>
3326-<arc id="YellowToRed to Red" inscription="1" source="YellowToRed" target="Red" type="normal" weight="1">
3327-<arcpath arcPointType="false" id="0" xCoord="585" yCoord="278"/>
3328-<arcpath arcPointType="false" id="1" xCoord="720" yCoord="171"/>
3329-</arc>
3330-<arc id="Red to RedToGreen" inscription="[RedDuration,RedDuration]" source="Red" target="RedToGreen" type="timed" weight="1">
3331-<arcpath arcPointType="false" id="0" xCoord="732" yCoord="176"/>
3332-<arcpath arcPointType="false" id="1" xCoord="732" yCoord="477"/>
3333-</arc>
3334-<arc id="RedToGreen to Green" inscription="1" source="RedToGreen" target="Green" type="normal" weight="1">
3335-<arcpath arcPointType="false" id="0" xCoord="726" yCoord="492"/>
3336-<arcpath arcPointType="false" id="1" xCoord="131" yCoord="492"/>
3337-</arc>
3338-<arc id="Green to GreenToYellow" inscription="[0,inf)" source="Green" target="GreenToYellow" type="timed" weight="1">
3339-<arcpath arcPointType="false" id="0" xCoord="117" yCoord="477"/>
3340-<arcpath arcPointType="false" id="1" xCoord="117" yCoord="417"/>
3341-</arc>
3342-<arc id="GreenToYellow to Yellow" inscription="1" source="GreenToYellow" target="Yellow" type="normal" weight="1">
3343-<arcpath arcPointType="false" id="0" xCoord="121" yCoord="402"/>
3344-<arcpath arcPointType="false" id="1" xCoord="417" yCoord="402"/>
3345-</arc>
3346-<arc id="RedTimerReset to Red" inscription="1" source="RedTimerReset" target="Red" type="normal" weight="1">
3347-<arcpath arcPointType="false" id="0" xCoord="406" yCoord="167"/>
3348-<arcpath arcPointType="true" id="1" xCoord="578" yCoord="189"/>
3349-<arcpath arcPointType="false" id="2" xCoord="717" yCoord="164"/>
3350-</arc>
3351-<arc id="Red to RedTimerReset" inscription="[0,inf)" source="Red" target="RedTimerReset" type="timed" weight="1">
3352-<arcpath arcPointType="false" id="0" xCoord="717" yCoord="158"/>
3353-<arcpath arcPointType="true" id="1" xCoord="517" yCoord="142"/>
3354-<arcpath arcPointType="false" id="2" xCoord="407" yCoord="157"/>
3355-</arc>
3356-<arc id="RedRequested to GreenToYellow" inscription="[0,inf)" source="RedRequested" target="GreenToYellow" type="timed" weight="1">
3357-<arcpath arcPointType="false" id="0" xCoord="117" yCoord="176"/>
3358-<arcpath arcPointType="false" id="1" xCoord="117" yCoord="387"/>
3359-</arc>
3360-<arc id="RedRequested to YellowStaysYellow" inscription="[0,inf)" source="RedRequested" target="YellowStaysYellow" type="timed" weight="1">
3361-<arcpath arcPointType="false" id="0" xCoord="129" yCoord="170"/>
3362-<arcpath arcPointType="false" id="1" xCoord="251" yCoord="261"/>
3363-</arc>
3364-<arc id="RedRequested to RedTimerReset" inscription="[0,inf)" source="RedRequested" target="RedTimerReset" type="timed" weight="1">
3365-<arcpath arcPointType="false" id="0" xCoord="131" yCoord="162"/>
3366-<arcpath arcPointType="false" id="1" xCoord="396" yCoord="162"/>
3367-</arc>
3368-<arc id="Yellow to YellowStaysYellow" inscription="[0,inf):1" source="Yellow" target="YellowStaysYellow" type="transport" weight="1">
3369-<arcpath arcPointType="false" id="0" xCoord="417" yCoord="399"/>
3370-<arcpath arcPointType="true" id="1" xCoord="322" yCoord="358"/>
3371-<arcpath arcPointType="false" id="2" xCoord="251" yCoord="271"/>
3372-</arc>
3373-<arc id="YellowStaysYellow to Yellow" inscription="[0,inf):1" source="YellowStaysYellow" target="Yellow" type="transport" weight="1">
3374-<arcpath arcPointType="false" id="0" xCoord="266" yCoord="267"/>
3375-<arcpath arcPointType="true" id="1" xCoord="384" yCoord="339"/>
3376-<arcpath arcPointType="false" id="2" xCoord="422" yCoord="390"/>
3377-</arc>
3378-<arc id="SensorActivation to RedRequested" inscription="1" source="SensorActivation" target="RedRequested" type="normal" weight="1">
3379-<arcpath arcPointType="false" id="0" xCoord="117" yCoord="72"/>
3380-<arcpath arcPointType="false" id="1" xCoord="117" yCoord="147"/>
3381-</arc>
3382-</net>
3383-<query active="true" approximationDenominator="2" capacity="5" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Crossing is Save" overApproximation="true" pTrie="true" query="AG (!(Train.DangerZone &gt; 0) or TraficLight.Red = 1)" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="NONE"/>
3384-<k-bound bound="3"/>
3385-</pnml>
3386
3387=== added file 'src/resources/Example nets/webserver.tapn'
3388--- src/resources/Example nets/webserver.tapn 1970-01-01 00:00:00 +0000
3389+++ src/resources/Example nets/webserver.tapn 2018-08-11 09:29:00 +0000
3390@@ -0,0 +1,97 @@
3391+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3392+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
3393+<constant name="deadline" value="5"/>
3394+<constant name="min" value="3"/>
3395+<constant name="periodA" value="7"/>
3396+<constant name="periodB" value="5"/>
3397+<net active="true" id="WebServer" type="P/T net">
3398+<labels border="true" height="202" positionX="541" positionY="375" width="369">This example represents a simple webserver which can process only one request at a time.
3399+
3400+There are two users that generate requests with certain periods. Processing a request takes at least 'min' time units. The webserver will drop a request if its deadline is exceeded. If a processing of a request already started, it has to be finished also latest by its deadline. This is guaranteed by the use of transport arcs that preserve the age of the request tokens and the corresponding invariants.
3401+
3402+The user of the tool can now experiments with different values of the periods and deadlines to check whether e.g. five requests can be served without dropping any of them. Note that if the deadline is set e.g. to 4 this query is not satisfiable anymore.</labels>
3403+<place id="Requests" initialMarking="0" invariant="&lt;= deadline" markingOffsetX="0.0" markingOffsetY="0.0" name="Requests" nameOffsetX="-17.0" nameOffsetY="8.0" positionX="270.0" positionY="270.0"/>
3404+<place id="Dropped" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Dropped" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="135.0" positionY="105.0"/>
3405+<place id="Processing" initialMarking="0" invariant="&lt;= deadline" markingOffsetX="0.0" markingOffsetY="0.0" name="Processing" nameOffsetX="127.0" nameOffsetY="17.0" positionX="735.0" positionY="180.0"/>
3406+<place id="Responses" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Responses" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="270.0" positionY="105.0"/>
3407+<place id="Webserver" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Webserver" nameOffsetX="-6.0" nameOffsetY="16.0" positionX="405.0" positionY="180.0"/>
3408+<place id="UserA" initialMarking="1" invariant="&lt;= periodA" markingOffsetX="0.0" markingOffsetY="0.0" name="UserA" nameOffsetX="37.0" nameOffsetY="40.0" positionX="135.0" positionY="525.0"/>
3409+<place id="UserB" initialMarking="1" invariant="&lt;= periodB" markingOffsetX="0.0" markingOffsetY="0.0" name="UserB" nameOffsetX="42.0" nameOffsetY="44.0" positionX="390.0" positionY="510.0"/>
3410+<place id="Working" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Working" nameOffsetX="81.0" nameOffsetY="21.0" positionX="585.0" positionY="180.0"/>
3411+<transition angle="0" id="Process" infiniteServer="false" name="Process" nameOffsetX="36.0" nameOffsetY="44.0" positionX="495.0" positionY="270.0" priority="0" urgent="false"/>
3412+<transition angle="0" id="SendReply" infiniteServer="false" name="SendReply" nameOffsetX="42.0" nameOffsetY="-9.0" positionX="495.0" positionY="105.0" priority="0" urgent="false"/>
3413+<transition angle="270" id="SendRequestA" infiniteServer="false" name="SendRequestA" nameOffsetX="2.0" nameOffsetY="1.0" positionX="135.0" positionY="390.0" priority="0" urgent="false"/>
3414+<transition angle="90" id="SendRequestB" infiniteServer="false" name="SendRequestB" nameOffsetX="107.0" nameOffsetY="-2.0" positionX="390.0" positionY="390.0" priority="0" urgent="false"/>
3415+<transition angle="90" id="Drop" infiniteServer="false" name="Drop" nameOffsetX="-13.0" nameOffsetY="18.0" positionX="135.0" positionY="180.0" priority="0" urgent="false"/>
3416+<arc id="Requests to Drop" inscription="[deadline,deadline]" source="Requests" target="Drop" type="timed" weight="1">
3417+<arcpath arcPointType="false" id="0" xCoord="269" yCoord="274"/>
3418+<arcpath arcPointType="false" id="1" xCoord="146" yCoord="196"/>
3419+</arc>
3420+<arc id="Webserver to Process" inscription="[0,inf)" source="Webserver" target="Process" type="timed" weight="1">
3421+<arcpath arcPointType="false" id="0" xCoord="427" yCoord="202"/>
3422+<arcpath arcPointType="false" id="1" xCoord="502" yCoord="277"/>
3423+</arc>
3424+<arc id="UserA to SendRequestA" inscription="[periodA,periodA]" source="UserA" target="SendRequestA" type="timed" weight="1">
3425+<arcpath arcPointType="false" id="0" xCoord="146" yCoord="522"/>
3426+<arcpath arcPointType="false" id="1" xCoord="142" yCoord="406"/>
3427+</arc>
3428+<arc id="UserB to SendRequestB" inscription="[periodB,periodB]" source="UserB" target="SendRequestB" type="timed" weight="1">
3429+<arcpath arcPointType="false" id="0" xCoord="401" yCoord="507"/>
3430+<arcpath arcPointType="false" id="1" xCoord="396" yCoord="406"/>
3431+</arc>
3432+<arc id="Working to SendReply" inscription="[min,inf)" source="Working" target="SendReply" type="timed" weight="1">
3433+<arcpath arcPointType="false" id="0" xCoord="585" yCoord="182"/>
3434+<arcpath arcPointType="false" id="1" xCoord="511" yCoord="122"/>
3435+</arc>
3436+<arc id="Requests to Process" inscription="[0,deadline):1" source="Requests" target="Process" type="transport" weight="1">
3437+<arcpath arcPointType="false" id="0" xCoord="296" yCoord="282"/>
3438+<arcpath arcPointType="false" id="1" xCoord="501" yCoord="287"/>
3439+</arc>
3440+<arc id="Process to Processing" inscription="[0,deadline):1" source="Process" target="Processing" type="transport" weight="1">
3441+<arcpath arcPointType="false" id="0" xCoord="511" yCoord="287"/>
3442+<arcpath arcPointType="false" id="1" xCoord="672" yCoord="293"/>
3443+<arcpath arcPointType="false" id="2" xCoord="738" yCoord="204"/>
3444+</arc>
3445+<arc id="Process to Working" inscription="1" source="Process" target="Working" type="normal" weight="1">
3446+<arcpath arcPointType="false" id="0" xCoord="512" yCoord="277"/>
3447+<arcpath arcPointType="false" id="1" xCoord="586" yCoord="202"/>
3448+</arc>
3449+<arc id="Processing to SendReply" inscription="[0,deadline]:1" source="Processing" target="SendReply" type="transport" weight="1">
3450+<arcpath arcPointType="false" id="0" xCoord="736" yCoord="181"/>
3451+<arcpath arcPointType="false" id="1" xCoord="668" yCoord="118"/>
3452+<arcpath arcPointType="false" id="2" xCoord="512" yCoord="112"/>
3453+</arc>
3454+<arc id="SendReply to Responses" inscription="[0,deadline]:1" source="SendReply" target="Responses" type="transport" weight="1">
3455+<arcpath arcPointType="false" id="0" xCoord="502" yCoord="112"/>
3456+<arcpath arcPointType="false" id="1" xCoord="296" yCoord="116"/>
3457+</arc>
3458+<arc id="SendReply to Webserver" inscription="1" source="SendReply" target="Webserver" type="normal" weight="1">
3459+<arcpath arcPointType="false" id="0" xCoord="501" yCoord="122"/>
3460+<arcpath arcPointType="false" id="1" xCoord="428" yCoord="182"/>
3461+</arc>
3462+<arc id="SendRequestA to Requests" inscription="1" source="SendRequestA" target="Requests" type="normal" weight="1">
3463+<arcpath arcPointType="false" id="0" xCoord="147" yCoord="397"/>
3464+<arcpath arcPointType="false" id="1" xCoord="270" yCoord="291"/>
3465+</arc>
3466+<arc id="SendRequestA to UserA" inscription="1" source="SendRequestA" target="UserA" type="normal" weight="1">
3467+<arcpath arcPointType="false" id="0" xCoord="152" yCoord="407"/>
3468+<arcpath arcPointType="false" id="1" xCoord="230" yCoord="470"/>
3469+<arcpath arcPointType="false" id="2" xCoord="158" yCoord="527"/>
3470+</arc>
3471+<arc id="SendRequestB to Requests" inscription="1" source="SendRequestB" target="Requests" type="normal" weight="1">
3472+<arcpath arcPointType="false" id="0" xCoord="401" yCoord="396"/>
3473+<arcpath arcPointType="false" id="1" xCoord="292" yCoord="292"/>
3474+</arc>
3475+<arc id="SendRequestB to UserB" inscription="1" source="SendRequestB" target="UserB" type="normal" weight="1">
3476+<arcpath arcPointType="false" id="0" xCoord="406" yCoord="407"/>
3477+<arcpath arcPointType="false" id="1" xCoord="485" yCoord="470"/>
3478+<arcpath arcPointType="false" id="2" xCoord="414" yCoord="514"/>
3479+</arc>
3480+<arc id="Drop to Dropped" inscription="1" source="Drop" target="Dropped" type="normal" weight="1">
3481+<arcpath arcPointType="false" id="0" xCoord="146" yCoord="186"/>
3482+<arcpath arcPointType="false" id="1" xCoord="146" yCoord="131"/>
3483+</arc>
3484+</net>
3485+<query active="true" approximationDenominator="2" capacity="6" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="5 responses, no drops" overApproximation="true" pTrie="true" query="EF (WebServer.Responses = 5 and WebServer.Dropped = 0)" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="SOME"/>
3486+<k-bound bound="3"/>
3487+</pnml>
3488
3489=== removed file 'src/resources/Example nets/webserver.xml'
3490--- src/resources/Example nets/webserver.xml 2014-06-08 19:45:48 +0000
3491+++ src/resources/Example nets/webserver.xml 1970-01-01 00:00:00 +0000
3492@@ -1,97 +0,0 @@
3493-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3494-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
3495-<constant name="deadline" value="5"/>
3496-<constant name="min" value="3"/>
3497-<constant name="periodA" value="7"/>
3498-<constant name="periodB" value="5"/>
3499-<net active="true" id="WebServer" type="P/T net">
3500-<labels border="true" height="202" positionX="541" positionY="375" width="369">This example represents a simple webserver which can process only one request at a time.
3501-
3502-There are two users that generate requests with certain periods. Processing a request takes at least 'min' time units. The webserver will drop a request if its deadline is exceeded. If a processing of a request already started, it has to be finished also latest by its deadline. This is guaranteed by the use of transport arcs that preserve the age of the request tokens and the corresponding invariants.
3503-
3504-The user of the tool can now experiments with different values of the periods and deadlines to check whether e.g. five requests can be served without dropping any of them. Note that if the deadline is set e.g. to 4 this query is not satisfiable anymore.</labels>
3505-<place id="Requests" initialMarking="0" invariant="&lt;= deadline" markingOffsetX="0.0" markingOffsetY="0.0" name="Requests" nameOffsetX="-17.0" nameOffsetY="8.0" positionX="270.0" positionY="270.0"/>
3506-<place id="Dropped" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Dropped" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="135.0" positionY="105.0"/>
3507-<place id="Processing" initialMarking="0" invariant="&lt;= deadline" markingOffsetX="0.0" markingOffsetY="0.0" name="Processing" nameOffsetX="127.0" nameOffsetY="17.0" positionX="735.0" positionY="180.0"/>
3508-<place id="Responses" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Responses" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="270.0" positionY="105.0"/>
3509-<place id="Webserver" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Webserver" nameOffsetX="-6.0" nameOffsetY="16.0" positionX="405.0" positionY="180.0"/>
3510-<place id="UserA" initialMarking="1" invariant="&lt;= periodA" markingOffsetX="0.0" markingOffsetY="0.0" name="UserA" nameOffsetX="37.0" nameOffsetY="40.0" positionX="135.0" positionY="525.0"/>
3511-<place id="UserB" initialMarking="1" invariant="&lt;= periodB" markingOffsetX="0.0" markingOffsetY="0.0" name="UserB" nameOffsetX="42.0" nameOffsetY="44.0" positionX="390.0" positionY="510.0"/>
3512-<place id="Working" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Working" nameOffsetX="81.0" nameOffsetY="21.0" positionX="585.0" positionY="180.0"/>
3513-<transition angle="0" id="Process" infiniteServer="false" name="Process" nameOffsetX="36.0" nameOffsetY="44.0" positionX="495.0" positionY="270.0" priority="0" urgent="false"/>
3514-<transition angle="0" id="SendReply" infiniteServer="false" name="SendReply" nameOffsetX="42.0" nameOffsetY="-9.0" positionX="495.0" positionY="105.0" priority="0" urgent="false"/>
3515-<transition angle="270" id="SendRequestA" infiniteServer="false" name="SendRequestA" nameOffsetX="2.0" nameOffsetY="1.0" positionX="135.0" positionY="390.0" priority="0" urgent="false"/>
3516-<transition angle="90" id="SendRequestB" infiniteServer="false" name="SendRequestB" nameOffsetX="107.0" nameOffsetY="-2.0" positionX="390.0" positionY="390.0" priority="0" urgent="false"/>
3517-<transition angle="90" id="Drop" infiniteServer="false" name="Drop" nameOffsetX="-13.0" nameOffsetY="18.0" positionX="135.0" positionY="180.0" priority="0" urgent="false"/>
3518-<arc id="Requests to Drop" inscription="[deadline,deadline]" source="Requests" target="Drop" type="timed" weight="1">
3519-<arcpath arcPointType="false" id="0" xCoord="269" yCoord="274"/>
3520-<arcpath arcPointType="false" id="1" xCoord="146" yCoord="196"/>
3521-</arc>
3522-<arc id="Webserver to Process" inscription="[0,inf)" source="Webserver" target="Process" type="timed" weight="1">
3523-<arcpath arcPointType="false" id="0" xCoord="427" yCoord="202"/>
3524-<arcpath arcPointType="false" id="1" xCoord="502" yCoord="277"/>
3525-</arc>
3526-<arc id="UserA to SendRequestA" inscription="[periodA,periodA]" source="UserA" target="SendRequestA" type="timed" weight="1">
3527-<arcpath arcPointType="false" id="0" xCoord="146" yCoord="522"/>
3528-<arcpath arcPointType="false" id="1" xCoord="142" yCoord="406"/>
3529-</arc>
3530-<arc id="UserB to SendRequestB" inscription="[periodB,periodB]" source="UserB" target="SendRequestB" type="timed" weight="1">
3531-<arcpath arcPointType="false" id="0" xCoord="401" yCoord="507"/>
3532-<arcpath arcPointType="false" id="1" xCoord="396" yCoord="406"/>
3533-</arc>
3534-<arc id="Working to SendReply" inscription="[min,inf)" source="Working" target="SendReply" type="timed" weight="1">
3535-<arcpath arcPointType="false" id="0" xCoord="585" yCoord="182"/>
3536-<arcpath arcPointType="false" id="1" xCoord="511" yCoord="122"/>
3537-</arc>
3538-<arc id="Requests to Process" inscription="[0,deadline):1" source="Requests" target="Process" type="transport" weight="1">
3539-<arcpath arcPointType="false" id="0" xCoord="296" yCoord="282"/>
3540-<arcpath arcPointType="false" id="1" xCoord="501" yCoord="287"/>
3541-</arc>
3542-<arc id="Process to Processing" inscription="[0,deadline):1" source="Process" target="Processing" type="transport" weight="1">
3543-<arcpath arcPointType="false" id="0" xCoord="511" yCoord="287"/>
3544-<arcpath arcPointType="false" id="1" xCoord="672" yCoord="293"/>
3545-<arcpath arcPointType="false" id="2" xCoord="738" yCoord="204"/>
3546-</arc>
3547-<arc id="Process to Working" inscription="1" source="Process" target="Working" type="normal" weight="1">
3548-<arcpath arcPointType="false" id="0" xCoord="512" yCoord="277"/>
3549-<arcpath arcPointType="false" id="1" xCoord="586" yCoord="202"/>
3550-</arc>
3551-<arc id="Processing to SendReply" inscription="[0,deadline]:1" source="Processing" target="SendReply" type="transport" weight="1">
3552-<arcpath arcPointType="false" id="0" xCoord="736" yCoord="181"/>
3553-<arcpath arcPointType="false" id="1" xCoord="668" yCoord="118"/>
3554-<arcpath arcPointType="false" id="2" xCoord="512" yCoord="112"/>
3555-</arc>
3556-<arc id="SendReply to Responses" inscription="[0,deadline]:1" source="SendReply" target="Responses" type="transport" weight="1">
3557-<arcpath arcPointType="false" id="0" xCoord="502" yCoord="112"/>
3558-<arcpath arcPointType="false" id="1" xCoord="296" yCoord="116"/>
3559-</arc>
3560-<arc id="SendReply to Webserver" inscription="1" source="SendReply" target="Webserver" type="normal" weight="1">
3561-<arcpath arcPointType="false" id="0" xCoord="501" yCoord="122"/>
3562-<arcpath arcPointType="false" id="1" xCoord="428" yCoord="182"/>
3563-</arc>
3564-<arc id="SendRequestA to Requests" inscription="1" source="SendRequestA" target="Requests" type="normal" weight="1">
3565-<arcpath arcPointType="false" id="0" xCoord="147" yCoord="397"/>
3566-<arcpath arcPointType="false" id="1" xCoord="270" yCoord="291"/>
3567-</arc>
3568-<arc id="SendRequestA to UserA" inscription="1" source="SendRequestA" target="UserA" type="normal" weight="1">
3569-<arcpath arcPointType="false" id="0" xCoord="152" yCoord="407"/>
3570-<arcpath arcPointType="false" id="1" xCoord="230" yCoord="470"/>
3571-<arcpath arcPointType="false" id="2" xCoord="158" yCoord="527"/>
3572-</arc>
3573-<arc id="SendRequestB to Requests" inscription="1" source="SendRequestB" target="Requests" type="normal" weight="1">
3574-<arcpath arcPointType="false" id="0" xCoord="401" yCoord="396"/>
3575-<arcpath arcPointType="false" id="1" xCoord="292" yCoord="292"/>
3576-</arc>
3577-<arc id="SendRequestB to UserB" inscription="1" source="SendRequestB" target="UserB" type="normal" weight="1">
3578-<arcpath arcPointType="false" id="0" xCoord="406" yCoord="407"/>
3579-<arcpath arcPointType="false" id="1" xCoord="485" yCoord="470"/>
3580-<arcpath arcPointType="false" id="2" xCoord="414" yCoord="514"/>
3581-</arc>
3582-<arc id="Drop to Dropped" inscription="1" source="Drop" target="Dropped" type="normal" weight="1">
3583-<arcpath arcPointType="false" id="0" xCoord="146" yCoord="186"/>
3584-<arcpath arcPointType="false" id="1" xCoord="146" yCoord="131"/>
3585-</arc>
3586-</net>
3587-<query active="true" approximationDenominator="2" capacity="6" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="5 responses, no drops" overApproximation="true" pTrie="true" query="EF (WebServer.Responses = 5 and WebServer.Dropped = 0)" reduction="true" reductionOption="VerifyTAPN" searchOption="HEURISTIC" symmetry="true" timeDarts="true" traceOption="SOME"/>
3588-<k-bound bound="3"/>
3589-</pnml>
3590
3591=== added file 'src/resources/Example nets/workflow-advanced.tapn'
3592--- src/resources/Example nets/workflow-advanced.tapn 1970-01-01 00:00:00 +0000
3593+++ src/resources/Example nets/workflow-advanced.tapn 2018-08-11 09:29:00 +0000
3594@@ -0,0 +1,345 @@
3595+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3596+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
3597+<shared-transition name="A0_Done" urgent="false"/>
3598+<shared-transition name="A1_Done" urgent="false"/>
3599+<shared-transition name="A2_Done" urgent="false"/>
3600+<shared-transition name="A3_Done" urgent="false"/>
3601+<shared-transition name="A4_Done" urgent="false"/>
3602+<shared-transition name="A5_Done" urgent="false"/>
3603+<shared-transition name="A6_Done" urgent="false"/>
3604+<shared-transition name="A7_Done" urgent="false"/>
3605+<shared-transition name="Sync1_Done" urgent="false"/>
3606+<shared-transition name="Synd2_Done" urgent="false"/>
3607+<shared-transition name="Init" urgent="false"/>
3608+<shared-transition name="Finalize" urgent="false"/>
3609+<net active="true" id="Workflow" type="P/T net">
3610+<labels border="true" height="130" positionX="15" positionY="296" width="844">This is an example of advanced workflow modelling capabilities of TAPAAL.
3611+
3612+A number of tasks A0 to A7 with dependeces and durations are discribed in the Workflow component. The components Deadlines, Recovery_Times and Limited_Resources provide further constraints on the workflow and are explained in the corresponding components. They can be activated/deactived in the component panel.
3613+
3614+By clicking on "Check Boundedness" in the query dialog for "Find Schedule" we can check that the net with the extra number of tokens is bounded and the verification returns a feasible schedule.
3615+
3616+Try to also use in the menu Tools/Workflow analysis to see that the workflow is not sound as it has a deadlock.</labels>
3617+<place id="A0" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A0" nameOffsetX="25.0" nameOffsetY="-1.0" positionX="150.0" positionY="90.0"/>
3618+<place id="A1" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="255.0" positionY="30.0"/>
3619+<place id="A5" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A5" nameOffsetX="7.0" nameOffsetY="48.0" positionX="450.0" positionY="195.0"/>
3620+<place id="A6" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A6" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="555.0" positionY="195.0"/>
3621+<place id="Sync2_A6" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sync2_A6" nameOffsetX="85.0" nameOffsetY="13.0" positionX="660.0" positionY="195.0"/>
3622+<place id="A2" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="450.0" positionY="30.0"/>
3623+<place id="Sync2_A2" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sync2_A2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="630.0" positionY="30.0"/>
3624+<place id="A7" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A7" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="720.0" positionY="105.0"/>
3625+<place id="Work_Done" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Work_Done" nameOffsetX="30.0" nameOffsetY="-15.0" positionX="825.0" positionY="105.0"/>
3626+<place id="A3" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="255.0" positionY="135.0"/>
3627+<place id="A4" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A4" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="255.0" positionY="240.0"/>
3628+<place id="Sync1_A3" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sync1_A3" nameOffsetX="81.0" nameOffsetY="-3.0" positionX="360.0" positionY="135.0"/>
3629+<place id="Sync1_A4" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sync1_A4" nameOffsetX="33.0" nameOffsetY="46.0" positionX="360.0" positionY="240.0"/>
3630+<place id="start" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="start" nameOffsetX="25.0" nameOffsetY="-8.0" positionX="30.0" positionY="90.0"/>
3631+<place id="done" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="done" nameOffsetX="31.0" nameOffsetY="44.0" positionX="975.0" positionY="105.0"/>
3632+<transition angle="0" id="Synd2_Done" infiniteServer="false" name="Synd2_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="675.0" positionY="105.0" priority="0" urgent="false"/>
3633+<transition angle="0" id="A2_Done" infiniteServer="false" name="A2_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="540.0" positionY="30.0" priority="0" urgent="false"/>
3634+<transition angle="0" id="A1_Done" infiniteServer="false" name="A1_Done" nameOffsetX="25.0" nameOffsetY="41.0" positionX="345.0" positionY="30.0" priority="0" urgent="false"/>
3635+<transition angle="0" id="A0_Done" infiniteServer="false" name="A0_Done" nameOffsetX="69.0" nameOffsetY="19.0" positionX="210.0" positionY="90.0" priority="0" urgent="false"/>
3636+<transition angle="0" id="A3_Done" infiniteServer="false" name="A3_Done" nameOffsetX="19.0" nameOffsetY="43.0" positionX="315.0" positionY="135.0" priority="0" urgent="false"/>
3637+<transition angle="0" id="A4_Done" infiniteServer="false" name="A4_Done" nameOffsetX="17.0" nameOffsetY="46.0" positionX="315.0" positionY="240.0" priority="0" urgent="false"/>
3638+<transition angle="0" id="Sync1_Done" infiniteServer="false" name="Sync1_Done" nameOffsetX="7.0" nameOffsetY="22.0" positionX="405.0" positionY="195.0" priority="0" urgent="false"/>
3639+<transition angle="0" id="A5_Done" infiniteServer="false" name="A5_Done" nameOffsetX="28.0" nameOffsetY="50.0" positionX="510.0" positionY="195.0" priority="0" urgent="false"/>
3640+<transition angle="0" id="A6_Done" infiniteServer="false" name="A6_Done" nameOffsetX="26.0" nameOffsetY="42.0" positionX="615.0" positionY="195.0" priority="0" urgent="false"/>
3641+<transition angle="0" id="A7_Done" infiniteServer="false" name="A7_Done" nameOffsetX="29.0" nameOffsetY="51.0" positionX="780.0" positionY="105.0" priority="0" urgent="false"/>
3642+<transition angle="0" id="Init" infiniteServer="false" name="Init" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="90.0" positionY="90.0" priority="0" urgent="false"/>
3643+<transition angle="0" id="Finalize" infiniteServer="false" name="Finalize" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="900.0" positionY="105.0" priority="0" urgent="false"/>
3644+<arc id="A0 to A0_Done" inscription="[5,inf)" source="A0" target="A0_Done" type="timed" weight="1">
3645+<arcpath arcPointType="false" id="0" xCoord="176" yCoord="102"/>
3646+<arcpath arcPointType="false" id="1" xCoord="216" yCoord="102"/>
3647+</arc>
3648+<arc id="A5 to A5_Done" inscription="[3,inf)" source="A5" target="A5_Done" type="timed" weight="1">
3649+<arcpath arcPointType="false" id="0" xCoord="476" yCoord="207"/>
3650+<arcpath arcPointType="false" id="1" xCoord="516" yCoord="207"/>
3651+</arc>
3652+<arc id="A6 to A6_Done" inscription="[3,inf)" source="A6" target="A6_Done" type="timed" weight="1">
3653+<arcpath arcPointType="false" id="0" xCoord="581" yCoord="207"/>
3654+<arcpath arcPointType="false" id="1" xCoord="621" yCoord="207"/>
3655+</arc>
3656+<arc id="Sync2_A6 to Sync2_Done" inscription="[0,inf)" source="Sync2_A6" target="Synd2_Done" type="timed" weight="1">
3657+<arcpath arcPointType="false" id="0" xCoord="674" yCoord="192"/>
3658+<arcpath arcPointType="false" id="1" xCoord="687" yCoord="132"/>
3659+</arc>
3660+<arc id="A1 to A1_Done" inscription="[4,inf)" source="A1" target="A1_Done" type="timed" weight="1">
3661+<arcpath arcPointType="false" id="0" xCoord="281" yCoord="42"/>
3662+<arcpath arcPointType="false" id="1" xCoord="351" yCoord="42"/>
3663+</arc>
3664+<arc id="A2 to A2_Done" inscription="[4,inf)" source="A2" target="A2_Done" type="timed" weight="1">
3665+<arcpath arcPointType="false" id="0" xCoord="476" yCoord="42"/>
3666+<arcpath arcPointType="false" id="1" xCoord="546" yCoord="42"/>
3667+</arc>
3668+<arc id="Sync2_A2 to Sync2_Done" inscription="[0,inf)" source="Sync2_A2" target="Synd2_Done" type="timed" weight="1">
3669+<arcpath arcPointType="false" id="0" xCoord="651" yCoord="53"/>
3670+<arcpath arcPointType="false" id="1" xCoord="687" yCoord="102"/>
3671+</arc>
3672+<arc id="A7 to A7_Done" inscription="[2,inf)" source="A7" target="A7_Done" type="timed" weight="1">
3673+<arcpath arcPointType="false" id="0" xCoord="746" yCoord="117"/>
3674+<arcpath arcPointType="false" id="1" xCoord="786" yCoord="117"/>
3675+</arc>
3676+<arc id="A3 to A3_Done" inscription="[2,inf)" source="A3" target="A3_Done" type="timed" weight="1">
3677+<arcpath arcPointType="false" id="0" xCoord="281" yCoord="147"/>
3678+<arcpath arcPointType="false" id="1" xCoord="321" yCoord="147"/>
3679+</arc>
3680+<arc id="A4 to A4_Done" inscription="[2,inf)" source="A4" target="A4_Done" type="timed" weight="1">
3681+<arcpath arcPointType="false" id="0" xCoord="281" yCoord="252"/>
3682+<arcpath arcPointType="false" id="1" xCoord="321" yCoord="252"/>
3683+</arc>
3684+<arc id="Sync1_A3 to Sync1_Done" inscription="[0,inf)" source="Sync1_A3" target="Sync1_Done" type="timed" weight="1">
3685+<arcpath arcPointType="false" id="0" xCoord="380" yCoord="159"/>
3686+<arcpath arcPointType="false" id="1" xCoord="412" yCoord="202"/>
3687+</arc>
3688+<arc id="Sync1_A4 to Sync1_Done" inscription="[0,inf)" source="Sync1_A4" target="Sync1_Done" type="timed" weight="1">
3689+<arcpath arcPointType="false" id="0" xCoord="382" yCoord="241"/>
3690+<arcpath arcPointType="false" id="1" xCoord="411" yCoord="212"/>
3691+</arc>
3692+<arc id="Sync2_Done to A7" inscription="1" source="Synd2_Done" target="A7" type="normal" weight="1">
3693+<arcpath arcPointType="false" id="0" xCoord="691" yCoord="117"/>
3694+<arcpath arcPointType="false" id="1" xCoord="717" yCoord="117"/>
3695+</arc>
3696+<arc id="A2_Done to Sync2_A2" inscription="1" source="A2_Done" target="Sync2_A2" type="normal" weight="1">
3697+<arcpath arcPointType="false" id="0" xCoord="556" yCoord="42"/>
3698+<arcpath arcPointType="false" id="1" xCoord="627" yCoord="42"/>
3699+</arc>
3700+<arc id="A1_Done to A2" inscription="1" source="A1_Done" target="A2" type="normal" weight="1">
3701+<arcpath arcPointType="false" id="0" xCoord="361" yCoord="42"/>
3702+<arcpath arcPointType="false" id="1" xCoord="447" yCoord="42"/>
3703+</arc>
3704+<arc id="A0_Done to A1" inscription="1" source="A0_Done" target="A1" type="normal" weight="1">
3705+<arcpath arcPointType="false" id="0" xCoord="227" yCoord="97"/>
3706+<arcpath arcPointType="false" id="1" xCoord="258" yCoord="54"/>
3707+</arc>
3708+<arc id="A0_Done to A3" inscription="1" source="A0_Done" target="A3" type="normal" weight="1">
3709+<arcpath arcPointType="false" id="0" xCoord="226" yCoord="107"/>
3710+<arcpath arcPointType="false" id="1" xCoord="256" yCoord="136"/>
3711+</arc>
3712+<arc id="A0_Done to A4" inscription="1" source="A0_Done" target="A4" type="normal" weight="1">
3713+<arcpath arcPointType="false" id="0" xCoord="222" yCoord="117"/>
3714+<arcpath arcPointType="false" id="1" xCoord="262" yCoord="237"/>
3715+</arc>
3716+<arc id="A3_Done to Sync1_A3" inscription="1" source="A3_Done" target="Sync1_A3" type="normal" weight="1">
3717+<arcpath arcPointType="false" id="0" xCoord="331" yCoord="147"/>
3718+<arcpath arcPointType="false" id="1" xCoord="357" yCoord="147"/>
3719+</arc>
3720+<arc id="A4_Done to Sync1_A4" inscription="1" source="A4_Done" target="Sync1_A4" type="normal" weight="1">
3721+<arcpath arcPointType="false" id="0" xCoord="331" yCoord="252"/>
3722+<arcpath arcPointType="false" id="1" xCoord="357" yCoord="252"/>
3723+</arc>
3724+<arc id="Sync1_Done to A5" inscription="1" source="Sync1_Done" target="A5" type="normal" weight="1">
3725+<arcpath arcPointType="false" id="0" xCoord="421" yCoord="207"/>
3726+<arcpath arcPointType="false" id="1" xCoord="447" yCoord="207"/>
3727+</arc>
3728+<arc id="A5_Done to A6" inscription="1" source="A5_Done" target="A6" type="normal" weight="1">
3729+<arcpath arcPointType="false" id="0" xCoord="526" yCoord="207"/>
3730+<arcpath arcPointType="false" id="1" xCoord="552" yCoord="207"/>
3731+</arc>
3732+<arc id="A6_Done to Sync2_A6" inscription="1" source="A6_Done" target="Sync2_A6" type="normal" weight="1">
3733+<arcpath arcPointType="false" id="0" xCoord="631" yCoord="207"/>
3734+<arcpath arcPointType="false" id="1" xCoord="657" yCoord="207"/>
3735+</arc>
3736+<arc id="A7_Done to Work_Done" inscription="1" source="A7_Done" target="Work_Done" type="normal" weight="1">
3737+<arcpath arcPointType="false" id="0" xCoord="796" yCoord="117"/>
3738+<arcpath arcPointType="false" id="1" xCoord="822" yCoord="117"/>
3739+</arc>
3740+<arc id="start to Init" inscription="[0,inf)" source="start" target="Init" type="timed" weight="1">
3741+<arcpath arcPointType="false" id="0" xCoord="56" yCoord="102"/>
3742+<arcpath arcPointType="false" id="1" xCoord="96" yCoord="102"/>
3743+</arc>
3744+<arc id="Init to A0" inscription="1" source="Init" target="A0" type="normal" weight="3">
3745+<arcpath arcPointType="false" id="0" xCoord="106" yCoord="102"/>
3746+<arcpath arcPointType="false" id="1" xCoord="147" yCoord="102"/>
3747+</arc>
3748+<arc id="Work_Done to Finalize" inscription="[0,inf)" source="Work_Done" target="Finalize" type="timed" weight="3">
3749+<arcpath arcPointType="false" id="0" xCoord="851" yCoord="117"/>
3750+<arcpath arcPointType="false" id="1" xCoord="906" yCoord="117"/>
3751+</arc>
3752+<arc id="Finalize to done" inscription="1" source="Finalize" target="done" type="normal" weight="1">
3753+<arcpath arcPointType="false" id="0" xCoord="916" yCoord="117"/>
3754+<arcpath arcPointType="false" id="1" xCoord="972" yCoord="117"/>
3755+</arc>
3756+</net>
3757+<net active="true" id="Deadlines" type="P/T net">
3758+<labels border="true" height="27" positionX="15" positionY="498" width="716">The shared transitions are connected to the place Deadlines with transport arcs in order to measure the global time since the execution started (age of the token in Deadlines) and making sure that the global deadlines for each task are met.</labels>
3759+<place id="Deadlines" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Deadlines" nameOffsetX="69.0" nameOffsetY="63.0" positionX="330.0" positionY="345.0"/>
3760+<transition angle="0" id="A2_Done" infiniteServer="false" name="A2_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="15.0" priority="0" urgent="false"/>
3761+<transition angle="0" id="A1_Done" infiniteServer="false" name="A1_Done" nameOffsetX="25.0" nameOffsetY="41.0" positionX="195.0" positionY="15.0" priority="0" urgent="false"/>
3762+<transition angle="0" id="A0_Done" infiniteServer="false" name="A0_Done" nameOffsetX="69.0" nameOffsetY="19.0" positionX="60.0" positionY="75.0" priority="0" urgent="false"/>
3763+<transition angle="0" id="A3_Done" infiniteServer="false" name="A3_Done" nameOffsetX="19.0" nameOffsetY="43.0" positionX="165.0" positionY="120.0" priority="0" urgent="false"/>
3764+<transition angle="0" id="A4_Done" infiniteServer="false" name="A4_Done" nameOffsetX="17.0" nameOffsetY="46.0" positionX="165.0" positionY="225.0" priority="0" urgent="false"/>
3765+<transition angle="0" id="A5_Done" infiniteServer="false" name="A5_Done" nameOffsetX="28.0" nameOffsetY="50.0" positionX="360.0" positionY="180.0" priority="0" urgent="false"/>
3766+<transition angle="0" id="A6_Done" infiniteServer="false" name="A6_Done" nameOffsetX="26.0" nameOffsetY="42.0" positionX="465.0" positionY="180.0" priority="0" urgent="false"/>
3767+<transition angle="0" id="A7_Done" infiniteServer="false" name="A7_Done" nameOffsetX="29.0" nameOffsetY="51.0" positionX="630.0" positionY="90.0" priority="0" urgent="false"/>
3768+<transition angle="0" id="Init" infiniteServer="false" name="Init" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="285.0" positionY="435.0" priority="0" urgent="false"/>
3769+<transition angle="0" id="Finalize" infiniteServer="false" name="Finalize" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="375.0" positionY="435.0" priority="0" urgent="false"/>
3770+<arc id="Deadlines to A2_Done" inscription="[0,15]:1" source="Deadlines" target="A2_Done" type="transport" weight="1">
3771+<arcpath arcPointType="false" id="0" xCoord="339" yCoord="342"/>
3772+<arcpath arcPointType="true" id="1" xCoord="323" yCoord="128"/>
3773+<arcpath arcPointType="true" id="2" xCoord="396" yCoord="27"/>
3774+</arc>
3775+<arc id="A2_Done to Deadlines" inscription="[0,15]:1" source="A2_Done" target="Deadlines" type="transport" weight="1">
3776+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="42"/>
3777+<arcpath arcPointType="true" id="1" xCoord="338" yCoord="158"/>
3778+<arcpath arcPointType="true" id="2" xCoord="340" yCoord="342"/>
3779+</arc>
3780+<arc id="Deadlines to A1_Done" inscription="[0,9]:1" source="Deadlines" target="A1_Done" type="transport" weight="1">
3781+<arcpath arcPointType="false" id="0" xCoord="331" yCoord="346"/>
3782+<arcpath arcPointType="true" id="1" xCoord="203" yCoord="188"/>
3783+<arcpath arcPointType="true" id="2" xCoord="207" yCoord="42"/>
3784+</arc>
3785+<arc id="A1_Done to Deadlines" inscription="[0,9]:1" source="A1_Done" target="Deadlines" type="transport" weight="1">
3786+<arcpath arcPointType="false" id="0" xCoord="207" yCoord="42"/>
3787+<arcpath arcPointType="true" id="1" xCoord="263" yCoord="248"/>
3788+<arcpath arcPointType="true" id="2" xCoord="338" yCoord="338"/>
3789+<arcpath arcPointType="false" id="3" xCoord="338" yCoord="342"/>
3790+</arc>
3791+<arc id="Deadlines to A0_Done" inscription="[0,5]:1" source="Deadlines" target="A0_Done" type="transport" weight="1">
3792+<arcpath arcPointType="false" id="0" xCoord="327" yCoord="362"/>
3793+<arcpath arcPointType="true" id="1" xCoord="158" yCoord="413"/>
3794+<arcpath arcPointType="true" id="2" xCoord="38" yCoord="368"/>
3795+<arcpath arcPointType="true" id="3" xCoord="38" yCoord="173"/>
3796+<arcpath arcPointType="false" id="4" xCoord="72" yCoord="102"/>
3797+</arc>
3798+<arc id="A0_Done to Deadlines" inscription="[0,5]:1" source="A0_Done" target="Deadlines" type="transport" weight="1">
3799+<arcpath arcPointType="false" id="0" xCoord="72" yCoord="102"/>
3800+<arcpath arcPointType="true" id="1" xCoord="38" yCoord="293"/>
3801+<arcpath arcPointType="true" id="2" xCoord="113" yCoord="383"/>
3802+<arcpath arcPointType="true" id="3" xCoord="327" yCoord="359"/>
3803+</arc>
3804+<arc id="Deadlines to A3_Done" inscription="[0,9]:1" source="Deadlines" target="A3_Done" type="transport" weight="1">
3805+<arcpath arcPointType="false" id="0" xCoord="327" yCoord="358"/>
3806+<arcpath arcPointType="true" id="1" xCoord="113" yCoord="338"/>
3807+<arcpath arcPointType="true" id="2" xCoord="143" yCoord="188"/>
3808+<arcpath arcPointType="false" id="3" xCoord="171" yCoord="132"/>
3809+</arc>
3810+<arc id="A3_Done to Deadlines" inscription="[0,9]:1" source="A3_Done" target="Deadlines" type="transport" weight="1">
3811+<arcpath arcPointType="false" id="0" xCoord="177" yCoord="147"/>
3812+<arcpath arcPointType="true" id="1" xCoord="128" yCoord="293"/>
3813+<arcpath arcPointType="true" id="2" xCoord="173" yCoord="353"/>
3814+<arcpath arcPointType="true" id="3" xCoord="327" yCoord="357"/>
3815+</arc>
3816+<arc id="Deadlines to A4_Done" inscription="[0,8]:1" source="Deadlines" target="A4_Done" type="transport" weight="1">
3817+<arcpath arcPointType="false" id="0" xCoord="327" yCoord="357"/>
3818+<arcpath arcPointType="true" id="1" xCoord="203" yCoord="338"/>
3819+<arcpath arcPointType="true" id="2" xCoord="177" yCoord="252"/>
3820+</arc>
3821+<arc id="A4_Done to Deadlines" inscription="[0,8]:1" source="A4_Done" target="Deadlines" type="transport" weight="1">
3822+<arcpath arcPointType="false" id="0" xCoord="177" yCoord="252"/>
3823+<arcpath arcPointType="true" id="1" xCoord="218" yCoord="323"/>
3824+<arcpath arcPointType="true" id="2" xCoord="327" yCoord="354"/>
3825+</arc>
3826+<arc id="Deadlines to A5_Done" inscription="[0,13]:1" source="Deadlines" target="A5_Done" type="transport" weight="1">
3827+<arcpath arcPointType="false" id="0" xCoord="350" yCoord="344"/>
3828+<arcpath arcPointType="true" id="1" xCoord="383" yCoord="278"/>
3829+<arcpath arcPointType="true" id="2" xCoord="372" yCoord="207"/>
3830+</arc>
3831+<arc id="A5_Done to Deadlines" inscription="[0,13]:1" source="A5_Done" target="Deadlines" type="transport" weight="1">
3832+<arcpath arcPointType="false" id="0" xCoord="372" yCoord="207"/>
3833+<arcpath arcPointType="true" id="1" xCoord="398" yCoord="308"/>
3834+<arcpath arcPointType="false" id="2" xCoord="353" yCoord="347"/>
3835+</arc>
3836+<arc id="Deadlines to A6_Done" inscription="[0,18]:1" source="Deadlines" target="A6_Done" type="transport" weight="1">
3837+<arcpath arcPointType="false" id="0" xCoord="356" yCoord="354"/>
3838+<arcpath arcPointType="true" id="1" xCoord="473" yCoord="308"/>
3839+<arcpath arcPointType="true" id="2" xCoord="477" yCoord="207"/>
3840+</arc>
3841+<arc id="A6_Done to Deadlines" inscription="[0,18]:1" source="A6_Done" target="Deadlines" type="transport" weight="1">
3842+<arcpath arcPointType="false" id="0" xCoord="477" yCoord="207"/>
3843+<arcpath arcPointType="true" id="1" xCoord="518" yCoord="308"/>
3844+<arcpath arcPointType="true" id="2" xCoord="356" yCoord="354"/>
3845+</arc>
3846+<arc id="Deadlines to A7_Done" inscription="[0,25]:1" source="Deadlines" target="A7_Done" type="transport" weight="1">
3847+<arcpath arcPointType="false" id="0" xCoord="356" yCoord="357"/>
3848+<arcpath arcPointType="true" id="1" xCoord="578" yCoord="353"/>
3849+<arcpath arcPointType="true" id="2" xCoord="668" yCoord="263"/>
3850+<arcpath arcPointType="true" id="3" xCoord="642" yCoord="117"/>
3851+</arc>
3852+<arc id="A7_Done to Deadlines" inscription="[0,25]:1" source="A7_Done" target="Deadlines" type="transport" weight="1">
3853+<arcpath arcPointType="false" id="0" xCoord="642" yCoord="117"/>
3854+<arcpath arcPointType="true" id="1" xCoord="698" yCoord="293"/>
3855+<arcpath arcPointType="true" id="2" xCoord="593" yCoord="383"/>
3856+<arcpath arcPointType="true" id="3" xCoord="458" yCoord="398"/>
3857+<arcpath arcPointType="true" id="4" xCoord="355" yCoord="363"/>
3858+</arc>
3859+<arc id="Init to Deadlines" inscription="1" source="Init" target="Deadlines" type="normal" weight="1">
3860+<arcpath arcPointType="false" id="0" xCoord="297" yCoord="432"/>
3861+<arcpath arcPointType="false" id="1" xCoord="334" yCoord="369"/>
3862+</arc>
3863+<arc id="Deadlines to Finalize" inscription="[0,inf)" source="Deadlines" target="Finalize" type="timed" weight="1">
3864+<arcpath arcPointType="false" id="0" xCoord="349" yCoord="369"/>
3865+<arcpath arcPointType="false" id="1" xCoord="387" yCoord="432"/>
3866+</arc>
3867+</net>
3868+<net active="true" id="Recovery_Times" type="P/T net">
3869+<labels border="true" height="80" positionX="227" positionY="287" width="236">The addition of loop transitions for A7_Done and A5_Done make sure that after these tasks are perfored, there has to be at minimum one time unit delay before the same tasks can be performed again.</labels>
3870+<place id="Timer_for_A7_Done" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Timer_for_A7_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="165.0" positionY="225.0"/>
3871+<place id="Timer_for_A5_Done" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Timer_for_A5_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="525.0" positionY="225.0"/>
3872+<transition angle="0" id="A7_Done" infiniteServer="false" name="A7_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="165.0" positionY="105.0" priority="0" urgent="false"/>
3873+<transition angle="0" id="A5_Done" infiniteServer="false" name="A5_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="525.0" positionY="105.0" priority="0" urgent="false"/>
3874+<transition angle="0" id="Init" infiniteServer="false" name="Init" nameOffsetX="18.0" nameOffsetY="54.0" positionX="345.0" positionY="225.0" priority="0" urgent="false"/>
3875+<transition angle="0" id="Finalize" infiniteServer="false" name="Finalize" nameOffsetX="42.0" nameOffsetY="-16.0" positionX="345.0" positionY="165.0" priority="0" urgent="false"/>
3876+<arc id="P0 to A7_Done" inscription="[1,inf)" source="Timer_for_A7_Done" target="A7_Done" type="timed" weight="1">
3877+<arcpath arcPointType="false" id="0" xCoord="186" yCoord="225"/>
3878+<arcpath arcPointType="false" id="1" xCoord="225" yCoord="180"/>
3879+<arcpath arcPointType="false" id="2" xCoord="181" yCoord="117"/>
3880+</arc>
3881+<arc id="A7_Done to P0" inscription="1" source="A7_Done" target="Timer_for_A7_Done" type="normal" weight="1">
3882+<arcpath arcPointType="false" id="0" xCoord="171" yCoord="117"/>
3883+<arcpath arcPointType="false" id="1" xCoord="135" yCoord="180"/>
3884+<arcpath arcPointType="false" id="2" xCoord="168" yCoord="224"/>
3885+</arc>
3886+<arc id="P2 to A5_Done" inscription="[1,inf)" source="Timer_for_A5_Done" target="A5_Done" type="timed" weight="1">
3887+<arcpath arcPointType="false" id="0" xCoord="546" yCoord="225"/>
3888+<arcpath arcPointType="false" id="1" xCoord="585" yCoord="180"/>
3889+<arcpath arcPointType="false" id="2" xCoord="541" yCoord="117"/>
3890+</arc>
3891+<arc id="A5_Done to P2" inscription="1" source="A5_Done" target="Timer_for_A5_Done" type="normal" weight="1">
3892+<arcpath arcPointType="false" id="0" xCoord="531" yCoord="117"/>
3893+<arcpath arcPointType="false" id="1" xCoord="495" yCoord="180"/>
3894+<arcpath arcPointType="false" id="2" xCoord="528" yCoord="224"/>
3895+</arc>
3896+<arc id="Init to Timer_for_A7_Done" inscription="1" source="Init" target="Timer_for_A7_Done" type="normal" weight="1">
3897+<arcpath arcPointType="false" id="0" xCoord="351" yCoord="237"/>
3898+<arcpath arcPointType="false" id="1" xCoord="191" yCoord="237"/>
3899+</arc>
3900+<arc id="Init to Timer_for_A5_Done" inscription="1" source="Init" target="Timer_for_A5_Done" type="normal" weight="1">
3901+<arcpath arcPointType="false" id="0" xCoord="361" yCoord="237"/>
3902+<arcpath arcPointType="false" id="1" xCoord="522" yCoord="237"/>
3903+</arc>
3904+<arc id="Timer_for_A7_Done to Finalize" inscription="[0,inf)" source="Timer_for_A7_Done" target="Finalize" type="timed" weight="1">
3905+<arcpath arcPointType="false" id="0" xCoord="191" yCoord="232"/>
3906+<arcpath arcPointType="false" id="1" xCoord="351" yCoord="177"/>
3907+</arc>
3908+<arc id="Timer_for_A5_Done to Finalize" inscription="[0,inf)" source="Timer_for_A5_Done" target="Finalize" type="timed" weight="1">
3909+<arcpath arcPointType="false" id="0" xCoord="522" yCoord="232"/>
3910+<arcpath arcPointType="false" id="1" xCoord="361" yCoord="177"/>
3911+</arc>
3912+</net>
3913+<net active="true" id="Limited_Resources" type="P/T net">
3914+<labels border="true" height="92" positionX="406" positionY="66" width="236">This component models the fact that in order to perform the task A6 there are some resources needed. If all three resources are used, it is not possible to initiate the executin of the task A6 and it has to wait until some of the other parallel activites return the resource back.</labels>
3915+<place id="Resource_for_task_A6" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Resource_for_task_A6" nameOffsetX="-14.0" nameOffsetY="22.0" positionX="240.0" positionY="60.0"/>
3916+<transition angle="0" id="A5_Done" infiniteServer="false" name="A5_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="165.0" positionY="135.0" priority="0" urgent="false"/>
3917+<transition angle="0" id="A6_Done" infiniteServer="false" name="A6_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="330.0" positionY="135.0" priority="0" urgent="false"/>
3918+<transition angle="0" id="Init" infiniteServer="false" name="Init" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="195.0" positionY="240.0" priority="0" urgent="false"/>
3919+<transition angle="0" id="Finalize" infiniteServer="false" name="Finalize" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="285.0" positionY="240.0" priority="0" urgent="false"/>
3920+<arc id="Resource_for_task_A6 to A5_Done" inscription="[0,inf)" source="Resource_for_task_A6" target="A5_Done" type="timed" weight="1">
3921+<arcpath arcPointType="false" id="0" xCoord="241" yCoord="82"/>
3922+<arcpath arcPointType="false" id="1" xCoord="181" yCoord="147"/>
3923+</arc>
3924+<arc id="A6_Done to Resource_for_task_A6" inscription="1" source="A6_Done" target="Resource_for_task_A6" type="normal" weight="1">
3925+<arcpath arcPointType="false" id="0" xCoord="336" yCoord="147"/>
3926+<arcpath arcPointType="false" id="1" xCoord="263" yCoord="81"/>
3927+</arc>
3928+<arc id="Init to Resource_for_task_A6" inscription="1" source="Init" target="Resource_for_task_A6" type="normal" weight="3">
3929+<arcpath arcPointType="false" id="0" xCoord="207" yCoord="237"/>
3930+<arcpath arcPointType="false" id="1" xCoord="248" yCoord="86"/>
3931+</arc>
3932+<arc id="Resource_for_task_A6 to Finalize" inscription="[0,inf)" source="Resource_for_task_A6" target="Finalize" type="timed" weight="3">
3933+<arcpath arcPointType="false" id="0" xCoord="256" yCoord="86"/>
3934+<arcpath arcPointType="false" id="1" xCoord="297" yCoord="237"/>
3935+</arc>
3936+</net>
3937+<query active="true" approximationDenominator="2" capacity="14" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Find Schedule" overApproximation="true" pTrie="true" query="EF Workflow.done &gt;= 1" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="BFS" symmetry="true" timeDarts="true" traceOption="SOME"/>
3938+<k-bound bound="14"/>
3939+</pnml>
3940
3941=== removed file 'src/resources/Example nets/workflow-advanced.xml'
3942--- src/resources/Example nets/workflow-advanced.xml 2014-06-08 19:45:48 +0000
3943+++ src/resources/Example nets/workflow-advanced.xml 1970-01-01 00:00:00 +0000
3944@@ -1,345 +0,0 @@
3945-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
3946-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
3947-<shared-transition name="A0_Done" urgent="false"/>
3948-<shared-transition name="A1_Done" urgent="false"/>
3949-<shared-transition name="A2_Done" urgent="false"/>
3950-<shared-transition name="A3_Done" urgent="false"/>
3951-<shared-transition name="A4_Done" urgent="false"/>
3952-<shared-transition name="A5_Done" urgent="false"/>
3953-<shared-transition name="A6_Done" urgent="false"/>
3954-<shared-transition name="A7_Done" urgent="false"/>
3955-<shared-transition name="Sync1_Done" urgent="false"/>
3956-<shared-transition name="Synd2_Done" urgent="false"/>
3957-<shared-transition name="Init" urgent="false"/>
3958-<shared-transition name="Finalize" urgent="false"/>
3959-<net active="true" id="Workflow" type="P/T net">
3960-<labels border="true" height="130" positionX="15" positionY="296" width="844">This is an example of advanced workflow modelling capabilities of TAPAAL.
3961-
3962-A number of tasks A0 to A7 with dependeces and durations are discribed in the Workflow component. The components Deadlines, Recovery_Times and Limited_Resources provide further constraints on the workflow and are explained in the corresponding components. They can be activated/deactived in the component panel.
3963-
3964-By clicking on "Check Boundedness" in the query dialog for "Find Schedule" we can check that the net with the extra number of tokens is bounded and the verification returns a feasible schedule.
3965-
3966-Try to also use in the menu Tools/Workflow analysis to see that the workflow is not sound as it has a deadlock.</labels>
3967-<place id="A0" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A0" nameOffsetX="25.0" nameOffsetY="-1.0" positionX="150.0" positionY="90.0"/>
3968-<place id="A1" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="255.0" positionY="30.0"/>
3969-<place id="A5" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A5" nameOffsetX="7.0" nameOffsetY="48.0" positionX="450.0" positionY="195.0"/>
3970-<place id="A6" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A6" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="555.0" positionY="195.0"/>
3971-<place id="Sync2_A6" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sync2_A6" nameOffsetX="85.0" nameOffsetY="13.0" positionX="660.0" positionY="195.0"/>
3972-<place id="A2" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="450.0" positionY="30.0"/>
3973-<place id="Sync2_A2" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sync2_A2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="630.0" positionY="30.0"/>
3974-<place id="A7" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A7" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="720.0" positionY="105.0"/>
3975-<place id="Work_Done" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Work_Done" nameOffsetX="30.0" nameOffsetY="-15.0" positionX="825.0" positionY="105.0"/>
3976-<place id="A3" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="255.0" positionY="135.0"/>
3977-<place id="A4" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="A4" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="255.0" positionY="240.0"/>
3978-<place id="Sync1_A3" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sync1_A3" nameOffsetX="81.0" nameOffsetY="-3.0" positionX="360.0" positionY="135.0"/>
3979-<place id="Sync1_A4" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Sync1_A4" nameOffsetX="33.0" nameOffsetY="46.0" positionX="360.0" positionY="240.0"/>
3980-<place id="start" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="start" nameOffsetX="25.0" nameOffsetY="-8.0" positionX="30.0" positionY="90.0"/>
3981-<place id="done" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="done" nameOffsetX="31.0" nameOffsetY="44.0" positionX="975.0" positionY="105.0"/>
3982-<transition angle="0" id="Synd2_Done" infiniteServer="false" name="Synd2_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="675.0" positionY="105.0" priority="0" urgent="false"/>
3983-<transition angle="0" id="A2_Done" infiniteServer="false" name="A2_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="540.0" positionY="30.0" priority="0" urgent="false"/>
3984-<transition angle="0" id="A1_Done" infiniteServer="false" name="A1_Done" nameOffsetX="25.0" nameOffsetY="41.0" positionX="345.0" positionY="30.0" priority="0" urgent="false"/>
3985-<transition angle="0" id="A0_Done" infiniteServer="false" name="A0_Done" nameOffsetX="69.0" nameOffsetY="19.0" positionX="210.0" positionY="90.0" priority="0" urgent="false"/>
3986-<transition angle="0" id="A3_Done" infiniteServer="false" name="A3_Done" nameOffsetX="19.0" nameOffsetY="43.0" positionX="315.0" positionY="135.0" priority="0" urgent="false"/>
3987-<transition angle="0" id="A4_Done" infiniteServer="false" name="A4_Done" nameOffsetX="17.0" nameOffsetY="46.0" positionX="315.0" positionY="240.0" priority="0" urgent="false"/>
3988-<transition angle="0" id="Sync1_Done" infiniteServer="false" name="Sync1_Done" nameOffsetX="7.0" nameOffsetY="22.0" positionX="405.0" positionY="195.0" priority="0" urgent="false"/>
3989-<transition angle="0" id="A5_Done" infiniteServer="false" name="A5_Done" nameOffsetX="28.0" nameOffsetY="50.0" positionX="510.0" positionY="195.0" priority="0" urgent="false"/>
3990-<transition angle="0" id="A6_Done" infiniteServer="false" name="A6_Done" nameOffsetX="26.0" nameOffsetY="42.0" positionX="615.0" positionY="195.0" priority="0" urgent="false"/>
3991-<transition angle="0" id="A7_Done" infiniteServer="false" name="A7_Done" nameOffsetX="29.0" nameOffsetY="51.0" positionX="780.0" positionY="105.0" priority="0" urgent="false"/>
3992-<transition angle="0" id="Init" infiniteServer="false" name="Init" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="90.0" positionY="90.0" priority="0" urgent="false"/>
3993-<transition angle="0" id="Finalize" infiniteServer="false" name="Finalize" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="900.0" positionY="105.0" priority="0" urgent="false"/>
3994-<arc id="A0 to A0_Done" inscription="[5,inf)" source="A0" target="A0_Done" type="timed" weight="1">
3995-<arcpath arcPointType="false" id="0" xCoord="176" yCoord="102"/>
3996-<arcpath arcPointType="false" id="1" xCoord="216" yCoord="102"/>
3997-</arc>
3998-<arc id="A5 to A5_Done" inscription="[3,inf)" source="A5" target="A5_Done" type="timed" weight="1">
3999-<arcpath arcPointType="false" id="0" xCoord="476" yCoord="207"/>
4000-<arcpath arcPointType="false" id="1" xCoord="516" yCoord="207"/>
4001-</arc>
4002-<arc id="A6 to A6_Done" inscription="[3,inf)" source="A6" target="A6_Done" type="timed" weight="1">
4003-<arcpath arcPointType="false" id="0" xCoord="581" yCoord="207"/>
4004-<arcpath arcPointType="false" id="1" xCoord="621" yCoord="207"/>
4005-</arc>
4006-<arc id="Sync2_A6 to Sync2_Done" inscription="[0,inf)" source="Sync2_A6" target="Synd2_Done" type="timed" weight="1">
4007-<arcpath arcPointType="false" id="0" xCoord="674" yCoord="192"/>
4008-<arcpath arcPointType="false" id="1" xCoord="687" yCoord="132"/>
4009-</arc>
4010-<arc id="A1 to A1_Done" inscription="[4,inf)" source="A1" target="A1_Done" type="timed" weight="1">
4011-<arcpath arcPointType="false" id="0" xCoord="281" yCoord="42"/>
4012-<arcpath arcPointType="false" id="1" xCoord="351" yCoord="42"/>
4013-</arc>
4014-<arc id="A2 to A2_Done" inscription="[4,inf)" source="A2" target="A2_Done" type="timed" weight="1">
4015-<arcpath arcPointType="false" id="0" xCoord="476" yCoord="42"/>
4016-<arcpath arcPointType="false" id="1" xCoord="546" yCoord="42"/>
4017-</arc>
4018-<arc id="Sync2_A2 to Sync2_Done" inscription="[0,inf)" source="Sync2_A2" target="Synd2_Done" type="timed" weight="1">
4019-<arcpath arcPointType="false" id="0" xCoord="651" yCoord="53"/>
4020-<arcpath arcPointType="false" id="1" xCoord="687" yCoord="102"/>
4021-</arc>
4022-<arc id="A7 to A7_Done" inscription="[2,inf)" source="A7" target="A7_Done" type="timed" weight="1">
4023-<arcpath arcPointType="false" id="0" xCoord="746" yCoord="117"/>
4024-<arcpath arcPointType="false" id="1" xCoord="786" yCoord="117"/>
4025-</arc>
4026-<arc id="A3 to A3_Done" inscription="[2,inf)" source="A3" target="A3_Done" type="timed" weight="1">
4027-<arcpath arcPointType="false" id="0" xCoord="281" yCoord="147"/>
4028-<arcpath arcPointType="false" id="1" xCoord="321" yCoord="147"/>
4029-</arc>
4030-<arc id="A4 to A4_Done" inscription="[2,inf)" source="A4" target="A4_Done" type="timed" weight="1">
4031-<arcpath arcPointType="false" id="0" xCoord="281" yCoord="252"/>
4032-<arcpath arcPointType="false" id="1" xCoord="321" yCoord="252"/>
4033-</arc>
4034-<arc id="Sync1_A3 to Sync1_Done" inscription="[0,inf)" source="Sync1_A3" target="Sync1_Done" type="timed" weight="1">
4035-<arcpath arcPointType="false" id="0" xCoord="380" yCoord="159"/>
4036-<arcpath arcPointType="false" id="1" xCoord="412" yCoord="202"/>
4037-</arc>
4038-<arc id="Sync1_A4 to Sync1_Done" inscription="[0,inf)" source="Sync1_A4" target="Sync1_Done" type="timed" weight="1">
4039-<arcpath arcPointType="false" id="0" xCoord="382" yCoord="241"/>
4040-<arcpath arcPointType="false" id="1" xCoord="411" yCoord="212"/>
4041-</arc>
4042-<arc id="Sync2_Done to A7" inscription="1" source="Synd2_Done" target="A7" type="normal" weight="1">
4043-<arcpath arcPointType="false" id="0" xCoord="691" yCoord="117"/>
4044-<arcpath arcPointType="false" id="1" xCoord="717" yCoord="117"/>
4045-</arc>
4046-<arc id="A2_Done to Sync2_A2" inscription="1" source="A2_Done" target="Sync2_A2" type="normal" weight="1">
4047-<arcpath arcPointType="false" id="0" xCoord="556" yCoord="42"/>
4048-<arcpath arcPointType="false" id="1" xCoord="627" yCoord="42"/>
4049-</arc>
4050-<arc id="A1_Done to A2" inscription="1" source="A1_Done" target="A2" type="normal" weight="1">
4051-<arcpath arcPointType="false" id="0" xCoord="361" yCoord="42"/>
4052-<arcpath arcPointType="false" id="1" xCoord="447" yCoord="42"/>
4053-</arc>
4054-<arc id="A0_Done to A1" inscription="1" source="A0_Done" target="A1" type="normal" weight="1">
4055-<arcpath arcPointType="false" id="0" xCoord="227" yCoord="97"/>
4056-<arcpath arcPointType="false" id="1" xCoord="258" yCoord="54"/>
4057-</arc>
4058-<arc id="A0_Done to A3" inscription="1" source="A0_Done" target="A3" type="normal" weight="1">
4059-<arcpath arcPointType="false" id="0" xCoord="226" yCoord="107"/>
4060-<arcpath arcPointType="false" id="1" xCoord="256" yCoord="136"/>
4061-</arc>
4062-<arc id="A0_Done to A4" inscription="1" source="A0_Done" target="A4" type="normal" weight="1">
4063-<arcpath arcPointType="false" id="0" xCoord="222" yCoord="117"/>
4064-<arcpath arcPointType="false" id="1" xCoord="262" yCoord="237"/>
4065-</arc>
4066-<arc id="A3_Done to Sync1_A3" inscription="1" source="A3_Done" target="Sync1_A3" type="normal" weight="1">
4067-<arcpath arcPointType="false" id="0" xCoord="331" yCoord="147"/>
4068-<arcpath arcPointType="false" id="1" xCoord="357" yCoord="147"/>
4069-</arc>
4070-<arc id="A4_Done to Sync1_A4" inscription="1" source="A4_Done" target="Sync1_A4" type="normal" weight="1">
4071-<arcpath arcPointType="false" id="0" xCoord="331" yCoord="252"/>
4072-<arcpath arcPointType="false" id="1" xCoord="357" yCoord="252"/>
4073-</arc>
4074-<arc id="Sync1_Done to A5" inscription="1" source="Sync1_Done" target="A5" type="normal" weight="1">
4075-<arcpath arcPointType="false" id="0" xCoord="421" yCoord="207"/>
4076-<arcpath arcPointType="false" id="1" xCoord="447" yCoord="207"/>
4077-</arc>
4078-<arc id="A5_Done to A6" inscription="1" source="A5_Done" target="A6" type="normal" weight="1">
4079-<arcpath arcPointType="false" id="0" xCoord="526" yCoord="207"/>
4080-<arcpath arcPointType="false" id="1" xCoord="552" yCoord="207"/>
4081-</arc>
4082-<arc id="A6_Done to Sync2_A6" inscription="1" source="A6_Done" target="Sync2_A6" type="normal" weight="1">
4083-<arcpath arcPointType="false" id="0" xCoord="631" yCoord="207"/>
4084-<arcpath arcPointType="false" id="1" xCoord="657" yCoord="207"/>
4085-</arc>
4086-<arc id="A7_Done to Work_Done" inscription="1" source="A7_Done" target="Work_Done" type="normal" weight="1">
4087-<arcpath arcPointType="false" id="0" xCoord="796" yCoord="117"/>
4088-<arcpath arcPointType="false" id="1" xCoord="822" yCoord="117"/>
4089-</arc>
4090-<arc id="start to Init" inscription="[0,inf)" source="start" target="Init" type="timed" weight="1">
4091-<arcpath arcPointType="false" id="0" xCoord="56" yCoord="102"/>
4092-<arcpath arcPointType="false" id="1" xCoord="96" yCoord="102"/>
4093-</arc>
4094-<arc id="Init to A0" inscription="1" source="Init" target="A0" type="normal" weight="3">
4095-<arcpath arcPointType="false" id="0" xCoord="106" yCoord="102"/>
4096-<arcpath arcPointType="false" id="1" xCoord="147" yCoord="102"/>
4097-</arc>
4098-<arc id="Work_Done to Finalize" inscription="[0,inf)" source="Work_Done" target="Finalize" type="timed" weight="3">
4099-<arcpath arcPointType="false" id="0" xCoord="851" yCoord="117"/>
4100-<arcpath arcPointType="false" id="1" xCoord="906" yCoord="117"/>
4101-</arc>
4102-<arc id="Finalize to done" inscription="1" source="Finalize" target="done" type="normal" weight="1">
4103-<arcpath arcPointType="false" id="0" xCoord="916" yCoord="117"/>
4104-<arcpath arcPointType="false" id="1" xCoord="972" yCoord="117"/>
4105-</arc>
4106-</net>
4107-<net active="true" id="Deadlines" type="P/T net">
4108-<labels border="true" height="27" positionX="15" positionY="498" width="716">The shared transitions are connected to the place Deadlines with transport arcs in order to measure the global time since the execution started (age of the token in Deadlines) and making sure that the global deadlines for each task are met.</labels>
4109-<place id="Deadlines" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Deadlines" nameOffsetX="69.0" nameOffsetY="63.0" positionX="330.0" positionY="345.0"/>
4110-<transition angle="0" id="A2_Done" infiniteServer="false" name="A2_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="390.0" positionY="15.0" priority="0" urgent="false"/>
4111-<transition angle="0" id="A1_Done" infiniteServer="false" name="A1_Done" nameOffsetX="25.0" nameOffsetY="41.0" positionX="195.0" positionY="15.0" priority="0" urgent="false"/>
4112-<transition angle="0" id="A0_Done" infiniteServer="false" name="A0_Done" nameOffsetX="69.0" nameOffsetY="19.0" positionX="60.0" positionY="75.0" priority="0" urgent="false"/>
4113-<transition angle="0" id="A3_Done" infiniteServer="false" name="A3_Done" nameOffsetX="19.0" nameOffsetY="43.0" positionX="165.0" positionY="120.0" priority="0" urgent="false"/>
4114-<transition angle="0" id="A4_Done" infiniteServer="false" name="A4_Done" nameOffsetX="17.0" nameOffsetY="46.0" positionX="165.0" positionY="225.0" priority="0" urgent="false"/>
4115-<transition angle="0" id="A5_Done" infiniteServer="false" name="A5_Done" nameOffsetX="28.0" nameOffsetY="50.0" positionX="360.0" positionY="180.0" priority="0" urgent="false"/>
4116-<transition angle="0" id="A6_Done" infiniteServer="false" name="A6_Done" nameOffsetX="26.0" nameOffsetY="42.0" positionX="465.0" positionY="180.0" priority="0" urgent="false"/>
4117-<transition angle="0" id="A7_Done" infiniteServer="false" name="A7_Done" nameOffsetX="29.0" nameOffsetY="51.0" positionX="630.0" positionY="90.0" priority="0" urgent="false"/>
4118-<transition angle="0" id="Init" infiniteServer="false" name="Init" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="285.0" positionY="435.0" priority="0" urgent="false"/>
4119-<transition angle="0" id="Finalize" infiniteServer="false" name="Finalize" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="375.0" positionY="435.0" priority="0" urgent="false"/>
4120-<arc id="Deadlines to A2_Done" inscription="[0,15]:1" source="Deadlines" target="A2_Done" type="transport" weight="1">
4121-<arcpath arcPointType="false" id="0" xCoord="339" yCoord="342"/>
4122-<arcpath arcPointType="true" id="1" xCoord="323" yCoord="128"/>
4123-<arcpath arcPointType="true" id="2" xCoord="396" yCoord="27"/>
4124-</arc>
4125-<arc id="A2_Done to Deadlines" inscription="[0,15]:1" source="A2_Done" target="Deadlines" type="transport" weight="1">
4126-<arcpath arcPointType="false" id="0" xCoord="402" yCoord="42"/>
4127-<arcpath arcPointType="true" id="1" xCoord="338" yCoord="158"/>
4128-<arcpath arcPointType="true" id="2" xCoord="340" yCoord="342"/>
4129-</arc>
4130-<arc id="Deadlines to A1_Done" inscription="[0,9]:1" source="Deadlines" target="A1_Done" type="transport" weight="1">
4131-<arcpath arcPointType="false" id="0" xCoord="331" yCoord="346"/>
4132-<arcpath arcPointType="true" id="1" xCoord="203" yCoord="188"/>
4133-<arcpath arcPointType="true" id="2" xCoord="207" yCoord="42"/>
4134-</arc>
4135-<arc id="A1_Done to Deadlines" inscription="[0,9]:1" source="A1_Done" target="Deadlines" type="transport" weight="1">
4136-<arcpath arcPointType="false" id="0" xCoord="207" yCoord="42"/>
4137-<arcpath arcPointType="true" id="1" xCoord="263" yCoord="248"/>
4138-<arcpath arcPointType="true" id="2" xCoord="338" yCoord="338"/>
4139-<arcpath arcPointType="false" id="3" xCoord="338" yCoord="342"/>
4140-</arc>
4141-<arc id="Deadlines to A0_Done" inscription="[0,5]:1" source="Deadlines" target="A0_Done" type="transport" weight="1">
4142-<arcpath arcPointType="false" id="0" xCoord="327" yCoord="362"/>
4143-<arcpath arcPointType="true" id="1" xCoord="158" yCoord="413"/>
4144-<arcpath arcPointType="true" id="2" xCoord="38" yCoord="368"/>
4145-<arcpath arcPointType="true" id="3" xCoord="38" yCoord="173"/>
4146-<arcpath arcPointType="false" id="4" xCoord="72" yCoord="102"/>
4147-</arc>
4148-<arc id="A0_Done to Deadlines" inscription="[0,5]:1" source="A0_Done" target="Deadlines" type="transport" weight="1">
4149-<arcpath arcPointType="false" id="0" xCoord="72" yCoord="102"/>
4150-<arcpath arcPointType="true" id="1" xCoord="38" yCoord="293"/>
4151-<arcpath arcPointType="true" id="2" xCoord="113" yCoord="383"/>
4152-<arcpath arcPointType="true" id="3" xCoord="327" yCoord="359"/>
4153-</arc>
4154-<arc id="Deadlines to A3_Done" inscription="[0,9]:1" source="Deadlines" target="A3_Done" type="transport" weight="1">
4155-<arcpath arcPointType="false" id="0" xCoord="327" yCoord="358"/>
4156-<arcpath arcPointType="true" id="1" xCoord="113" yCoord="338"/>
4157-<arcpath arcPointType="true" id="2" xCoord="143" yCoord="188"/>
4158-<arcpath arcPointType="false" id="3" xCoord="171" yCoord="132"/>
4159-</arc>
4160-<arc id="A3_Done to Deadlines" inscription="[0,9]:1" source="A3_Done" target="Deadlines" type="transport" weight="1">
4161-<arcpath arcPointType="false" id="0" xCoord="177" yCoord="147"/>
4162-<arcpath arcPointType="true" id="1" xCoord="128" yCoord="293"/>
4163-<arcpath arcPointType="true" id="2" xCoord="173" yCoord="353"/>
4164-<arcpath arcPointType="true" id="3" xCoord="327" yCoord="357"/>
4165-</arc>
4166-<arc id="Deadlines to A4_Done" inscription="[0,8]:1" source="Deadlines" target="A4_Done" type="transport" weight="1">
4167-<arcpath arcPointType="false" id="0" xCoord="327" yCoord="357"/>
4168-<arcpath arcPointType="true" id="1" xCoord="203" yCoord="338"/>
4169-<arcpath arcPointType="true" id="2" xCoord="177" yCoord="252"/>
4170-</arc>
4171-<arc id="A4_Done to Deadlines" inscription="[0,8]:1" source="A4_Done" target="Deadlines" type="transport" weight="1">
4172-<arcpath arcPointType="false" id="0" xCoord="177" yCoord="252"/>
4173-<arcpath arcPointType="true" id="1" xCoord="218" yCoord="323"/>
4174-<arcpath arcPointType="true" id="2" xCoord="327" yCoord="354"/>
4175-</arc>
4176-<arc id="Deadlines to A5_Done" inscription="[0,13]:1" source="Deadlines" target="A5_Done" type="transport" weight="1">
4177-<arcpath arcPointType="false" id="0" xCoord="350" yCoord="344"/>
4178-<arcpath arcPointType="true" id="1" xCoord="383" yCoord="278"/>
4179-<arcpath arcPointType="true" id="2" xCoord="372" yCoord="207"/>
4180-</arc>
4181-<arc id="A5_Done to Deadlines" inscription="[0,13]:1" source="A5_Done" target="Deadlines" type="transport" weight="1">
4182-<arcpath arcPointType="false" id="0" xCoord="372" yCoord="207"/>
4183-<arcpath arcPointType="true" id="1" xCoord="398" yCoord="308"/>
4184-<arcpath arcPointType="false" id="2" xCoord="353" yCoord="347"/>
4185-</arc>
4186-<arc id="Deadlines to A6_Done" inscription="[0,18]:1" source="Deadlines" target="A6_Done" type="transport" weight="1">
4187-<arcpath arcPointType="false" id="0" xCoord="356" yCoord="354"/>
4188-<arcpath arcPointType="true" id="1" xCoord="473" yCoord="308"/>
4189-<arcpath arcPointType="true" id="2" xCoord="477" yCoord="207"/>
4190-</arc>
4191-<arc id="A6_Done to Deadlines" inscription="[0,18]:1" source="A6_Done" target="Deadlines" type="transport" weight="1">
4192-<arcpath arcPointType="false" id="0" xCoord="477" yCoord="207"/>
4193-<arcpath arcPointType="true" id="1" xCoord="518" yCoord="308"/>
4194-<arcpath arcPointType="true" id="2" xCoord="356" yCoord="354"/>
4195-</arc>
4196-<arc id="Deadlines to A7_Done" inscription="[0,25]:1" source="Deadlines" target="A7_Done" type="transport" weight="1">
4197-<arcpath arcPointType="false" id="0" xCoord="356" yCoord="357"/>
4198-<arcpath arcPointType="true" id="1" xCoord="578" yCoord="353"/>
4199-<arcpath arcPointType="true" id="2" xCoord="668" yCoord="263"/>
4200-<arcpath arcPointType="true" id="3" xCoord="642" yCoord="117"/>
4201-</arc>
4202-<arc id="A7_Done to Deadlines" inscription="[0,25]:1" source="A7_Done" target="Deadlines" type="transport" weight="1">
4203-<arcpath arcPointType="false" id="0" xCoord="642" yCoord="117"/>
4204-<arcpath arcPointType="true" id="1" xCoord="698" yCoord="293"/>
4205-<arcpath arcPointType="true" id="2" xCoord="593" yCoord="383"/>
4206-<arcpath arcPointType="true" id="3" xCoord="458" yCoord="398"/>
4207-<arcpath arcPointType="true" id="4" xCoord="355" yCoord="363"/>
4208-</arc>
4209-<arc id="Init to Deadlines" inscription="1" source="Init" target="Deadlines" type="normal" weight="1">
4210-<arcpath arcPointType="false" id="0" xCoord="297" yCoord="432"/>
4211-<arcpath arcPointType="false" id="1" xCoord="334" yCoord="369"/>
4212-</arc>
4213-<arc id="Deadlines to Finalize" inscription="[0,inf)" source="Deadlines" target="Finalize" type="timed" weight="1">
4214-<arcpath arcPointType="false" id="0" xCoord="349" yCoord="369"/>
4215-<arcpath arcPointType="false" id="1" xCoord="387" yCoord="432"/>
4216-</arc>
4217-</net>
4218-<net active="true" id="Recovery_Times" type="P/T net">
4219-<labels border="true" height="80" positionX="227" positionY="287" width="236">The addition of loop transitions for A7_Done and A5_Done make sure that after these tasks are perfored, there has to be at minimum one time unit delay before the same tasks can be performed again.</labels>
4220-<place id="Timer_for_A7_Done" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Timer_for_A7_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="165.0" positionY="225.0"/>
4221-<place id="Timer_for_A5_Done" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Timer_for_A5_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="525.0" positionY="225.0"/>
4222-<transition angle="0" id="A7_Done" infiniteServer="false" name="A7_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="165.0" positionY="105.0" priority="0" urgent="false"/>
4223-<transition angle="0" id="A5_Done" infiniteServer="false" name="A5_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="525.0" positionY="105.0" priority="0" urgent="false"/>
4224-<transition angle="0" id="Init" infiniteServer="false" name="Init" nameOffsetX="18.0" nameOffsetY="54.0" positionX="345.0" positionY="225.0" priority="0" urgent="false"/>
4225-<transition angle="0" id="Finalize" infiniteServer="false" name="Finalize" nameOffsetX="42.0" nameOffsetY="-16.0" positionX="345.0" positionY="165.0" priority="0" urgent="false"/>
4226-<arc id="P0 to A7_Done" inscription="[1,inf)" source="Timer_for_A7_Done" target="A7_Done" type="timed" weight="1">
4227-<arcpath arcPointType="false" id="0" xCoord="186" yCoord="225"/>
4228-<arcpath arcPointType="false" id="1" xCoord="225" yCoord="180"/>
4229-<arcpath arcPointType="false" id="2" xCoord="181" yCoord="117"/>
4230-</arc>
4231-<arc id="A7_Done to P0" inscription="1" source="A7_Done" target="Timer_for_A7_Done" type="normal" weight="1">
4232-<arcpath arcPointType="false" id="0" xCoord="171" yCoord="117"/>
4233-<arcpath arcPointType="false" id="1" xCoord="135" yCoord="180"/>
4234-<arcpath arcPointType="false" id="2" xCoord="168" yCoord="224"/>
4235-</arc>
4236-<arc id="P2 to A5_Done" inscription="[1,inf)" source="Timer_for_A5_Done" target="A5_Done" type="timed" weight="1">
4237-<arcpath arcPointType="false" id="0" xCoord="546" yCoord="225"/>
4238-<arcpath arcPointType="false" id="1" xCoord="585" yCoord="180"/>
4239-<arcpath arcPointType="false" id="2" xCoord="541" yCoord="117"/>
4240-</arc>
4241-<arc id="A5_Done to P2" inscription="1" source="A5_Done" target="Timer_for_A5_Done" type="normal" weight="1">
4242-<arcpath arcPointType="false" id="0" xCoord="531" yCoord="117"/>
4243-<arcpath arcPointType="false" id="1" xCoord="495" yCoord="180"/>
4244-<arcpath arcPointType="false" id="2" xCoord="528" yCoord="224"/>
4245-</arc>
4246-<arc id="Init to Timer_for_A7_Done" inscription="1" source="Init" target="Timer_for_A7_Done" type="normal" weight="1">
4247-<arcpath arcPointType="false" id="0" xCoord="351" yCoord="237"/>
4248-<arcpath arcPointType="false" id="1" xCoord="191" yCoord="237"/>
4249-</arc>
4250-<arc id="Init to Timer_for_A5_Done" inscription="1" source="Init" target="Timer_for_A5_Done" type="normal" weight="1">
4251-<arcpath arcPointType="false" id="0" xCoord="361" yCoord="237"/>
4252-<arcpath arcPointType="false" id="1" xCoord="522" yCoord="237"/>
4253-</arc>
4254-<arc id="Timer_for_A7_Done to Finalize" inscription="[0,inf)" source="Timer_for_A7_Done" target="Finalize" type="timed" weight="1">
4255-<arcpath arcPointType="false" id="0" xCoord="191" yCoord="232"/>
4256-<arcpath arcPointType="false" id="1" xCoord="351" yCoord="177"/>
4257-</arc>
4258-<arc id="Timer_for_A5_Done to Finalize" inscription="[0,inf)" source="Timer_for_A5_Done" target="Finalize" type="timed" weight="1">
4259-<arcpath arcPointType="false" id="0" xCoord="522" yCoord="232"/>
4260-<arcpath arcPointType="false" id="1" xCoord="361" yCoord="177"/>
4261-</arc>
4262-</net>
4263-<net active="true" id="Limited_Resources" type="P/T net">
4264-<labels border="true" height="92" positionX="406" positionY="66" width="236">This component models the fact that in order to perform the task A6 there are some resources needed. If all three resources are used, it is not possible to initiate the executin of the task A6 and it has to wait until some of the other parallel activites return the resource back.</labels>
4265-<place id="Resource_for_task_A6" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Resource_for_task_A6" nameOffsetX="-14.0" nameOffsetY="22.0" positionX="240.0" positionY="60.0"/>
4266-<transition angle="0" id="A5_Done" infiniteServer="false" name="A5_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="165.0" positionY="135.0" priority="0" urgent="false"/>
4267-<transition angle="0" id="A6_Done" infiniteServer="false" name="A6_Done" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="330.0" positionY="135.0" priority="0" urgent="false"/>
4268-<transition angle="0" id="Init" infiniteServer="false" name="Init" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="195.0" positionY="240.0" priority="0" urgent="false"/>
4269-<transition angle="0" id="Finalize" infiniteServer="false" name="Finalize" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="285.0" positionY="240.0" priority="0" urgent="false"/>
4270-<arc id="Resource_for_task_A6 to A5_Done" inscription="[0,inf)" source="Resource_for_task_A6" target="A5_Done" type="timed" weight="1">
4271-<arcpath arcPointType="false" id="0" xCoord="241" yCoord="82"/>
4272-<arcpath arcPointType="false" id="1" xCoord="181" yCoord="147"/>
4273-</arc>
4274-<arc id="A6_Done to Resource_for_task_A6" inscription="1" source="A6_Done" target="Resource_for_task_A6" type="normal" weight="1">
4275-<arcpath arcPointType="false" id="0" xCoord="336" yCoord="147"/>
4276-<arcpath arcPointType="false" id="1" xCoord="263" yCoord="81"/>
4277-</arc>
4278-<arc id="Init to Resource_for_task_A6" inscription="1" source="Init" target="Resource_for_task_A6" type="normal" weight="3">
4279-<arcpath arcPointType="false" id="0" xCoord="207" yCoord="237"/>
4280-<arcpath arcPointType="false" id="1" xCoord="248" yCoord="86"/>
4281-</arc>
4282-<arc id="Resource_for_task_A6 to Finalize" inscription="[0,inf)" source="Resource_for_task_A6" target="Finalize" type="timed" weight="3">
4283-<arcpath arcPointType="false" id="0" xCoord="256" yCoord="86"/>
4284-<arcpath arcPointType="false" id="1" xCoord="297" yCoord="237"/>
4285-</arc>
4286-</net>
4287-<query active="true" approximationDenominator="2" capacity="14" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Find Schedule" overApproximation="true" pTrie="true" query="EF Workflow.done &gt;= 1" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="BFS" symmetry="true" timeDarts="true" traceOption="SOME"/>
4288-<k-bound bound="14"/>
4289-</pnml>
4290
4291=== added file 'src/resources/Example nets/workflow-complaint.tapn'
4292--- src/resources/Example nets/workflow-complaint.tapn 1970-01-01 00:00:00 +0000
4293+++ src/resources/Example nets/workflow-complaint.tapn 2018-08-11 09:29:00 +0000
4294@@ -0,0 +1,156 @@
4295+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
4296+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
4297+<shared-place initialMarking="0" invariant="&lt; inf" name="out"/>
4298+<shared-place initialMarking="1" invariant="&lt;= 2" name="in"/>
4299+<shared-transition name="collect" urgent="true"/>
4300+<constant name="Deadline" value="37"/>
4301+<net active="true" id="Registration" type="P/T net">
4302+<labels border="true" height="86" positionX="31" positionY="20" width="405">A complaint processing workflow from "Learning Workflow Petri Nets" by J. Esparza, M. Leucker and M. Schlund. Timing aspects are added.
4303+
4304+You can verify the queries, or disable the Monitor Component (remove the tick) and try Tool/Workflow analysis to check for soundness and strong soundness.</labels>
4305+<place id="in" initialMarking="1" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="in" nameOffsetX="-9.0" nameOffsetY="3.0" positionX="90.0" positionY="270.0"/>
4306+<place id="P1" initialMarking="0" invariant="&lt;= 30" markingOffsetX="0.0" markingOffsetY="0.0" name="P1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="180.0" positionY="150.0"/>
4307+<place id="P2" initialMarking="0" invariant="&lt;= 15" markingOffsetX="0.0" markingOffsetY="0.0" name="P2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="180.0" positionY="390.0"/>
4308+<place id="P3" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="420.0" positionY="150.0"/>
4309+<place id="P4" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P4" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="420.0" positionY="390.0"/>
4310+<transition angle="0" id="collect" infiniteServer="false" name="collect" nameOffsetX="56.0" nameOffsetY="-11.0" positionX="420.0" positionY="270.0" priority="0" urgent="true"/>
4311+<transition angle="0" id="register" infiniteServer="false" name="register" nameOffsetX="71.0" nameOffsetY="2.0" positionX="180.0" positionY="270.0" priority="0" urgent="false"/>
4312+<transition angle="0" id="contact_customer" infiniteServer="false" name="contact_customer" nameOffsetX="54.0" nameOffsetY="45.0" positionX="300.0" positionY="150.0" priority="0" urgent="false"/>
4313+<transition angle="0" id="contact_department" infiniteServer="false" name="contact_department" nameOffsetX="61.0" nameOffsetY="52.0" positionX="300.0" positionY="390.0" priority="0" urgent="false"/>
4314+<arc id="in to register" inscription="[1,2]" source="in" target="register" type="timed" weight="1">
4315+<arcpath arcPointType="false" id="0" xCoord="116" yCoord="282"/>
4316+<arcpath arcPointType="false" id="1" xCoord="186" yCoord="282"/>
4317+</arc>
4318+<arc id="register to P1" inscription="1" source="register" target="P1" type="normal" weight="1">
4319+<arcpath arcPointType="false" id="0" xCoord="192" yCoord="267"/>
4320+<arcpath arcPointType="false" id="1" xCoord="192" yCoord="176"/>
4321+</arc>
4322+<arc id="register to P2" inscription="1" source="register" target="P2" type="normal" weight="1">
4323+<arcpath arcPointType="false" id="0" xCoord="192" yCoord="297"/>
4324+<arcpath arcPointType="false" id="1" xCoord="192" yCoord="387"/>
4325+</arc>
4326+<arc id="P1 to contact_customer" inscription="[22,30]" source="P1" target="contact_customer" type="timed" weight="1">
4327+<arcpath arcPointType="false" id="0" xCoord="206" yCoord="162"/>
4328+<arcpath arcPointType="false" id="1" xCoord="306" yCoord="162"/>
4329+</arc>
4330+<arc id="contact_customer to P3" inscription="1" source="contact_customer" target="P3" type="normal" weight="1">
4331+<arcpath arcPointType="false" id="0" xCoord="316" yCoord="162"/>
4332+<arcpath arcPointType="false" id="1" xCoord="417" yCoord="162"/>
4333+</arc>
4334+<arc id="P3 to collect" inscription="[0,inf)" source="P3" target="collect" type="timed" weight="1">
4335+<arcpath arcPointType="false" id="0" xCoord="432" yCoord="176"/>
4336+<arcpath arcPointType="false" id="1" xCoord="432" yCoord="267"/>
4337+</arc>
4338+<arc id="P4 to collect" inscription="[0,inf)" source="P4" target="collect" type="timed" weight="1">
4339+<arcpath arcPointType="false" id="0" xCoord="432" yCoord="387"/>
4340+<arcpath arcPointType="false" id="1" xCoord="432" yCoord="297"/>
4341+</arc>
4342+<arc id="P2 to contact_department" inscription="[12,15]" source="P2" target="contact_department" type="timed" weight="1">
4343+<arcpath arcPointType="false" id="0" xCoord="206" yCoord="402"/>
4344+<arcpath arcPointType="false" id="1" xCoord="306" yCoord="402"/>
4345+</arc>
4346+<arc id="contact_department to P4" inscription="1" source="contact_department" target="P4" type="normal" weight="1">
4347+<arcpath arcPointType="false" id="0" xCoord="316" yCoord="402"/>
4348+<arcpath arcPointType="false" id="1" xCoord="417" yCoord="402"/>
4349+</arc>
4350+</net>
4351+<net active="true" id="Handling" type="P/T net">
4352+<place id="P0" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="P0" nameOffsetX="10.0" nameOffsetY="50.0" positionX="180.0" positionY="270.0"/>
4353+<place id="P1" initialMarking="0" invariant="&lt;= 5" markingOffsetX="0.0" markingOffsetY="0.0" name="P1" nameOffsetX="62.0" nameOffsetY="46.0" positionX="360.0" positionY="270.0"/>
4354+<place id="P2" initialMarking="0" invariant="&lt;= 5" markingOffsetX="0.0" markingOffsetY="0.0" name="P2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="330.0" positionY="120.0"/>
4355+<place id="P3" initialMarking="0" invariant="&lt;= 10" markingOffsetX="0.0" markingOffsetY="0.0" name="P3" nameOffsetX="9.0" nameOffsetY="54.0" positionX="330.0" positionY="420.0"/>
4356+<place id="P4" initialMarking="0" invariant="&lt;= 10" markingOffsetX="0.0" markingOffsetY="0.0" name="P4" nameOffsetX="73.0" nameOffsetY="59.0" positionX="480.0" positionY="270.0"/>
4357+<place id="out" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="out" nameOffsetX="59.0" nameOffsetY="-1.0" positionX="660.0" positionY="270.0"/>
4358+<transition angle="0" id="collect" infiniteServer="false" name="collect" nameOffsetX="-7.0" nameOffsetY="0.0" positionX="60.0" positionY="270.0" priority="0" urgent="true"/>
4359+<transition angle="0" id="accept" infiniteServer="false" name="accept" nameOffsetX="5.0" nameOffsetY="-4.0" positionX="180.0" positionY="120.0" priority="0" urgent="false"/>
4360+<transition angle="0" id="reject" infiniteServer="false" name="reject" nameOffsetX="3.0" nameOffsetY="43.0" positionX="180.0" positionY="420.0" priority="0" urgent="false"/>
4361+<transition angle="0" id="send_rejection" infiniteServer="false" name="send_rejection" nameOffsetX="98.0" nameOffsetY="45.0" positionX="480.0" positionY="420.0" priority="0" urgent="false"/>
4362+<transition angle="0" id="pay_refund" infiniteServer="false" name="pay_refund" nameOffsetX="83.0" nameOffsetY="-19.0" positionX="480.0" positionY="120.0" priority="0" urgent="false"/>
4363+<transition angle="0" id="acquire_info" infiniteServer="false" name="acquire_info" nameOffsetX="65.0" nameOffsetY="-18.0" positionX="270.0" positionY="240.0" priority="0" urgent="false"/>
4364+<transition angle="0" id="need_more_info" infiniteServer="false" name="need_more_info" nameOffsetX="69.0" nameOffsetY="52.0" positionX="270.0" positionY="300.0" priority="0" urgent="false"/>
4365+<transition angle="0" id="archive" infiniteServer="false" name="archive" nameOffsetX="36.0" nameOffsetY="-22.0" positionX="570.0" positionY="270.0" priority="0" urgent="false"/>
4366+<arc id="collect to P0" inscription="1" source="collect" target="P0" type="normal" weight="1">
4367+<arcpath arcPointType="false" id="0" xCoord="76" yCoord="282"/>
4368+<arcpath arcPointType="false" id="1" xCoord="177" yCoord="282"/>
4369+</arc>
4370+<arc id="P0 to need_more_info" inscription="[0,inf)" source="P0" target="need_more_info" type="timed" weight="1">
4371+<arcpath arcPointType="false" id="0" xCoord="206" yCoord="287"/>
4372+<arcpath arcPointType="false" id="1" xCoord="276" yCoord="312"/>
4373+</arc>
4374+<arc id="need_more_info to P1" inscription="1" source="need_more_info" target="P1" type="normal" weight="1">
4375+<arcpath arcPointType="false" id="0" xCoord="286" yCoord="312"/>
4376+<arcpath arcPointType="false" id="1" xCoord="357" yCoord="287"/>
4377+</arc>
4378+<arc id="P1 to acquire_info" inscription="[3,5]" source="P1" target="acquire_info" type="timed" weight="1">
4379+<arcpath arcPointType="false" id="0" xCoord="357" yCoord="277"/>
4380+<arcpath arcPointType="false" id="1" xCoord="286" yCoord="252"/>
4381+</arc>
4382+<arc id="acquire_info to P0" inscription="1" source="acquire_info" target="P0" type="normal" weight="1">
4383+<arcpath arcPointType="false" id="0" xCoord="276" yCoord="252"/>
4384+<arcpath arcPointType="false" id="1" xCoord="206" yCoord="277"/>
4385+</arc>
4386+<arc id="P0 to accept" inscription="[2,inf)" source="P0" target="accept" type="timed" weight="1">
4387+<arcpath arcPointType="false" id="0" xCoord="192" yCoord="267"/>
4388+<arcpath arcPointType="false" id="1" xCoord="192" yCoord="147"/>
4389+</arc>
4390+<arc id="accept to P2" inscription="1" source="accept" target="P2" type="normal" weight="1">
4391+<arcpath arcPointType="false" id="0" xCoord="196" yCoord="132"/>
4392+<arcpath arcPointType="false" id="1" xCoord="327" yCoord="132"/>
4393+</arc>
4394+<arc id="P2 to pay_refund" inscription="[4,6]" source="P2" target="pay_refund" type="timed" weight="1">
4395+<arcpath arcPointType="false" id="0" xCoord="356" yCoord="132"/>
4396+<arcpath arcPointType="false" id="1" xCoord="486" yCoord="132"/>
4397+</arc>
4398+<arc id="pay_refund to P4" inscription="1" source="pay_refund" target="P4" type="normal" weight="1">
4399+<arcpath arcPointType="false" id="0" xCoord="492" yCoord="147"/>
4400+<arcpath arcPointType="false" id="1" xCoord="492" yCoord="267"/>
4401+</arc>
4402+<arc id="P0 to reject" inscription="[4,inf)" source="P0" target="reject" type="timed" weight="1">
4403+<arcpath arcPointType="false" id="0" xCoord="192" yCoord="296"/>
4404+<arcpath arcPointType="false" id="1" xCoord="192" yCoord="417"/>
4405+</arc>
4406+<arc id="reject to P3" inscription="1" source="reject" target="P3" type="normal" weight="1">
4407+<arcpath arcPointType="false" id="0" xCoord="196" yCoord="432"/>
4408+<arcpath arcPointType="false" id="1" xCoord="327" yCoord="432"/>
4409+</arc>
4410+<arc id="P3 to send_rejection" inscription="[4,10]" source="P3" target="send_rejection" type="timed" weight="1">
4411+<arcpath arcPointType="false" id="0" xCoord="356" yCoord="432"/>
4412+<arcpath arcPointType="false" id="1" xCoord="486" yCoord="432"/>
4413+</arc>
4414+<arc id="send_rejection to P4" inscription="1" source="send_rejection" target="P4" type="normal" weight="1">
4415+<arcpath arcPointType="false" id="0" xCoord="492" yCoord="417"/>
4416+<arcpath arcPointType="false" id="1" xCoord="492" yCoord="296"/>
4417+</arc>
4418+<arc id="P4 to archive" inscription="[8,10]" source="P4" target="archive" type="timed" weight="1">
4419+<arcpath arcPointType="false" id="0" xCoord="506" yCoord="282"/>
4420+<arcpath arcPointType="false" id="1" xCoord="576" yCoord="282"/>
4421+</arc>
4422+<arc id="archive to out" inscription="1" source="archive" target="out" type="normal" weight="1">
4423+<arcpath arcPointType="false" id="0" xCoord="586" yCoord="282"/>
4424+<arcpath arcPointType="false" id="1" xCoord="657" yCoord="282"/>
4425+</arc>
4426+</net>
4427+<net active="true" id="Monitor" type="P/T net">
4428+<place id="Timer" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Timer" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="120.0" positionY="90.0"/>
4429+<place id="out" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="out" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="270.0" positionY="90.0"/>
4430+<place id="finished_in_time" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="finished_in_time" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="195.0" positionY="315.0"/>
4431+<transition angle="0" id="T0" infiniteServer="false" name="T0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="195.0" positionY="195.0" priority="0" urgent="false"/>
4432+<arc id="Timer to T0" inscription="[0,Deadline]" source="Timer" target="T0" type="timed" weight="1">
4433+<arcpath arcPointType="false" id="0" xCoord="140" yCoord="114"/>
4434+<arcpath arcPointType="false" id="1" xCoord="201" yCoord="207"/>
4435+</arc>
4436+<arc id="out to T0" inscription="[0,inf)" source="out" target="T0" type="timed" weight="1">
4437+<arcpath arcPointType="false" id="0" xCoord="273" yCoord="114"/>
4438+<arcpath arcPointType="false" id="1" xCoord="211" yCoord="207"/>
4439+</arc>
4440+<arc id="T0 to finished_in_time" inscription="1" source="T0" target="finished_in_time" type="normal" weight="1">
4441+<arcpath arcPointType="false" id="0" xCoord="207" yCoord="222"/>
4442+<arcpath arcPointType="false" id="1" xCoord="207" yCoord="312"/>
4443+</arc>
4444+</net>
4445+<query active="true" approximationDenominator="5" capacity="1" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="true" extrapolationOption="AUTOMATIC" gcd="true" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Can workflow terminate?" overApproximation="true" pTrie="true" query="EF out = 1" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="HEURISTIC" symmetry="true" timeDarts="false" traceOption="NONE"/>
4446+<query active="true" approximationDenominator="2" capacity="1" discreteInclusion="false" enableOverApproximation="true" enableUnderApproximation="false" extrapolationOption="AUTOMATIC" gcd="true" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Can workflow terminate by Deadline?" overApproximation="true" pTrie="true" query="EF Monitor.finished_in_time = 1" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="HEURISTIC" symmetry="true" timeDarts="false" traceOption="NONE"/>
4447+<query active="true" approximationDenominator="2" capacity="1" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="AUTOMATIC" gcd="true" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Proper termination" overApproximation="true" pTrie="true" query="AG (out = 0 or (in = 0 and Registration.P1 = 0 and Registration.P2 = 0 and Registration.P3 = 0 and Registration.P4 = 0 and Handling.P0 = 0 and Handling.P1 = 0 and Handling.P2 = 0 and Handling.P3 = 0 and Monitor.finished_in_time = 0))" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="HEURISTIC" symmetry="true" timeDarts="false" traceOption="NONE"/>
4448+<query active="true" approximationDenominator="2" capacity="1" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="AUTOMATIC" gcd="false" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Strong Soundness" overApproximation="false" pTrie="true" query="AF out = 1" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="HEURISTIC" symmetry="true" timeDarts="false" traceOption="SOME"/>
4449+<k-bound bound="3"/>
4450+</pnml>
4451
4452=== removed file 'src/resources/Example nets/workflow-complaint.xml'
4453--- src/resources/Example nets/workflow-complaint.xml 2014-06-17 21:09:58 +0000
4454+++ src/resources/Example nets/workflow-complaint.xml 1970-01-01 00:00:00 +0000
4455@@ -1,156 +0,0 @@
4456-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
4457-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
4458-<shared-place initialMarking="0" invariant="&lt; inf" name="out"/>
4459-<shared-place initialMarking="1" invariant="&lt;= 2" name="in"/>
4460-<shared-transition name="collect" urgent="true"/>
4461-<constant name="Deadline" value="37"/>
4462-<net active="true" id="Registration" type="P/T net">
4463-<labels border="true" height="86" positionX="31" positionY="20" width="405">A complaint processing workflow from "Learning Workflow Petri Nets" by J. Esparza, M. Leucker and M. Schlund. Timing aspects are added.
4464-
4465-You can verify the queries, or disable the Monitor Component (remove the tick) and try Tool/Workflow analysis to check for soundness and strong soundness.</labels>
4466-<place id="in" initialMarking="1" invariant="&lt;= 2" markingOffsetX="0.0" markingOffsetY="0.0" name="in" nameOffsetX="-9.0" nameOffsetY="3.0" positionX="90.0" positionY="270.0"/>
4467-<place id="P1" initialMarking="0" invariant="&lt;= 30" markingOffsetX="0.0" markingOffsetY="0.0" name="P1" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="180.0" positionY="150.0"/>
4468-<place id="P2" initialMarking="0" invariant="&lt;= 15" markingOffsetX="0.0" markingOffsetY="0.0" name="P2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="180.0" positionY="390.0"/>
4469-<place id="P3" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P3" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="420.0" positionY="150.0"/>
4470-<place id="P4" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="P4" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="420.0" positionY="390.0"/>
4471-<transition angle="0" id="collect" infiniteServer="false" name="collect" nameOffsetX="56.0" nameOffsetY="-11.0" positionX="420.0" positionY="270.0" priority="0" urgent="true"/>
4472-<transition angle="0" id="register" infiniteServer="false" name="register" nameOffsetX="71.0" nameOffsetY="2.0" positionX="180.0" positionY="270.0" priority="0" urgent="false"/>
4473-<transition angle="0" id="contact_customer" infiniteServer="false" name="contact_customer" nameOffsetX="54.0" nameOffsetY="45.0" positionX="300.0" positionY="150.0" priority="0" urgent="false"/>
4474-<transition angle="0" id="contact_department" infiniteServer="false" name="contact_department" nameOffsetX="61.0" nameOffsetY="52.0" positionX="300.0" positionY="390.0" priority="0" urgent="false"/>
4475-<arc id="in to register" inscription="[1,2]" source="in" target="register" type="timed" weight="1">
4476-<arcpath arcPointType="false" id="0" xCoord="116" yCoord="282"/>
4477-<arcpath arcPointType="false" id="1" xCoord="186" yCoord="282"/>
4478-</arc>
4479-<arc id="register to P1" inscription="1" source="register" target="P1" type="normal" weight="1">
4480-<arcpath arcPointType="false" id="0" xCoord="192" yCoord="267"/>
4481-<arcpath arcPointType="false" id="1" xCoord="192" yCoord="176"/>
4482-</arc>
4483-<arc id="register to P2" inscription="1" source="register" target="P2" type="normal" weight="1">
4484-<arcpath arcPointType="false" id="0" xCoord="192" yCoord="297"/>
4485-<arcpath arcPointType="false" id="1" xCoord="192" yCoord="387"/>
4486-</arc>
4487-<arc id="P1 to contact_customer" inscription="[22,30]" source="P1" target="contact_customer" type="timed" weight="1">
4488-<arcpath arcPointType="false" id="0" xCoord="206" yCoord="162"/>
4489-<arcpath arcPointType="false" id="1" xCoord="306" yCoord="162"/>
4490-</arc>
4491-<arc id="contact_customer to P3" inscription="1" source="contact_customer" target="P3" type="normal" weight="1">
4492-<arcpath arcPointType="false" id="0" xCoord="316" yCoord="162"/>
4493-<arcpath arcPointType="false" id="1" xCoord="417" yCoord="162"/>
4494-</arc>
4495-<arc id="P3 to collect" inscription="[0,inf)" source="P3" target="collect" type="timed" weight="1">
4496-<arcpath arcPointType="false" id="0" xCoord="432" yCoord="176"/>
4497-<arcpath arcPointType="false" id="1" xCoord="432" yCoord="267"/>
4498-</arc>
4499-<arc id="P4 to collect" inscription="[0,inf)" source="P4" target="collect" type="timed" weight="1">
4500-<arcpath arcPointType="false" id="0" xCoord="432" yCoord="387"/>
4501-<arcpath arcPointType="false" id="1" xCoord="432" yCoord="297"/>
4502-</arc>
4503-<arc id="P2 to contact_department" inscription="[12,15]" source="P2" target="contact_department" type="timed" weight="1">
4504-<arcpath arcPointType="false" id="0" xCoord="206" yCoord="402"/>
4505-<arcpath arcPointType="false" id="1" xCoord="306" yCoord="402"/>
4506-</arc>
4507-<arc id="contact_department to P4" inscription="1" source="contact_department" target="P4" type="normal" weight="1">
4508-<arcpath arcPointType="false" id="0" xCoord="316" yCoord="402"/>
4509-<arcpath arcPointType="false" id="1" xCoord="417" yCoord="402"/>
4510-</arc>
4511-</net>
4512-<net active="true" id="Handling" type="P/T net">
4513-<place id="P0" initialMarking="0" invariant="&lt;= 6" markingOffsetX="0.0" markingOffsetY="0.0" name="P0" nameOffsetX="10.0" nameOffsetY="50.0" positionX="180.0" positionY="270.0"/>
4514-<place id="P1" initialMarking="0" invariant="&lt;= 5" markingOffsetX="0.0" markingOffsetY="0.0" name="P1" nameOffsetX="62.0" nameOffsetY="46.0" positionX="360.0" positionY="270.0"/>
4515-<place id="P2" initialMarking="0" invariant="&lt;= 5" markingOffsetX="0.0" markingOffsetY="0.0" name="P2" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="330.0" positionY="120.0"/>
4516-<place id="P3" initialMarking="0" invariant="&lt;= 10" markingOffsetX="0.0" markingOffsetY="0.0" name="P3" nameOffsetX="9.0" nameOffsetY="54.0" positionX="330.0" positionY="420.0"/>
4517-<place id="P4" initialMarking="0" invariant="&lt;= 10" markingOffsetX="0.0" markingOffsetY="0.0" name="P4" nameOffsetX="73.0" nameOffsetY="59.0" positionX="480.0" positionY="270.0"/>
4518-<place id="out" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="out" nameOffsetX="59.0" nameOffsetY="-1.0" positionX="660.0" positionY="270.0"/>
4519-<transition angle="0" id="collect" infiniteServer="false" name="collect" nameOffsetX="-7.0" nameOffsetY="0.0" positionX="60.0" positionY="270.0" priority="0" urgent="true"/>
4520-<transition angle="0" id="accept" infiniteServer="false" name="accept" nameOffsetX="5.0" nameOffsetY="-4.0" positionX="180.0" positionY="120.0" priority="0" urgent="false"/>
4521-<transition angle="0" id="reject" infiniteServer="false" name="reject" nameOffsetX="3.0" nameOffsetY="43.0" positionX="180.0" positionY="420.0" priority="0" urgent="false"/>
4522-<transition angle="0" id="send_rejection" infiniteServer="false" name="send_rejection" nameOffsetX="98.0" nameOffsetY="45.0" positionX="480.0" positionY="420.0" priority="0" urgent="false"/>
4523-<transition angle="0" id="pay_refund" infiniteServer="false" name="pay_refund" nameOffsetX="83.0" nameOffsetY="-19.0" positionX="480.0" positionY="120.0" priority="0" urgent="false"/>
4524-<transition angle="0" id="acquire_info" infiniteServer="false" name="acquire_info" nameOffsetX="65.0" nameOffsetY="-18.0" positionX="270.0" positionY="240.0" priority="0" urgent="false"/>
4525-<transition angle="0" id="need_more_info" infiniteServer="false" name="need_more_info" nameOffsetX="69.0" nameOffsetY="52.0" positionX="270.0" positionY="300.0" priority="0" urgent="false"/>
4526-<transition angle="0" id="archive" infiniteServer="false" name="archive" nameOffsetX="36.0" nameOffsetY="-22.0" positionX="570.0" positionY="270.0" priority="0" urgent="false"/>
4527-<arc id="collect to P0" inscription="1" source="collect" target="P0" type="normal" weight="1">
4528-<arcpath arcPointType="false" id="0" xCoord="76" yCoord="282"/>
4529-<arcpath arcPointType="false" id="1" xCoord="177" yCoord="282"/>
4530-</arc>
4531-<arc id="P0 to need_more_info" inscription="[0,inf)" source="P0" target="need_more_info" type="timed" weight="1">
4532-<arcpath arcPointType="false" id="0" xCoord="206" yCoord="287"/>
4533-<arcpath arcPointType="false" id="1" xCoord="276" yCoord="312"/>
4534-</arc>
4535-<arc id="need_more_info to P1" inscription="1" source="need_more_info" target="P1" type="normal" weight="1">
4536-<arcpath arcPointType="false" id="0" xCoord="286" yCoord="312"/>
4537-<arcpath arcPointType="false" id="1" xCoord="357" yCoord="287"/>
4538-</arc>
4539-<arc id="P1 to acquire_info" inscription="[3,5]" source="P1" target="acquire_info" type="timed" weight="1">
4540-<arcpath arcPointType="false" id="0" xCoord="357" yCoord="277"/>
4541-<arcpath arcPointType="false" id="1" xCoord="286" yCoord="252"/>
4542-</arc>
4543-<arc id="acquire_info to P0" inscription="1" source="acquire_info" target="P0" type="normal" weight="1">
4544-<arcpath arcPointType="false" id="0" xCoord="276" yCoord="252"/>
4545-<arcpath arcPointType="false" id="1" xCoord="206" yCoord="277"/>
4546-</arc>
4547-<arc id="P0 to accept" inscription="[2,inf)" source="P0" target="accept" type="timed" weight="1">
4548-<arcpath arcPointType="false" id="0" xCoord="192" yCoord="267"/>
4549-<arcpath arcPointType="false" id="1" xCoord="192" yCoord="147"/>
4550-</arc>
4551-<arc id="accept to P2" inscription="1" source="accept" target="P2" type="normal" weight="1">
4552-<arcpath arcPointType="false" id="0" xCoord="196" yCoord="132"/>
4553-<arcpath arcPointType="false" id="1" xCoord="327" yCoord="132"/>
4554-</arc>
4555-<arc id="P2 to pay_refund" inscription="[4,6]" source="P2" target="pay_refund" type="timed" weight="1">
4556-<arcpath arcPointType="false" id="0" xCoord="356" yCoord="132"/>
4557-<arcpath arcPointType="false" id="1" xCoord="486" yCoord="132"/>
4558-</arc>
4559-<arc id="pay_refund to P4" inscription="1" source="pay_refund" target="P4" type="normal" weight="1">
4560-<arcpath arcPointType="false" id="0" xCoord="492" yCoord="147"/>
4561-<arcpath arcPointType="false" id="1" xCoord="492" yCoord="267"/>
4562-</arc>
4563-<arc id="P0 to reject" inscription="[4,inf)" source="P0" target="reject" type="timed" weight="1">
4564-<arcpath arcPointType="false" id="0" xCoord="192" yCoord="296"/>
4565-<arcpath arcPointType="false" id="1" xCoord="192" yCoord="417"/>
4566-</arc>
4567-<arc id="reject to P3" inscription="1" source="reject" target="P3" type="normal" weight="1">
4568-<arcpath arcPointType="false" id="0" xCoord="196" yCoord="432"/>
4569-<arcpath arcPointType="false" id="1" xCoord="327" yCoord="432"/>
4570-</arc>
4571-<arc id="P3 to send_rejection" inscription="[4,10]" source="P3" target="send_rejection" type="timed" weight="1">
4572-<arcpath arcPointType="false" id="0" xCoord="356" yCoord="432"/>
4573-<arcpath arcPointType="false" id="1" xCoord="486" yCoord="432"/>
4574-</arc>
4575-<arc id="send_rejection to P4" inscription="1" source="send_rejection" target="P4" type="normal" weight="1">
4576-<arcpath arcPointType="false" id="0" xCoord="492" yCoord="417"/>
4577-<arcpath arcPointType="false" id="1" xCoord="492" yCoord="296"/>
4578-</arc>
4579-<arc id="P4 to archive" inscription="[8,10]" source="P4" target="archive" type="timed" weight="1">
4580-<arcpath arcPointType="false" id="0" xCoord="506" yCoord="282"/>
4581-<arcpath arcPointType="false" id="1" xCoord="576" yCoord="282"/>
4582-</arc>
4583-<arc id="archive to out" inscription="1" source="archive" target="out" type="normal" weight="1">
4584-<arcpath arcPointType="false" id="0" xCoord="586" yCoord="282"/>
4585-<arcpath arcPointType="false" id="1" xCoord="657" yCoord="282"/>
4586-</arc>
4587-</net>
4588-<net active="true" id="Monitor" type="P/T net">
4589-<place id="Timer" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Timer" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="120.0" positionY="90.0"/>
4590-<place id="out" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="out" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="270.0" positionY="90.0"/>
4591-<place id="finished_in_time" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="finished_in_time" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="195.0" positionY="315.0"/>
4592-<transition angle="0" id="T0" infiniteServer="false" name="T0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="195.0" positionY="195.0" priority="0" urgent="false"/>
4593-<arc id="Timer to T0" inscription="[0,Deadline]" source="Timer" target="T0" type="timed" weight="1">
4594-<arcpath arcPointType="false" id="0" xCoord="140" yCoord="114"/>
4595-<arcpath arcPointType="false" id="1" xCoord="201" yCoord="207"/>
4596-</arc>
4597-<arc id="out to T0" inscription="[0,inf)" source="out" target="T0" type="timed" weight="1">
4598-<arcpath arcPointType="false" id="0" xCoord="273" yCoord="114"/>
4599-<arcpath arcPointType="false" id="1" xCoord="211" yCoord="207"/>
4600-</arc>
4601-<arc id="T0 to finished_in_time" inscription="1" source="T0" target="finished_in_time" type="normal" weight="1">
4602-<arcpath arcPointType="false" id="0" xCoord="207" yCoord="222"/>
4603-<arcpath arcPointType="false" id="1" xCoord="207" yCoord="312"/>
4604-</arc>
4605-</net>
4606-<query active="true" approximationDenominator="5" capacity="1" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="true" extrapolationOption="AUTOMATIC" gcd="true" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Can workflow terminate?" overApproximation="true" pTrie="true" query="EF out = 1" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="HEURISTIC" symmetry="true" timeDarts="false" traceOption="NONE"/>
4607-<query active="true" approximationDenominator="2" capacity="1" discreteInclusion="false" enableOverApproximation="true" enableUnderApproximation="false" extrapolationOption="AUTOMATIC" gcd="true" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Can workflow terminate by Deadline?" overApproximation="true" pTrie="true" query="EF Monitor.finished_in_time = 1" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="HEURISTIC" symmetry="true" timeDarts="false" traceOption="NONE"/>
4608-<query active="true" approximationDenominator="2" capacity="1" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="AUTOMATIC" gcd="true" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Proper termination" overApproximation="true" pTrie="true" query="AG (out = 0 or (in = 0 and Registration.P1 = 0 and Registration.P2 = 0 and Registration.P3 = 0 and Registration.P4 = 0 and Handling.P0 = 0 and Handling.P1 = 0 and Handling.P2 = 0 and Handling.P3 = 0 and Monitor.finished_in_time = 0))" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="HEURISTIC" symmetry="true" timeDarts="false" traceOption="NONE"/>
4609-<query active="true" approximationDenominator="2" capacity="1" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="AUTOMATIC" gcd="false" hashTableSize="MB_16" inclusionPlaces="*NONE*" name="Strong Soundness" overApproximation="false" pTrie="true" query="AF out = 1" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="HEURISTIC" symmetry="true" timeDarts="false" traceOption="SOME"/>
4610-<k-bound bound="3"/>
4611-</pnml>
4612
4613=== added file 'src/resources/Example nets/workflow-medical.tapn'
4614--- src/resources/Example nets/workflow-medical.tapn 1970-01-01 00:00:00 +0000
4615+++ src/resources/Example nets/workflow-medical.tapn 2018-08-11 09:29:00 +0000
4616@@ -0,0 +1,271 @@
4617+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
4618+<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
4619+<shared-place initialMarking="0" invariant="&lt;= 30" name="RequestMedicalCheck"/>
4620+<shared-place initialMarking="0" invariant="&lt; inf" name="MedicalCheckOK"/>
4621+<shared-place initialMarking="0" invariant="&lt; inf" name="MedicalCheckNOK"/>
4622+<shared-transition name="Arrival" urgent="true"/>
4623+<shared-transition name="MedicalCheck" urgent="false"/>
4624+<shared-transition name="ReBook" urgent="false"/>
4625+<shared-transition name="Treatment" urgent="false"/>
4626+<shared-transition name="Checkout" urgent="false"/>
4627+<constant name="Deadline" value="91"/>
4628+<constant name="ArrivalTime" value="30"/>
4629+<net active="true" id="Patient" type="P/T net">
4630+<place id="PatientFinished" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="PatientFinished" nameOffsetX="-9.0" nameOffsetY="15.0" positionX="180.0" positionY="285.0"/>
4631+<place id="WaitingForDoctor" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="WaitingForDoctor" nameOffsetX="5.0" nameOffsetY="16.0" positionX="360.0" positionY="285.0"/>
4632+<place id="WaitForDecision" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="WaitForDecision" nameOffsetX="118.0" nameOffsetY="44.0" positionX="360.0" positionY="465.0"/>
4633+<place id="Treated" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Treated" nameOffsetX="-5.0" nameOffsetY="46.0" positionX="180.0" positionY="465.0"/>
4634+<place id="Timer" initialMarking="1" invariant="&lt;= ArrivalTime" markingOffsetX="0.0" markingOffsetY="0.0" name="Timer" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="180.0"/>
4635+<place id="Patient" initialMarking="4" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Patient" nameOffsetX="23.0" nameOffsetY="-4.0" positionX="360.0" positionY="90.0"/>
4636+<place id="WaitingForNurse" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="WaitingForNurse" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="360.0" positionY="225.0"/>
4637+<transition angle="0" id="Arrive" infiniteServer="false" name="Arrive" nameOffsetX="76.0" nameOffsetY="17.0" positionX="360.0" positionY="180.0" priority="0" urgent="false"/>
4638+<transition angle="270" id="MedicalCheck" infiniteServer="false" name="MedicalCheck" nameOffsetX="114.0" nameOffsetY="9.0" positionX="360.0" positionY="375.0" priority="0" urgent="false"/>
4639+<transition angle="0" id="Treatment" infiniteServer="false" name="Treatment" nameOffsetX="43.0" nameOffsetY="55.0" positionX="270.0" positionY="465.0" priority="0" urgent="false"/>
4640+<transition angle="90" id="Checkout" infiniteServer="false" name="Checkout" nameOffsetX="-9.0" nameOffsetY="35.0" positionX="180.0" positionY="375.0" priority="0" urgent="false"/>
4641+<transition angle="225" id="ReBook" infiniteServer="false" name="ReBook" nameOffsetX="39.0" nameOffsetY="-8.0" positionX="270.0" positionY="375.0" priority="0" urgent="false"/>
4642+<transition angle="0" id="Arrival" infiniteServer="false" name="Arrival" nameOffsetX="73.0" nameOffsetY="11.0" positionX="465.0" positionY="255.0" priority="0" urgent="true"/>
4643+<transition angle="0" id="T0" infiniteServer="false" name="T0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="90.0" priority="0" urgent="false"/>
4644+<arc id="Timer to Arrival" inscription="[ArrivalTime,ArrivalTime]" source="Timer" target="Arrive" type="timed" weight="1">
4645+<arcpath arcPointType="false" id="0" xCoord="174" yCoord="183"/>
4646+<arcpath arcPointType="true" id="1" xCoord="273" yCoord="153"/>
4647+<arcpath arcPointType="false" id="2" xCoord="367" yCoord="187"/>
4648+</arc>
4649+<arc id="Arrival to Timer" inscription="1" source="Arrive" target="Timer" type="normal" weight="1">
4650+<arcpath arcPointType="false" id="0" xCoord="366" yCoord="197"/>
4651+<arcpath arcPointType="true" id="1" xCoord="243" yCoord="228"/>
4652+<arcpath arcPointType="false" id="2" xCoord="175" yCoord="198"/>
4653+</arc>
4654+<arc id="Waiting to MedicalCheck" inscription="[0,inf):1" source="WaitingForDoctor" target="MedicalCheck" type="transport" weight="1">
4655+<arcpath arcPointType="false" id="0" xCoord="372" yCoord="311"/>
4656+<arcpath arcPointType="false" id="1" xCoord="372" yCoord="382"/>
4657+</arc>
4658+<arc id="MedicalCheck to WaitForDecision" inscription="[0,inf):1" source="MedicalCheck" target="WaitForDecision" type="transport" weight="1">
4659+<arcpath arcPointType="false" id="0" xCoord="372" yCoord="392"/>
4660+<arcpath arcPointType="false" id="1" xCoord="372" yCoord="462"/>
4661+</arc>
4662+<arc id="WaitForDecision to ReBook" inscription="[0,inf):1" source="WaitForDecision" target="ReBook" type="transport" weight="1">
4663+<arcpath arcPointType="false" id="0" xCoord="361" yCoord="466"/>
4664+<arcpath arcPointType="false" id="1" xCoord="286" yCoord="390"/>
4665+</arc>
4666+<arc id="ReBook to PatientFinished" inscription="[0,inf):1" source="ReBook" target="PatientFinished" type="transport" weight="1">
4667+<arcpath arcPointType="false" id="0" xCoord="278" yCoord="383"/>
4668+<arcpath arcPointType="false" id="1" xCoord="202" yCoord="307"/>
4669+</arc>
4670+<arc id="WaitForDecision to Treatment" inscription="[0,inf):1" source="WaitForDecision" target="Treatment" type="transport" weight="1">
4671+<arcpath arcPointType="false" id="0" xCoord="357" yCoord="477"/>
4672+<arcpath arcPointType="false" id="1" xCoord="286" yCoord="477"/>
4673+</arc>
4674+<arc id="Treatment to Treated" inscription="[0,inf):1" source="Treatment" target="Treated" type="transport" weight="1">
4675+<arcpath arcPointType="false" id="0" xCoord="276" yCoord="477"/>
4676+<arcpath arcPointType="false" id="1" xCoord="206" yCoord="477"/>
4677+</arc>
4678+<arc id="Treated to Checkout" inscription="[0,inf):1" source="Treated" target="Checkout" type="transport" weight="1">
4679+<arcpath arcPointType="false" id="0" xCoord="191" yCoord="462"/>
4680+<arcpath arcPointType="false" id="1" xCoord="191" yCoord="391"/>
4681+</arc>
4682+<arc id="Checkout to PatientFinished" inscription="[0,inf):1" source="Checkout" target="PatientFinished" type="transport" weight="1">
4683+<arcpath arcPointType="false" id="0" xCoord="191" yCoord="381"/>
4684+<arcpath arcPointType="false" id="1" xCoord="191" yCoord="311"/>
4685+</arc>
4686+<arc id="Patient to Arrival" inscription="[0,inf)" source="Patient" target="Arrive" type="timed" weight="1">
4687+<arcpath arcPointType="false" id="0" xCoord="372" yCoord="116"/>
4688+<arcpath arcPointType="false" id="1" xCoord="372" yCoord="177"/>
4689+</arc>
4690+<arc id="P0 to Arrival" inscription="[0,inf)" source="WaitingForNurse" target="Arrival" type="timed" weight="1">
4691+<arcpath arcPointType="false" id="0" xCoord="386" yCoord="240"/>
4692+<arcpath arcPointType="false" id="1" xCoord="472" yCoord="262"/>
4693+</arc>
4694+<arc id="Arrival to Waiting" inscription="1" source="Arrival" target="WaitingForDoctor" type="normal" weight="1">
4695+<arcpath arcPointType="false" id="0" xCoord="471" yCoord="272"/>
4696+<arcpath arcPointType="false" id="1" xCoord="386" yCoord="293"/>
4697+</arc>
4698+<arc id="Arrive to P0" inscription="1" source="Arrive" target="WaitingForNurse" type="normal" weight="1">
4699+<arcpath arcPointType="false" id="0" xCoord="372" yCoord="207"/>
4700+<arcpath arcPointType="false" id="1" xCoord="372" yCoord="222"/>
4701+</arc>
4702+<arc id="Patient to T0" inscription="[0,inf)" source="Patient" target="T0" type="tapnInhibitor" weight="1">
4703+<arcpath arcPointType="false" id="0" xCoord="357" yCoord="102"/>
4704+<arcpath arcPointType="false" id="1" xCoord="166" yCoord="102"/>
4705+</arc>
4706+<arc id="Timer to T0" inscription="[0,inf)" source="Timer" target="T0" type="timed" weight="1">
4707+<arcpath arcPointType="false" id="0" xCoord="162" yCoord="177"/>
4708+<arcpath arcPointType="false" id="1" xCoord="162" yCoord="117"/>
4709+</arc>
4710+</net>
4711+<net active="true" id="Nurse" type="P/T net">
4712+<place id="Nurse" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Nurse" nameOffsetX="-5.0" nameOffsetY="-7.0" positionX="45.0" positionY="90.0"/>
4713+<place id="Busy" initialMarking="0" invariant="&lt;= 10" markingOffsetX="0.0" markingOffsetY="0.0" name="Busy" nameOffsetX="38.0" nameOffsetY="-12.0" positionX="270.0" positionY="90.0"/>
4714+<place id="AwaitingAnswer" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="AwaitingAnswer" nameOffsetX="117.0" nameOffsetY="0.0" positionX="390.0" positionY="180.0"/>
4715+<place id="RequestMedicalCheck" initialMarking="0" invariant="&lt;= 30" markingOffsetX="0.0" markingOffsetY="0.0" name="RequestMedicalCheck" nameOffsetX="170.0" nameOffsetY="21.0" positionX="510.0" positionY="90.0"/>
4716+<place id="MedicalCheckOK" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MedicalCheckOK" nameOffsetX="138.0" nameOffsetY="20.0" positionX="510.0" positionY="390.0"/>
4717+<place id="MedicalCheckNOK" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MedicalCheckNOK" nameOffsetX="149.0" nameOffsetY="21.0" positionX="510.0" positionY="270.0"/>
4718+<place id="ReadyToReBook" initialMarking="0" invariant="&lt;= 5" markingOffsetX="0.0" markingOffsetY="0.0" name="ReadyToReBook" nameOffsetX="68.0" nameOffsetY="-19.0" positionX="270.0" positionY="180.0"/>
4719+<place id="ReadyToCheckout" initialMarking="0" invariant="&lt;= 15" markingOffsetX="0.0" markingOffsetY="0.0" name="ReadyToCheckout" nameOffsetX="53.0" nameOffsetY="-10.0" positionX="285.0" positionY="390.0"/>
4720+<transition angle="0" id="Arrival" infiniteServer="false" name="Arrival" nameOffsetX="27.0" nameOffsetY="-10.0" positionX="150.0" positionY="90.0" priority="0" urgent="true"/>
4721+<transition angle="0" id="OpenPatientJournal" infiniteServer="false" name="OpenPatientJournal" nameOffsetX="56.0" nameOffsetY="-11.0" positionX="390.0" positionY="90.0" priority="0" urgent="false"/>
4722+<transition angle="0" id="ReBook" infiniteServer="false" name="ReBook" nameOffsetX="39.0" nameOffsetY="-12.0" positionX="150.0" positionY="180.0" priority="0" urgent="false"/>
4723+<transition angle="0" id="FindNewDate" infiniteServer="false" name="FindNewDate" nameOffsetX="-1.0" nameOffsetY="16.0" positionX="270.0" positionY="270.0" priority="0" urgent="true"/>
4724+<transition angle="0" id="ClosePatientJournal" infiniteServer="false" name="ClosePatientJournal" nameOffsetX="73.0" nameOffsetY="45.0" positionX="390.0" positionY="390.0" priority="0" urgent="true"/>
4725+<transition angle="0" id="Checkout" infiniteServer="false" name="Checkout" nameOffsetX="52.0" nameOffsetY="-36.0" positionX="150.0" positionY="390.0" priority="0" urgent="false"/>
4726+<arc id="Nurse to Arrival" inscription="[0,inf)" source="Nurse" target="Arrival" type="timed" weight="1">
4727+<arcpath arcPointType="false" id="0" xCoord="73" yCoord="104"/>
4728+<arcpath arcPointType="false" id="1" xCoord="156" yCoord="102"/>
4729+</arc>
4730+<arc id="Arrival to Busy" inscription="1" source="Arrival" target="Busy" type="normal" weight="1">
4731+<arcpath arcPointType="false" id="0" xCoord="168" yCoord="104"/>
4732+<arcpath arcPointType="false" id="1" xCoord="269" yCoord="104"/>
4733+</arc>
4734+<arc id="Busy to OpenPatientJournal" inscription="[0,10]" source="Busy" target="OpenPatientJournal" type="timed" weight="1">
4735+<arcpath arcPointType="false" id="0" xCoord="298" yCoord="104"/>
4736+<arcpath arcPointType="false" id="1" xCoord="396" yCoord="102"/>
4737+</arc>
4738+<arc id="OpenPatientJournal to AwaitingAnswer" inscription="1" source="OpenPatientJournal" target="AwaitingAnswer" type="normal" weight="1">
4739+<arcpath arcPointType="false" id="0" xCoord="402" yCoord="117"/>
4740+<arcpath arcPointType="false" id="1" xCoord="404" yCoord="179"/>
4741+</arc>
4742+<arc id="OpenPatientJournal to RequestMedicalCheck" inscription="1" source="OpenPatientJournal" target="RequestMedicalCheck" type="normal" weight="1">
4743+<arcpath arcPointType="false" id="0" xCoord="408" yCoord="104"/>
4744+<arcpath arcPointType="false" id="1" xCoord="509" yCoord="104"/>
4745+</arc>
4746+<arc id="MedicalCheckNOK to FindNewDate" inscription="[0,inf)" source="MedicalCheckNOK" target="FindNewDate" type="timed" weight="1">
4747+<arcpath arcPointType="false" id="0" xCoord="509" yCoord="284"/>
4748+<arcpath arcPointType="false" id="1" xCoord="286" yCoord="287"/>
4749+</arc>
4750+<arc id="FindNewDate to ReadyToReBook" inscription="1" source="FindNewDate" target="ReadyToReBook" type="normal" weight="1">
4751+<arcpath arcPointType="false" id="0" xCoord="282" yCoord="267"/>
4752+<arcpath arcPointType="false" id="1" xCoord="284" yCoord="208"/>
4753+</arc>
4754+<arc id="AwaitingAnswer to FindNewDate" inscription="[0,inf)" source="AwaitingAnswer" target="FindNewDate" type="timed" weight="1">
4755+<arcpath arcPointType="false" id="0" xCoord="391" yCoord="202"/>
4756+<arcpath arcPointType="false" id="1" xCoord="289" yCoord="279"/>
4757+</arc>
4758+<arc id="ReadyToReBook to ReBook" inscription="[1,5]" source="ReadyToReBook" target="ReBook" type="timed" weight="1">
4759+<arcpath arcPointType="false" id="0" xCoord="269" yCoord="194"/>
4760+<arcpath arcPointType="false" id="1" xCoord="166" yCoord="192"/>
4761+</arc>
4762+<arc id="ReBook to Nurse" inscription="1" source="ReBook" target="Nurse" type="normal" weight="1">
4763+<arcpath arcPointType="false" id="0" xCoord="158" yCoord="194"/>
4764+<arcpath arcPointType="false" id="1" xCoord="70" yCoord="114"/>
4765+</arc>
4766+<arc id="MedicalCheckOK to ClosePatientJournal" inscription="[0,inf)" source="MedicalCheckOK" target="ClosePatientJournal" type="timed" weight="1">
4767+<arcpath arcPointType="false" id="0" xCoord="509" yCoord="404"/>
4768+<arcpath arcPointType="false" id="1" xCoord="406" yCoord="402"/>
4769+</arc>
4770+<arc id="ClosePatientJournal to ReadyToCheckout" inscription="1" source="ClosePatientJournal" target="ReadyToCheckout" type="normal" weight="1">
4771+<arcpath arcPointType="false" id="0" xCoord="396" yCoord="402"/>
4772+<arcpath arcPointType="false" id="1" xCoord="313" yCoord="404"/>
4773+</arc>
4774+<arc id="AwaitingAnswer to ClosePatientJournal" inscription="[0,inf)" source="AwaitingAnswer" target="ClosePatientJournal" type="timed" weight="1">
4775+<arcpath arcPointType="false" id="0" xCoord="413" yCoord="205"/>
4776+<arcpath arcPointType="true" id="1" xCoord="453" yCoord="318"/>
4777+<arcpath arcPointType="false" id="2" xCoord="404" yCoord="389"/>
4778+</arc>
4779+<arc id="ReadyToCheckout to Checkout" inscription="[10,15]" source="ReadyToCheckout" target="Checkout" type="timed" weight="1">
4780+<arcpath arcPointType="false" id="0" xCoord="284" yCoord="404"/>
4781+<arcpath arcPointType="false" id="1" xCoord="166" yCoord="402"/>
4782+</arc>
4783+<arc id="Checkout to Nurse" inscription="1" source="Checkout" target="Nurse" type="normal" weight="1">
4784+<arcpath arcPointType="false" id="0" xCoord="164" yCoord="389"/>
4785+<arcpath arcPointType="false" id="1" xCoord="64" yCoord="118"/>
4786+</arc>
4787+</net>
4788+<net active="true" id="Doctor" type="P/T net">
4789+<place id="Doctor" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Doctor" nameOffsetX="-8.0" nameOffsetY="13.0" positionX="345.0" positionY="30.0"/>
4790+<place id="RequestMedicalCheck" initialMarking="0" invariant="&lt;= 30" markingOffsetX="0.0" markingOffsetY="0.0" name="RequestMedicalCheck" nameOffsetX="-19.0" nameOffsetY="16.0" positionX="150.0" positionY="120.0"/>
4791+<place id="MedicalCheckNOK" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MedicalCheckNOK" nameOffsetX="-19.0" nameOffsetY="19.0" positionX="150.0" positionY="225.0"/>
4792+<place id="MedicalCheckOK" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MedicalCheckOK" nameOffsetX="-21.0" nameOffsetY="7.0" positionX="150.0" positionY="330.0"/>
4793+<place id="ReadyForCheck" initialMarking="0" invariant="&lt;= 40" markingOffsetX="0.0" markingOffsetY="0.0" name="ReadyForCheck" nameOffsetX="126.0" nameOffsetY="21.0" positionX="540.0" positionY="120.0"/>
4794+<place id="Decision" initialMarking="0" invariant="&lt;= 5" markingOffsetX="0.0" markingOffsetY="0.0" name="Decision" nameOffsetX="38.0" nameOffsetY="-18.0" positionX="450.0" positionY="225.0"/>
4795+<place id="Finished" initialMarking="0" invariant="&lt;= 10" markingOffsetX="0.0" markingOffsetY="0.0" name="Finished" nameOffsetX="37.0" nameOffsetY="-9.0" positionX="345.0" positionY="330.0"/>
4796+<transition angle="0" id="ReadPatientJournal" infiniteServer="false" name="ReadPatientJournal" nameOffsetX="140.0" nameOffsetY="6.0" positionX="345.0" positionY="120.0" priority="0" urgent="false"/>
4797+<transition angle="0" id="MedicalCheck" infiniteServer="false" name="MedicalCheck" nameOffsetX="107.0" nameOffsetY="12.0" positionX="540.0" positionY="225.0" priority="0" urgent="false"/>
4798+<transition angle="0" id="Treatment" infiniteServer="false" name="Treatment" nameOffsetX="87.0" nameOffsetY="14.0" positionX="450.0" positionY="330.0" priority="0" urgent="false"/>
4799+<transition angle="0" id="NOK" infiniteServer="false" name="NOK" nameOffsetX="48.0" nameOffsetY="-1.0" positionX="345.0" positionY="225.0" priority="0" urgent="false"/>
4800+<transition angle="0" id="UpdatePatientJournal" infiniteServer="false" name="UpdatePatientJournal" nameOffsetX="71.0" nameOffsetY="51.0" positionX="255.0" positionY="330.0" priority="0" urgent="false"/>
4801+<arc id="Doctor to ReadPatientJournal" inscription="[0,inf)" source="Doctor" target="ReadPatientJournal" type="timed" weight="1">
4802+<arcpath arcPointType="false" id="0" xCoord="359" yCoord="58"/>
4803+<arcpath arcPointType="false" id="1" xCoord="357" yCoord="117"/>
4804+</arc>
4805+<arc id="RequestMedicalCheck to ReadPatientJournal" inscription="[5,30]" source="RequestMedicalCheck" target="ReadPatientJournal" type="timed" weight="1">
4806+<arcpath arcPointType="false" id="0" xCoord="178" yCoord="134"/>
4807+<arcpath arcPointType="false" id="1" xCoord="351" yCoord="132"/>
4808+</arc>
4809+<arc id="ReadPatientJournal to ReadyForCheck" inscription="1" source="ReadPatientJournal" target="ReadyForCheck" type="normal" weight="1">
4810+<arcpath arcPointType="false" id="0" xCoord="363" yCoord="134"/>
4811+<arcpath arcPointType="false" id="1" xCoord="539" yCoord="134"/>
4812+</arc>
4813+<arc id="ReadyForCheck to MedicalCheck" inscription="[10,40]" source="ReadyForCheck" target="MedicalCheck" type="timed" weight="1">
4814+<arcpath arcPointType="false" id="0" xCoord="554" yCoord="148"/>
4815+<arcpath arcPointType="false" id="1" xCoord="552" yCoord="222"/>
4816+</arc>
4817+<arc id="MedicalCheck to Decision" inscription="1" source="MedicalCheck" target="Decision" type="normal" weight="1">
4818+<arcpath arcPointType="false" id="0" xCoord="548" yCoord="239"/>
4819+<arcpath arcPointType="false" id="1" xCoord="478" yCoord="239"/>
4820+</arc>
4821+<arc id="Decision to NOK" inscription="[1,5]" source="Decision" target="NOK" type="timed" weight="1">
4822+<arcpath arcPointType="false" id="0" xCoord="449" yCoord="239"/>
4823+<arcpath arcPointType="false" id="1" xCoord="361" yCoord="237"/>
4824+</arc>
4825+<arc id="NOK to MedicalCheckNOK" inscription="1" source="NOK" target="MedicalCheckNOK" type="normal" weight="1">
4826+<arcpath arcPointType="false" id="0" xCoord="351" yCoord="237"/>
4827+<arcpath arcPointType="false" id="1" xCoord="178" yCoord="239"/>
4828+</arc>
4829+<arc id="Decision to Treatment" inscription="[1,5]" source="Decision" target="Treatment" type="timed" weight="1">
4830+<arcpath arcPointType="false" id="0" xCoord="464" yCoord="253"/>
4831+<arcpath arcPointType="false" id="1" xCoord="462" yCoord="327"/>
4832+</arc>
4833+<arc id="Treatment to Finished" inscription="1" source="Treatment" target="Finished" type="normal" weight="1">
4834+<arcpath arcPointType="false" id="0" xCoord="458" yCoord="344"/>
4835+<arcpath arcPointType="false" id="1" xCoord="373" yCoord="344"/>
4836+</arc>
4837+<arc id="Finished to UpdatePatientJournal" inscription="[5,10]" source="Finished" target="UpdatePatientJournal" type="timed" weight="1">
4838+<arcpath arcPointType="false" id="0" xCoord="344" yCoord="344"/>
4839+<arcpath arcPointType="false" id="1" xCoord="271" yCoord="342"/>
4840+</arc>
4841+<arc id="UpdatePatientJournal to MedicalCheckOK" inscription="1" source="UpdatePatientJournal" target="MedicalCheckOK" type="normal" weight="1">
4842+<arcpath arcPointType="false" id="0" xCoord="261" yCoord="342"/>
4843+<arcpath arcPointType="false" id="1" xCoord="178" yCoord="344"/>
4844+</arc>
4845+<arc id="NOK to Doctor" inscription="1" source="NOK" target="Doctor" type="normal" weight="1">
4846+<arcpath arcPointType="false" id="0" xCoord="359" yCoord="224"/>
4847+<arcpath arcPointType="true" id="1" xCoord="318" yCoord="123"/>
4848+<arcpath arcPointType="false" id="2" xCoord="352" yCoord="57"/>
4849+</arc>
4850+<arc id="UpdatePatientJournal to Doctor" inscription="1" source="UpdatePatientJournal" target="Doctor" type="normal" weight="1">
4851+<arcpath arcPointType="false" id="0" xCoord="269" yCoord="329"/>
4852+<arcpath arcPointType="true" id="1" xCoord="258" yCoord="108"/>
4853+<arcpath arcPointType="false" id="2" xCoord="346" yCoord="52"/>
4854+</arc>
4855+</net>
4856+<net active="true" id="Monitor" type="P/T net">
4857+<place id="InProgress" initialMarking="0" invariant="&lt;= Deadline" markingOffsetX="0.0" markingOffsetY="0.0" name="InProgress" nameOffsetX="-9.0" nameOffsetY="8.0" positionX="120.0" positionY="135.0"/>
4858+<place id="MissedDeadline" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MissedDeadline" nameOffsetX="64.0" nameOffsetY="-12.0" positionX="405.0" positionY="135.0"/>
4859+<transition angle="270" id="Arrival" infiniteServer="false" name="Arrival" nameOffsetX="-12.0" nameOffsetY="22.0" positionX="120.0" positionY="30.0" priority="0" urgent="true"/>
4860+<transition angle="315" id="Treatment" infiniteServer="false" name="Treatment" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="60.0" positionY="225.0" priority="0" urgent="false"/>
4861+<transition angle="225" id="ReBook" infiniteServer="false" name="ReBook" nameOffsetX="68.0" nameOffsetY="36.0" positionX="195.0" positionY="225.0" priority="0" urgent="false"/>
4862+<transition angle="0" id="MissDeadline" infiniteServer="false" name="MissDeadline" nameOffsetX="56.0" nameOffsetY="-13.0" positionX="270.0" positionY="135.0" priority="0" urgent="false"/>
4863+<arc id="Arrival to InProgress" inscription="1" source="Arrival" target="InProgress" type="normal" weight="1">
4864+<arcpath arcPointType="false" id="0" xCoord="132" yCoord="47"/>
4865+<arcpath arcPointType="false" id="1" xCoord="132" yCoord="132"/>
4866+</arc>
4867+<arc id="InProgress to Treatment" inscription="[0,inf)" source="InProgress" target="Treatment" type="timed" weight="1">
4868+<arcpath arcPointType="false" id="0" xCoord="123" yCoord="159"/>
4869+<arcpath arcPointType="false" id="1" xCoord="75" yCoord="233"/>
4870+</arc>
4871+<arc id="InProgress to ReBook" inscription="[0,inf)" source="InProgress" target="ReBook" type="timed" weight="1">
4872+<arcpath arcPointType="false" id="0" xCoord="141" yCoord="158"/>
4873+<arcpath arcPointType="false" id="1" xCoord="203" yCoord="233"/>
4874+</arc>
4875+<arc id="InProgress to MissDeadline" inscription="[Deadline,Deadline]" source="InProgress" target="MissDeadline" type="timed" weight="1">
4876+<arcpath arcPointType="false" id="0" xCoord="146" yCoord="147"/>
4877+<arcpath arcPointType="false" id="1" xCoord="276" yCoord="147"/>
4878+</arc>
4879+<arc id="MissDeadline to MissedDeadline" inscription="1" source="MissDeadline" target="MissedDeadline" type="normal" weight="1">
4880+<arcpath arcPointType="false" id="0" xCoord="286" yCoord="147"/>
4881+<arcpath arcPointType="false" id="1" xCoord="402" yCoord="147"/>
4882+</arc>
4883+</net>
4884+<query active="true" approximationDenominator="2" capacity="2" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="true" hashTableSize="null" inclusionPlaces="*NONE*" name="Arrival-to-Treatment Deadline OK" overApproximation="true" pTrie="false" query="AG Monitor.MissedDeadline &lt;= 0" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="HEURISTIC" symmetry="true" timeDarts="false" traceOption="SOME"/>
4885+<query active="true" approximationDenominator="2" capacity="2" discreteInclusion="false" enableOverApproximation="false" enableUnderApproximation="false" extrapolationOption="null" gcd="false" hashTableSize="null" inclusionPlaces="*NONE*" name="Eventually All Patients Finished" overApproximation="false" pTrie="false" query="AF Patient.PatientFinished &gt;= 4" reduction="true" reductionOption="VerifyTAPNdiscreteVerification" searchOption="HEURISTIC" symmetry="true" timeDarts="false" traceOption="SOME"/>
4886+<k-bound bound="3"/>
4887+</pnml>
4888
4889=== removed file 'src/resources/Example nets/workflow-medical.xml'
4890--- src/resources/Example nets/workflow-medical.xml 2014-06-08 19:45:48 +0000
4891+++ src/resources/Example nets/workflow-medical.xml 1970-01-01 00:00:00 +0000
4892@@ -1,271 +0,0 @@
4893-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
4894-<pnml xmlns="http://www.informatik.hu-berlin.de/top/pnml/ptNetb">
4895-<shared-place initialMarking="0" invariant="&lt;= 30" name="RequestMedicalCheck"/>
4896-<shared-place initialMarking="0" invariant="&lt; inf" name="MedicalCheckOK"/>
4897-<shared-place initialMarking="0" invariant="&lt; inf" name="MedicalCheckNOK"/>
4898-<shared-transition name="Arrival" urgent="true"/>
4899-<shared-transition name="MedicalCheck" urgent="false"/>
4900-<shared-transition name="ReBook" urgent="false"/>
4901-<shared-transition name="Treatment" urgent="false"/>
4902-<shared-transition name="Checkout" urgent="false"/>
4903-<constant name="Deadline" value="91"/>
4904-<constant name="ArrivalTime" value="30"/>
4905-<net active="true" id="Patient" type="P/T net">
4906-<place id="PatientFinished" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="PatientFinished" nameOffsetX="-9.0" nameOffsetY="15.0" positionX="180.0" positionY="285.0"/>
4907-<place id="WaitingForDoctor" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="WaitingForDoctor" nameOffsetX="5.0" nameOffsetY="16.0" positionX="360.0" positionY="285.0"/>
4908-<place id="WaitForDecision" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="WaitForDecision" nameOffsetX="118.0" nameOffsetY="44.0" positionX="360.0" positionY="465.0"/>
4909-<place id="Treated" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Treated" nameOffsetX="-5.0" nameOffsetY="46.0" positionX="180.0" positionY="465.0"/>
4910-<place id="Timer" initialMarking="1" invariant="&lt;= ArrivalTime" markingOffsetX="0.0" markingOffsetY="0.0" name="Timer" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="180.0"/>
4911-<place id="Patient" initialMarking="4" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Patient" nameOffsetX="23.0" nameOffsetY="-4.0" positionX="360.0" positionY="90.0"/>
4912-<place id="WaitingForNurse" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="WaitingForNurse" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="360.0" positionY="225.0"/>
4913-<transition angle="0" id="Arrive" infiniteServer="false" name="Arrive" nameOffsetX="76.0" nameOffsetY="17.0" positionX="360.0" positionY="180.0" priority="0" urgent="false"/>
4914-<transition angle="270" id="MedicalCheck" infiniteServer="false" name="MedicalCheck" nameOffsetX="114.0" nameOffsetY="9.0" positionX="360.0" positionY="375.0" priority="0" urgent="false"/>
4915-<transition angle="0" id="Treatment" infiniteServer="false" name="Treatment" nameOffsetX="43.0" nameOffsetY="55.0" positionX="270.0" positionY="465.0" priority="0" urgent="false"/>
4916-<transition angle="90" id="Checkout" infiniteServer="false" name="Checkout" nameOffsetX="-9.0" nameOffsetY="35.0" positionX="180.0" positionY="375.0" priority="0" urgent="false"/>
4917-<transition angle="225" id="ReBook" infiniteServer="false" name="ReBook" nameOffsetX="39.0" nameOffsetY="-8.0" positionX="270.0" positionY="375.0" priority="0" urgent="false"/>
4918-<transition angle="0" id="Arrival" infiniteServer="false" name="Arrival" nameOffsetX="73.0" nameOffsetY="11.0" positionX="465.0" positionY="255.0" priority="0" urgent="true"/>
4919-<transition angle="0" id="T0" infiniteServer="false" name="T0" nameOffsetX="-5.0" nameOffsetY="35.0" positionX="150.0" positionY="90.0" priority="0" urgent="false"/>
4920-<arc id="Timer to Arrival" inscription="[ArrivalTime,ArrivalTime]" source="Timer" target="Arrive" type="timed" weight="1">
4921-<arcpath arcPointType="false" id="0" xCoord="174" yCoord="183"/>
4922-<arcpath arcPointType="true" id="1" xCoord="273" yCoord="153"/>
4923-<arcpath arcPointType="false" id="2" xCoord="367" yCoord="187"/>
4924-</arc>
4925-<arc id="Arrival to Timer" inscription="1" source="Arrive" target="Timer" type="normal" weight="1">
4926-<arcpath arcPointType="false" id="0" xCoord="366" yCoord="197"/>
4927-<arcpath arcPointType="true" id="1" xCoord="243" yCoord="228"/>
4928-<arcpath arcPointType="false" id="2" xCoord="175" yCoord="198"/>
4929-</arc>
4930-<arc id="Waiting to MedicalCheck" inscription="[0,inf):1" source="WaitingForDoctor" target="MedicalCheck" type="transport" weight="1">
4931-<arcpath arcPointType="false" id="0" xCoord="372" yCoord="311"/>
4932-<arcpath arcPointType="false" id="1" xCoord="372" yCoord="382"/>
4933-</arc>
4934-<arc id="MedicalCheck to WaitForDecision" inscription="[0,inf):1" source="MedicalCheck" target="WaitForDecision" type="transport" weight="1">
4935-<arcpath arcPointType="false" id="0" xCoord="372" yCoord="392"/>
4936-<arcpath arcPointType="false" id="1" xCoord="372" yCoord="462"/>
4937-</arc>
4938-<arc id="WaitForDecision to ReBook" inscription="[0,inf):1" source="WaitForDecision" target="ReBook" type="transport" weight="1">
4939-<arcpath arcPointType="false" id="0" xCoord="361" yCoord="466"/>
4940-<arcpath arcPointType="false" id="1" xCoord="286" yCoord="390"/>
4941-</arc>
4942-<arc id="ReBook to PatientFinished" inscription="[0,inf):1" source="ReBook" target="PatientFinished" type="transport" weight="1">
4943-<arcpath arcPointType="false" id="0" xCoord="278" yCoord="383"/>
4944-<arcpath arcPointType="false" id="1" xCoord="202" yCoord="307"/>
4945-</arc>
4946-<arc id="WaitForDecision to Treatment" inscription="[0,inf):1" source="WaitForDecision" target="Treatment" type="transport" weight="1">
4947-<arcpath arcPointType="false" id="0" xCoord="357" yCoord="477"/>
4948-<arcpath arcPointType="false" id="1" xCoord="286" yCoord="477"/>
4949-</arc>
4950-<arc id="Treatment to Treated" inscription="[0,inf):1" source="Treatment" target="Treated" type="transport" weight="1">
4951-<arcpath arcPointType="false" id="0" xCoord="276" yCoord="477"/>
4952-<arcpath arcPointType="false" id="1" xCoord="206" yCoord="477"/>
4953-</arc>
4954-<arc id="Treated to Checkout" inscription="[0,inf):1" source="Treated" target="Checkout" type="transport" weight="1">
4955-<arcpath arcPointType="false" id="0" xCoord="191" yCoord="462"/>
4956-<arcpath arcPointType="false" id="1" xCoord="191" yCoord="391"/>
4957-</arc>
4958-<arc id="Checkout to PatientFinished" inscription="[0,inf):1" source="Checkout" target="PatientFinished" type="transport" weight="1">
4959-<arcpath arcPointType="false" id="0" xCoord="191" yCoord="381"/>
4960-<arcpath arcPointType="false" id="1" xCoord="191" yCoord="311"/>
4961-</arc>
4962-<arc id="Patient to Arrival" inscription="[0,inf)" source="Patient" target="Arrive" type="timed" weight="1">
4963-<arcpath arcPointType="false" id="0" xCoord="372" yCoord="116"/>
4964-<arcpath arcPointType="false" id="1" xCoord="372" yCoord="177"/>
4965-</arc>
4966-<arc id="P0 to Arrival" inscription="[0,inf)" source="WaitingForNurse" target="Arrival" type="timed" weight="1">
4967-<arcpath arcPointType="false" id="0" xCoord="386" yCoord="240"/>
4968-<arcpath arcPointType="false" id="1" xCoord="472" yCoord="262"/>
4969-</arc>
4970-<arc id="Arrival to Waiting" inscription="1" source="Arrival" target="WaitingForDoctor" type="normal" weight="1">
4971-<arcpath arcPointType="false" id="0" xCoord="471" yCoord="272"/>
4972-<arcpath arcPointType="false" id="1" xCoord="386" yCoord="293"/>
4973-</arc>
4974-<arc id="Arrive to P0" inscription="1" source="Arrive" target="WaitingForNurse" type="normal" weight="1">
4975-<arcpath arcPointType="false" id="0" xCoord="372" yCoord="207"/>
4976-<arcpath arcPointType="false" id="1" xCoord="372" yCoord="222"/>
4977-</arc>
4978-<arc id="Patient to T0" inscription="[0,inf)" source="Patient" target="T0" type="tapnInhibitor" weight="1">
4979-<arcpath arcPointType="false" id="0" xCoord="357" yCoord="102"/>
4980-<arcpath arcPointType="false" id="1" xCoord="166" yCoord="102"/>
4981-</arc>
4982-<arc id="Timer to T0" inscription="[0,inf)" source="Timer" target="T0" type="timed" weight="1">
4983-<arcpath arcPointType="false" id="0" xCoord="162" yCoord="177"/>
4984-<arcpath arcPointType="false" id="1" xCoord="162" yCoord="117"/>
4985-</arc>
4986-</net>
4987-<net active="true" id="Nurse" type="P/T net">
4988-<place id="Nurse" initialMarking="1" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="Nurse" nameOffsetX="-5.0" nameOffsetY="-7.0" positionX="45.0" positionY="90.0"/>
4989-<place id="Busy" initialMarking="0" invariant="&lt;= 10" markingOffsetX="0.0" markingOffsetY="0.0" name="Busy" nameOffsetX="38.0" nameOffsetY="-12.0" positionX="270.0" positionY="90.0"/>
4990-<place id="AwaitingAnswer" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="AwaitingAnswer" nameOffsetX="117.0" nameOffsetY="0.0" positionX="390.0" positionY="180.0"/>
4991-<place id="RequestMedicalCheck" initialMarking="0" invariant="&lt;= 30" markingOffsetX="0.0" markingOffsetY="0.0" name="RequestMedicalCheck" nameOffsetX="170.0" nameOffsetY="21.0" positionX="510.0" positionY="90.0"/>
4992-<place id="MedicalCheckOK" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MedicalCheckOK" nameOffsetX="138.0" nameOffsetY="20.0" positionX="510.0" positionY="390.0"/>
4993-<place id="MedicalCheckNOK" initialMarking="0" invariant="&lt; inf" markingOffsetX="0.0" markingOffsetY="0.0" name="MedicalCheckNOK" nameOffsetX="149.0" nameOffsetY="21.0" positionX="510.0" positionY="270.0"/>
4994-<place id="ReadyToReBook" initialMarking="0" invariant="&lt;= 5" markingOffsetX="0.0" markingOffsetY="0.0" name="ReadyToReBook" nameOffsetX="68.0" nameOffsetY="-19.0" positionX="270.0" positionY="180.0"/>
4995-<place id="ReadyToCheckout" initialMarking="0" invariant="&lt;= 15" markingOffsetX="0.0" markingOffsetY="0.0" name="ReadyToCheckout" nameOffsetX="53.0" nameOffsetY="-10.0" positionX="285.0" positionY="390.0"/>
4996-<transition angle="0" id="Arrival" infiniteServer="false" name="Arrival" nameOffsetX="27.0" nameOffsetY="-10.0" positionX="150.0" positionY="90.0" priority="0" urgent="true"/>
4997-<transition angle="0" id="OpenPatientJournal" infiniteServer="false" name="OpenPatientJournal" nameOffsetX="56.0" nameOffsetY="-11.0" positionX="390.0" positionY="90.0" priority="0" urgent="false"/>
4998-<transition angle="0" id="ReBook" infiniteServer="false" name="ReBook" nameOffsetX="39.0" nameOffsetY="-12.0" positionX="150.0" positionY="180.0" priority="0" urgent="false"/>
4999-<transition angle="0" id="FindNewDate" infiniteServer="false" name="FindNewDate" nameOffsetX="-1.0" nameOffsetY="16.0" positionX="270.0" positionY="270.0" priority="0" urgent="true"/>
5000-<transition angle="0" id="ClosePatientJournal" infiniteServer="false" name="ClosePatientJournal" nameOffsetX="73.0" nameOffsetY="45.0" positionX="390.0" positionY="390.0" priority="0" urgent="true"/>
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches