pione 0.4.2 → 0.5.0.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (306) hide show
  1. checksums.yaml +8 -8
  2. data/.travis.yml +1 -1
  3. data/History.txt +6 -0
  4. data/example/ActionError/ActionError.action.md +11 -0
  5. data/example/ActionError/ActionError.pione +6 -3
  6. data/example/ActionError/ActionError.pnml +86 -0
  7. data/example/ActionError/Package.pione +2 -0
  8. data/example/ActionError/pione-package.json +5 -1
  9. data/example/CTFCorrection/CTFCorrection.action.md +46 -0
  10. data/example/CTFCorrection/CTFCorrection.pione +19 -41
  11. data/example/CTFCorrection/CTFCorrection.pnml +839 -0
  12. data/example/CTFCorrection/Package.pione +1 -0
  13. data/example/CTFCorrection/Params.pione +21 -0
  14. data/example/CTFCorrection/pione-package.json +20 -0
  15. data/example/ChildPackage/ChildPackage.pione +8 -0
  16. data/example/ChildPackage/pione-package.json +20 -0
  17. data/example/CountChar/CountChar.pione +31 -0
  18. data/example/CountChar/CountChar.pnml +239 -0
  19. data/example/CountChar/Main.pione +6 -26
  20. data/example/CountChar/Main.pnml +32 -100
  21. data/example/CountChar/Package.pione +1 -0
  22. data/example/CountChar/pione-package.json +3 -1
  23. data/example/DeferredChoice/DeferredChoice.action.md +46 -0
  24. data/example/DeferredChoice/DeferredChoice.pione +2 -7
  25. data/example/DeferredChoice/DeferredChoice.pnml +371 -0
  26. data/example/DeferredChoice/Package.pione +4 -0
  27. data/example/DeferredChoice/pione-package.json +7 -3
  28. data/example/DeferredChoiceWithPage/DeferredChoiceWithPage.action.md +34 -0
  29. data/example/DeferredChoiceWithPage/DefferredChoiceWithPage.pnml +371 -0
  30. data/example/DeferredChoiceWithPage/Package.pione +2 -0
  31. data/example/FeatureExample/FeatureExample.action.md +7 -0
  32. data/example/FeatureExample/FeatureExample.pione +7 -4
  33. data/example/FeatureExample/FeatureExample.pnml +86 -0
  34. data/example/FeatureExample/Package.pione +1 -0
  35. data/example/FeatureExample/pione-package.json +4 -0
  36. data/example/Fib/Fib.action.md +33 -0
  37. data/example/Fib/Fib.pnml +208 -0
  38. data/example/Fib/FibN.pnml +807 -0
  39. data/example/Fib/Package.pione +6 -0
  40. data/example/HelloWorld/HelloWorld.action.md +7 -0
  41. data/example/HelloWorld/HelloWorld.pione +6 -2
  42. data/example/HelloWorld/HelloWorld.pnml +86 -0
  43. data/example/HelloWorld/Package.pione +2 -0
  44. data/example/HelloWorld/pione-package.json +5 -1
  45. data/example/Interaction/Interaction.action.md +21 -0
  46. data/example/Interaction/Interaction.pnml +89 -0
  47. data/example/Interaction/Package.pione +2 -0
  48. data/example/LoopByTouch/LoopByTouch.pione +32 -12
  49. data/example/LoopByTouch/LoopByTouch.pnml +575 -0
  50. data/example/LoopByTouch/Package.pione +3 -0
  51. data/example/LoopByTouch/PairLoop.pione +6 -7
  52. data/example/LoopByTouch/PairLoop.pnml +188 -0
  53. data/example/LoopByTouch/SingleLoop.pione +6 -0
  54. data/example/LoopByTouch/SingleLoop.pnml +86 -0
  55. data/example/LoopByTouch/TripletLoop.pione +12 -13
  56. data/example/LoopByTouch/TripletLoop.pnml +239 -0
  57. data/example/LoopByTouch/pione-package.json +7 -3
  58. data/example/LucasNumber/LucasNumber.action.md +25 -0
  59. data/example/LucasNumber/LucasNumber.pnml +244 -0
  60. data/example/LucasNumber/LucasNumberN.pnml +1719 -0
  61. data/example/LucasNumber/Package.pione +2 -0
  62. data/example/MakePair/MakePair.pione +8 -10
  63. data/example/MakePair/MakePair.pnml +1141 -0
  64. data/example/MakePair/Package.pione +2 -0
  65. data/example/MakePair/pione-package.json +7 -3
  66. data/example/MakePair/scenario/case1/pione-scenario.json +30 -30
  67. data/example/MakePair/scenario/case2/pione-scenario.json +10 -10
  68. data/example/MakePair/scenario/case3/pione-scenario.json +28 -28
  69. data/example/OddSelector/OddSelector.pione +8 -8
  70. data/example/OddSelector/OddSelector.pnml +401 -0
  71. data/example/OddSelector/Package.pione +2 -0
  72. data/example/OddSelector/pione-package.json +4 -0
  73. data/example/OddSelector/scenario/pione-scenario.json +8 -8
  74. data/example/ParentPackage/ParentPackage.pione +13 -0
  75. data/example/ParentPackage/pione-package.json +18 -0
  76. data/example/PegasusWMS/Merge/Package.pione +2 -0
  77. data/example/PegasusWMS/Merge/PegasusWMSMerge.action.md +17 -0
  78. data/example/PegasusWMS/Merge/{Merge.pione → PegasusWMSMerge.pione} +9 -10
  79. data/example/PegasusWMS/Merge/PegasusWMSMerge.pnml +217 -0
  80. data/example/PegasusWMS/Merge/pione-package.json +6 -2
  81. data/example/PegasusWMS/Pipeline/Package.pione +2 -0
  82. data/example/PegasusWMS/Pipeline/PegasusWMSPipeline.action.md +17 -0
  83. data/example/PegasusWMS/Pipeline/{Pipeline.pione → PegasusWMSPipeline.pione} +7 -9
  84. data/example/PegasusWMS/Pipeline/PegasusWMSPipeline.pnml +137 -0
  85. data/example/PegasusWMS/Pipeline/pione-package.json +6 -2
  86. data/example/PegasusWMS/Split/Package.pione +2 -0
  87. data/example/PegasusWMS/Split/PegasusWMSSplit.action.md +19 -0
  88. data/example/PegasusWMS/Split/{Split.pione → PegasusWMSSplit.pione} +9 -10
  89. data/example/PegasusWMS/Split/PegasusWMSSplit.pnml +293 -0
  90. data/example/PegasusWMS/Split/pione-package.json +6 -2
  91. data/example/ScoreAggregation/Package.pione +2 -0
  92. data/example/ScoreAggregation/ScoreAggregation.action.md +56 -0
  93. data/example/ScoreAggregation/ScoreAggregation.pione +37 -76
  94. data/example/ScoreAggregation/ScoreAggregation.pnml +1221 -0
  95. data/example/ScoreAggregation/pione-package.json +6 -2
  96. data/example/ScoreAggregation/scenario/case1/pione-scenario.json +21 -21
  97. data/example/SelectRuleByParam/Package.pione +2 -0
  98. data/example/SelectRuleByParam/SelectRuleByParam.action.md +19 -0
  99. data/example/SelectRuleByParam/SelectRuleByParam.pnml +388 -0
  100. data/example/SequentialParameter/Package.pione +2 -0
  101. data/example/SequentialParameter/SequentialParameter.pione +9 -3
  102. data/example/SequentialParameter/SequentialParameter.pnml +140 -0
  103. data/example/SequentialParameter/pione-package.json +19 -0
  104. data/example/SerialProcessing/A.pione +25 -0
  105. data/example/SerialProcessing/A.pnml +395 -0
  106. data/example/SerialProcessing/B.pione +25 -0
  107. data/example/SerialProcessing/B.pnml +395 -0
  108. data/example/SerialProcessing/Package.pione +2 -0
  109. data/example/SerialProcessing/SerialProcessing.pione +9 -60
  110. data/example/SerialProcessing/SerialProcessing.pnml +160 -0
  111. data/example/SerialProcessing/pione-package.json +7 -1
  112. data/example/SieveOfEratosthenes/CreateUndeterminedNumbers.pnml +157 -0
  113. data/example/SieveOfEratosthenes/Package.pione +4 -0
  114. data/example/SieveOfEratosthenes/Sieve.pnml +1493 -0
  115. data/example/SieveOfEratosthenes/SieveOfEratosthenes.pnml +174 -0
  116. data/example/SingleParticlesWithRef/Create3dinfo.pnml +342 -0
  117. data/example/SingleParticlesWithRef/Package.pione +42 -0
  118. data/example/SingleParticlesWithRef/SingleParticlesWithRef.action.md +34 -0
  119. data/example/SingleParticlesWithRef/SingleParticlesWithRef.pnml +404 -0
  120. data/example/SingleParticlesWithRef/{Makefile → misc/Makefile} +0 -0
  121. data/example/SingleParticlesWithRef/{SingleParticlesWithRef.Display2.pione → misc/SingleParticlesWithRef.Display2.pione} +0 -0
  122. data/example/SingleParticlesWithRef/{SingleParticlesWithRef.Makefile → misc/SingleParticlesWithRef.Makefile} +0 -0
  123. data/example/SingleParticlesWithRef/{SingleParticlesWithRefFull.pione → misc/SingleParticlesWithRefFull.pione} +0 -0
  124. data/example/Sum/CalcEachLine.pione +30 -0
  125. data/example/Sum/CalcEachLine.pnml +327 -0
  126. data/example/Sum/Package.pione +2 -0
  127. data/example/Sum/Sum.action.md +35 -0
  128. data/example/Sum/Sum.pione +9 -35
  129. data/example/Sum/Sum.pnml +191 -0
  130. data/example/Sum/pione-package.json +5 -0
  131. data/example/Touch/Package.pione +2 -0
  132. data/example/Touch/Touch.pione +8 -2
  133. data/example/Touch/Touch.pnml +89 -0
  134. data/example/Touch/pione-package.json +4 -0
  135. data/example/WorkflowPatterns/01_Sequence/Package.pione +2 -0
  136. data/example/WorkflowPatterns/01_Sequence/Sequence.pione +9 -9
  137. data/example/WorkflowPatterns/01_Sequence/Sequence.pnml +191 -0
  138. data/example/WorkflowPatterns/01_Sequence/pione-package.json +19 -0
  139. data/example/WorkflowPatterns/02_PrallelSplit/Package.pione +2 -0
  140. data/example/WorkflowPatterns/02_PrallelSplit/ParallelSplit.pione +12 -12
  141. data/example/WorkflowPatterns/02_PrallelSplit/ParallelSplit.pnml +265 -0
  142. data/example/WorkflowPatterns/02_PrallelSplit/pione-package.json +19 -0
  143. data/example/WorkflowPatterns/03_Synchronization/Package.pione +2 -0
  144. data/example/WorkflowPatterns/03_Synchronization/Synchronization.pione +12 -13
  145. data/example/WorkflowPatterns/03_Synchronization/Synchronization.pnml +273 -0
  146. data/example/WorkflowPatterns/03_Synchronization/pione-package.json +19 -0
  147. data/example/WorkflowPatterns/04_ExclusiveChoice/ExclusiveChoice.pione +15 -22
  148. data/example/WorkflowPatterns/04_ExclusiveChoice/ExclusiveChoice.pnml +533 -0
  149. data/example/WorkflowPatterns/04_ExclusiveChoice/Package.pione +4 -0
  150. data/example/WorkflowPatterns/04_ExclusiveChoice/pione-package.json +19 -0
  151. data/example/WorkflowPatterns/05_SimpleMerge/Package.pione +4 -0
  152. data/example/WorkflowPatterns/05_SimpleMerge/SimpleMerge.pione +10 -18
  153. data/example/WorkflowPatterns/05_SimpleMerge/SimpleMerge.pnml +431 -0
  154. data/example/WorkflowPatterns/05_SimpleMerge/pione-package.json +19 -0
  155. data/example/WorkflowPatterns/06_MultiChoice/MultiChoice.pione +20 -28
  156. data/example/WorkflowPatterns/06_MultiChoice/MultiChoice.pnml +797 -0
  157. data/example/WorkflowPatterns/06_MultiChoice/Package.pione +5 -0
  158. data/example/WorkflowPatterns/06_MultiChoice/pione-package.json +19 -0
  159. data/example/WorkflowPatterns/07_StructuredSynchronizingMerge/Package.pione +5 -0
  160. data/example/WorkflowPatterns/07_StructuredSynchronizingMerge/StructuredSynchronizingMerge.pnml +668 -0
  161. data/example/WorkflowPatterns/08_MultiMerge/MultiMerge.pione +9 -20
  162. data/example/WorkflowPatterns/08_MultiMerge/MultiMerge.pnml +551 -0
  163. data/example/WorkflowPatterns/08_MultiMerge/Package.pione +4 -0
  164. data/example/WorkflowPatterns/08_MultiMerge/pione-package.json +19 -0
  165. data/example/WorkflowPatterns/11_ImplicitTermination/ImplicitTermination.pione +9 -17
  166. data/example/WorkflowPatterns/11_ImplicitTermination/ImplicitTermination.pnml +188 -0
  167. data/example/WorkflowPatterns/11_ImplicitTermination/Package.pione +2 -0
  168. data/example/WorkflowPatterns/11_ImplicitTermination/pione-package.json +19 -0
  169. data/example/WorkflowPatterns/12_MultipleInstancesWithoutSynchronization/MultipleInstancesWithoutSynchronization.pione +11 -11
  170. data/example/WorkflowPatterns/12_MultipleInstancesWithoutSynchronization/MultipleInstancesWithoutSynchronization.pnml +319 -0
  171. data/example/WorkflowPatterns/12_MultipleInstancesWithoutSynchronization/Package.pione +4 -0
  172. data/example/WorkflowPatterns/12_MultipleInstancesWithoutSynchronization/pione-package.json +19 -0
  173. data/example/WorkflowPatterns/13_MultipleInstancesWithDesignTimeKnowledge/MultipleInstancesWithDesignTimeKnowledge.pione +11 -11
  174. data/example/WorkflowPatterns/13_MultipleInstancesWithDesignTimeKnowledge/MultipleInstancesWithDesignTimeKnowledge.pnml +319 -0
  175. data/example/WorkflowPatterns/13_MultipleInstancesWithDesignTimeKnowledge/Package.pione +2 -0
  176. data/example/WorkflowPatterns/13_MultipleInstancesWithDesignTimeKnowledge/pione-package.json +19 -0
  177. data/example/WorkflowPatterns/14_MultipleInstancesWithRunTimeKnowledge/MultipleInstancesWithRunTimeKnowledge.pione +14 -17
  178. data/example/WorkflowPatterns/14_MultipleInstancesWithRunTimeKnowledge/MultipleInstancesWithRunTimeKnowledge.pnml +355 -0
  179. data/example/WorkflowPatterns/14_MultipleInstancesWithRunTimeKnowledge/Package.pione +4 -0
  180. data/example/WorkflowPatterns/14_MultipleInstancesWithRunTimeKnowledge/pione-package.json +19 -0
  181. data/example/WorkflowPatterns/33_GeneralizedANDJoin/GeneralizedANDJoin.pione +9 -10
  182. data/example/WorkflowPatterns/33_GeneralizedANDJoin/GeneralizedANDJoin.pnml +409 -0
  183. data/example/WorkflowPatterns/33_GeneralizedANDJoin/Package.pione +2 -0
  184. data/example/WorkflowPatterns/33_GeneralizedANDJoin/pione-package.json +19 -0
  185. data/example/WorkflowPatterns/37_LocalSynchronizingMerge/A.pione +34 -0
  186. data/example/WorkflowPatterns/37_LocalSynchronizingMerge/A.pnml +570 -0
  187. data/example/WorkflowPatterns/37_LocalSynchronizingMerge/LocalSynchronizingMerge.pione +36 -70
  188. data/example/WorkflowPatterns/37_LocalSynchronizingMerge/LocalSynchronizingMerge.pnml +854 -0
  189. data/example/WorkflowPatterns/37_LocalSynchronizingMerge/Package.pione +5 -0
  190. data/example/WorkflowPatterns/37_LocalSynchronizingMerge/pione-package.json +20 -0
  191. data/example/WorkflowPatterns/38_GeneralSynchronizingMerge/GeneralSynchronizingMerge.pnml +1003 -0
  192. data/example/WorkflowPatterns/38_GeneralSynchronizingMerge/Package.pione +6 -0
  193. data/example/WorkflowPatterns/41_ThreadMerge/A.pnml +429 -0
  194. data/example/WorkflowPatterns/41_ThreadMerge/A1.pnml +141 -0
  195. data/example/WorkflowPatterns/41_ThreadMerge/Package.pione +2 -0
  196. data/example/WorkflowPatterns/41_ThreadMerge/ThreadMerge.pnml +205 -0
  197. data/example/WorkflowPatterns/42_ThreadSplit/Package.pione +2 -0
  198. data/example/WorkflowPatterns/42_ThreadSplit/ThreadSplit.pnml +217 -0
  199. data/lib/pione/agent/job-manager.rb +4 -3
  200. data/lib/pione/agent/task-worker.rb +2 -7
  201. data/lib/pione/command.rb +1 -0
  202. data/lib/pione/command/basic-command.rb +3 -1
  203. data/lib/pione/command/command-exception.rb +14 -0
  204. data/lib/pione/command/pione-action-exec.rb +4 -1
  205. data/lib/pione/command/pione-clean.rb +13 -6
  206. data/lib/pione/command/pione-client.rb +5 -5
  207. data/lib/pione/command/pione-compile.rb +1 -1
  208. data/lib/pione/command/pione-log-format.rb +1 -1
  209. data/lib/pione/command/pione-package-add.rb +1 -1
  210. data/lib/pione/command/pione-package-build.rb +87 -32
  211. data/lib/pione/command/pione-package-remove.rb +117 -0
  212. data/lib/pione/command/pione-package.rb +1 -0
  213. data/lib/pione/command/spawner.rb +12 -3
  214. data/lib/pione/lang/boolean.rb +1 -1
  215. data/lib/pione/lang/common-parser.rb +5 -3
  216. data/lib/pione/lang/context-parser.rb +8 -2
  217. data/lib/pione/lang/context-transformer.rb +13 -3
  218. data/lib/pione/lang/context.rb +20 -2
  219. data/lib/pione/lang/data-expr.rb +1 -1
  220. data/lib/pione/lang/declaration-parser.rb +18 -4
  221. data/lib/pione/lang/declaration-transformer.rb +1 -1
  222. data/lib/pione/lang/declaration.rb +5 -3
  223. data/lib/pione/lang/definition.rb +1 -0
  224. data/lib/pione/lang/environment.rb +37 -2
  225. data/lib/pione/lang/expr.rb +10 -12
  226. data/lib/pione/lang/feature-expr.rb +1 -1
  227. data/lib/pione/lang/float.rb +1 -1
  228. data/lib/pione/lang/integer.rb +1 -1
  229. data/lib/pione/lang/keyed-sequence.rb +5 -5
  230. data/lib/pione/lang/lang-exception.rb +9 -5
  231. data/lib/pione/lang/literal-parser.rb +2 -2
  232. data/lib/pione/lang/literal-transformer.rb +3 -0
  233. data/lib/pione/lang/message.rb +3 -3
  234. data/lib/pione/lang/ordinal-sequence.rb +1 -1
  235. data/lib/pione/lang/package-expr.rb +1 -1
  236. data/lib/pione/lang/parameters.rb +1 -1
  237. data/lib/pione/lang/pione-method.rb +16 -16
  238. data/lib/pione/lang/rule-expr.rb +6 -1
  239. data/lib/pione/lang/sequence.rb +8 -3
  240. data/lib/pione/lang/string.rb +1 -1
  241. data/lib/pione/lang/ticket-expr.rb +1 -1
  242. data/lib/pione/lang/type.rb +17 -8
  243. data/lib/pione/lang/variable.rb +4 -1
  244. data/lib/pione/literate-action.rb +1 -2
  245. data/lib/pione/literate-action/document.rb +1 -1
  246. data/lib/pione/literate-action/handler.rb +22 -7
  247. data/lib/pione/literate-action/{parser.rb → markdown-parser.rb} +2 -1
  248. data/lib/pione/log/domain-log.rb +1 -1
  249. data/lib/pione/model/task-worker-broker-model.rb +1 -1
  250. data/lib/pione/package/package-database.rb +16 -2
  251. data/lib/pione/package/package-exception.rb +1 -1
  252. data/lib/pione/package/package-handler.rb +11 -7
  253. data/lib/pione/package/package-info.rb +13 -7
  254. data/lib/pione/package/package-scanner.rb +1 -1
  255. data/lib/pione/package/scenario-info.rb +2 -2
  256. data/lib/pione/pnml.rb +6 -0
  257. data/lib/pione/pnml/compiler.rb +329 -95
  258. data/lib/pione/pnml/declaration-extractor.rb +90 -0
  259. data/lib/pione/pnml/input-merge-complement.rb +17 -11
  260. data/lib/pione/pnml/input-parallelization-complement.rb +10 -6
  261. data/lib/pione/pnml/input-reduction.rb +5 -5
  262. data/lib/pione/pnml/invalid-arc-elimination.rb +2 -2
  263. data/lib/pione/pnml/io-expansion.rb +9 -5
  264. data/lib/pione/pnml/isolated-element-elimination.rb +2 -2
  265. data/lib/pione/pnml/label-extractor.rb +258 -0
  266. data/lib/pione/pnml/net-rewriter.rb +6 -4
  267. data/lib/pione/pnml/output-decomposition-complement.rb +12 -7
  268. data/lib/pione/pnml/output-reduction.rb +11 -5
  269. data/lib/pione/pnml/output-synchronization-complement.rb +11 -7
  270. data/lib/pione/pnml/parser.rb +106 -0
  271. data/lib/pione/pnml/pione-model.rb +685 -230
  272. data/lib/pione/pnml/pnml-model.rb +73 -41
  273. data/lib/pione/pnml/ticket-instantiation.rb +42 -0
  274. data/lib/pione/rule-engine/action-handler.rb +212 -135
  275. data/lib/pione/rule-engine/basic-handler.rb +29 -3
  276. data/lib/pione/rule-engine/engine-exception.rb +10 -6
  277. data/lib/pione/system/status.rb +12 -6
  278. data/lib/pione/version.rb +1 -1
  279. data/lib/rootage/help.md.erb +45 -0
  280. data/lib/rootage/help.rb +1 -0
  281. data/lib/rootage/scenario.rb +20 -2
  282. data/misc/pione-completion.bash +15 -5
  283. data/misc/pione-completion.zsh +16 -6
  284. data/test/command/spec_pione-client.rb +60 -60
  285. data/test/lang/data/context-parser.yml +12 -1
  286. data/test/lang/spec_pione-method.rb +7 -6
  287. data/test/literate-action/spec_handler.rb +19 -13
  288. data/test/literate-action/{spec_parser.rb → spec_markdown-parser.rb} +3 -3
  289. data/test/log/spec_message-log-receiver.rb +1 -1
  290. data/test/package/spec_package-info.rb +1 -1
  291. data/test/pnml/spec_input-merge-complement.rb +4 -2
  292. data/test/pnml/spec_input-parallelization-complement.rb +4 -2
  293. data/test/pnml/spec_input-reduction.rb +8 -4
  294. data/test/pnml/spec_invalid-arc-elimination.rb +2 -1
  295. data/test/pnml/spec_io-expansion.rb +4 -2
  296. data/test/pnml/spec_isolated-element-elimination.rb +2 -1
  297. data/test/pnml/spec_label-extractor.rb +100 -0
  298. data/test/pnml/spec_output-decomposition-complement.rb +4 -2
  299. data/test/pnml/spec_output-reduction.rb +8 -4
  300. data/test/pnml/spec_output-synchronization-complement.rb +4 -2
  301. data/test/pnml/spec_pione-element.rb +116 -37
  302. data/test/pnml/spec_pnml-element.rb +32 -8
  303. data/test/rule-engine/spec_action-handler.rb +12 -20
  304. metadata +159 -16
  305. data/example/CTFCorrection/package.yml +0 -1
  306. data/example/DeferredChoice/bin/ui.xml +0 -28
@@ -1,44 +1,33 @@
1
- param $CASE := 1
2
-
3
- Rule Main
4
- output 'o1'
1
+ Rule MultiMerge
2
+ output '*.o1'
5
3
  Flow
6
- rule Init
4
+ rule Init1
5
+ rule Init2
7
6
  rule A
8
7
  rule B
9
8
  rule C
10
9
  End
11
10
 
12
- Rule Init
13
- output 'i1' or null
14
- output 'i2' or null
15
- Flow
16
- rule Init1
17
- rule Init2
18
- End
19
-
20
11
  Rule Init1
21
- output 'i1'.touch
12
+ output 'i1'
22
13
  constraint ($CASE == 1) or ($CASE == 3)
23
14
  End
24
15
 
25
16
  Rule Init2
26
- output 'i2'.touch
17
+ output 'i2'
27
18
  constraint ($CASE == 2) or ($CASE == 3)
28
19
  End
29
20
 
30
21
  Rule A
31
22
  input 'i1'
32
- output 'p1-a'.touch
23
+ output 'p1-a'
33
24
  End
34
25
 
35
26
  Rule B
36
27
  input 'i2'
37
- output 'p1-b'.touch
28
+ output 'p1-b'
38
29
  End
39
30
 
40
31
  Rule C
41
- input 'p1-a' or 'p1-b'
42
- output 'o1'.touch
32
+ output '{$*}.o1'
43
33
  End
44
-
@@ -0,0 +1,551 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--PLEASE DO NOT EDIT THIS FILE
3
+ Created with Workflow PetriNet Designer Version 3.2.0 (woped.org)-->
4
+ <pnml>
5
+ <net type="http://www.informatik.hu-berlin.de/top/pntd/ptNetb" id="noID">
6
+ <place id="p7">
7
+ <name>
8
+ <text>'p1-a'</text>
9
+ <graphics>
10
+ <offset x="740" y="250"/>
11
+ </graphics>
12
+ </name>
13
+ <graphics>
14
+ <position x="740" y="210"/>
15
+ <dimension x="40" y="40"/>
16
+ </graphics>
17
+ </place>
18
+ <place id="p6">
19
+ <name>
20
+ <text>'i2'</text>
21
+ <graphics>
22
+ <offset x="560" y="410"/>
23
+ </graphics>
24
+ </name>
25
+ <graphics>
26
+ <position x="560" y="370"/>
27
+ <dimension x="40" y="40"/>
28
+ </graphics>
29
+ </place>
30
+ <place id="p5">
31
+ <name>
32
+ <text>'i1'</text>
33
+ <graphics>
34
+ <offset x="560" y="250"/>
35
+ </graphics>
36
+ </name>
37
+ <graphics>
38
+ <position x="560" y="210"/>
39
+ <dimension x="40" y="40"/>
40
+ </graphics>
41
+ </place>
42
+ <place id="p4">
43
+ <name>
44
+ <text>($CASE == 2) or ($CASE == 3)</text>
45
+ <graphics>
46
+ <offset x="340" y="350"/>
47
+ </graphics>
48
+ </name>
49
+ <graphics>
50
+ <position x="380" y="370"/>
51
+ <dimension x="40" y="40"/>
52
+ </graphics>
53
+ </place>
54
+ <place id="p3">
55
+ <name>
56
+ <text/>
57
+ <graphics>
58
+ <offset x="200" y="410"/>
59
+ </graphics>
60
+ </name>
61
+ <graphics>
62
+ <position x="200" y="370"/>
63
+ <dimension x="40" y="40"/>
64
+ </graphics>
65
+ <initialMarking>
66
+ <text>1</text>
67
+ </initialMarking>
68
+ </place>
69
+ <place id="p2">
70
+ <name>
71
+ <text>($CASE == 1) or ($CASE == 3)</text>
72
+ <graphics>
73
+ <offset x="340" y="190"/>
74
+ </graphics>
75
+ </name>
76
+ <graphics>
77
+ <position x="380" y="210"/>
78
+ <dimension x="40" y="40"/>
79
+ </graphics>
80
+ </place>
81
+ <place id="p1">
82
+ <name>
83
+ <text/>
84
+ <graphics>
85
+ <offset x="200" y="250"/>
86
+ </graphics>
87
+ </name>
88
+ <graphics>
89
+ <position x="200" y="210"/>
90
+ <dimension x="40" y="40"/>
91
+ </graphics>
92
+ <initialMarking>
93
+ <text>1</text>
94
+ </initialMarking>
95
+ </place>
96
+ <place id="p10">
97
+ <name>
98
+ <text>'{$*}.o1'</text>
99
+ <graphics>
100
+ <offset x="1080" y="330"/>
101
+ </graphics>
102
+ </name>
103
+ <graphics>
104
+ <position x="1080" y="290"/>
105
+ <dimension x="40" y="40"/>
106
+ </graphics>
107
+ </place>
108
+ <place id="p8">
109
+ <name>
110
+ <text>'p1-b'</text>
111
+ <graphics>
112
+ <offset x="740" y="410"/>
113
+ </graphics>
114
+ </name>
115
+ <graphics>
116
+ <position x="740" y="370"/>
117
+ <dimension x="40" y="40"/>
118
+ </graphics>
119
+ </place>
120
+ <place id="p12">
121
+ <name>
122
+ <text>'p1-*'</text>
123
+ <graphics>
124
+ <offset x="920" y="330"/>
125
+ </graphics>
126
+ </name>
127
+ <graphics>
128
+ <position x="920" y="290"/>
129
+ <dimension x="40" y="40"/>
130
+ </graphics>
131
+ </place>
132
+ <place id="p11">
133
+ <name>
134
+ <text>>'*.o1'</text>
135
+ <graphics>
136
+ <offset x="1240" y="330"/>
137
+ </graphics>
138
+ </name>
139
+ <graphics>
140
+ <position x="1240" y="290"/>
141
+ <dimension x="40" y="40"/>
142
+ </graphics>
143
+ </place>
144
+ <transition id="t3">
145
+ <name>
146
+ <text>constraint</text>
147
+ <graphics>
148
+ <offset x="290" y="410"/>
149
+ </graphics>
150
+ </name>
151
+ <graphics>
152
+ <position x="290" y="370"/>
153
+ <dimension x="40" y="40"/>
154
+ </graphics>
155
+ <toolspecific tool="WoPeD" version="1.0">
156
+ <time>0</time>
157
+ <timeUnit>1</timeUnit>
158
+ <orientation>1</orientation>
159
+ </toolspecific>
160
+ </transition>
161
+ <transition id="t2">
162
+ <name>
163
+ <text>Init1</text>
164
+ <graphics>
165
+ <offset x="470" y="250"/>
166
+ </graphics>
167
+ </name>
168
+ <graphics>
169
+ <position x="470" y="210"/>
170
+ <dimension x="40" y="40"/>
171
+ </graphics>
172
+ <toolspecific tool="WoPeD" version="1.0">
173
+ <time>0</time>
174
+ <timeUnit>1</timeUnit>
175
+ <orientation>1</orientation>
176
+ </toolspecific>
177
+ </transition>
178
+ <transition id="t1">
179
+ <name>
180
+ <text>constraint</text>
181
+ <graphics>
182
+ <offset x="290" y="250"/>
183
+ </graphics>
184
+ </name>
185
+ <graphics>
186
+ <position x="290" y="210"/>
187
+ <dimension x="40" y="40"/>
188
+ </graphics>
189
+ <toolspecific tool="WoPeD" version="1.0">
190
+ <time>0</time>
191
+ <timeUnit>1</timeUnit>
192
+ <orientation>1</orientation>
193
+ </toolspecific>
194
+ </transition>
195
+ <transition id="t10">
196
+ <name>
197
+ <text/>
198
+ <graphics>
199
+ <offset x="1160" y="330"/>
200
+ </graphics>
201
+ </name>
202
+ <graphics>
203
+ <position x="1160" y="290"/>
204
+ <dimension x="40" y="40"/>
205
+ </graphics>
206
+ <toolspecific tool="WoPeD" version="1.0">
207
+ <time>0</time>
208
+ <timeUnit>1</timeUnit>
209
+ <orientation>1</orientation>
210
+ </toolspecific>
211
+ </transition>
212
+ <transition id="t4">
213
+ <name>
214
+ <text>Init2</text>
215
+ <graphics>
216
+ <offset x="470" y="410"/>
217
+ </graphics>
218
+ </name>
219
+ <graphics>
220
+ <position x="470" y="370"/>
221
+ <dimension x="40" y="40"/>
222
+ </graphics>
223
+ <toolspecific tool="WoPeD" version="1.0">
224
+ <time>0</time>
225
+ <timeUnit>1</timeUnit>
226
+ <orientation>1</orientation>
227
+ </toolspecific>
228
+ </transition>
229
+ <transition id="t5">
230
+ <name>
231
+ <text>A</text>
232
+ <graphics>
233
+ <offset x="650" y="250"/>
234
+ </graphics>
235
+ </name>
236
+ <graphics>
237
+ <position x="650" y="210"/>
238
+ <dimension x="40" y="40"/>
239
+ </graphics>
240
+ <toolspecific tool="WoPeD" version="1.0">
241
+ <time>0</time>
242
+ <timeUnit>1</timeUnit>
243
+ <orientation>1</orientation>
244
+ </toolspecific>
245
+ </transition>
246
+ <transition id="t6">
247
+ <name>
248
+ <text>B</text>
249
+ <graphics>
250
+ <offset x="650" y="410"/>
251
+ </graphics>
252
+ </name>
253
+ <graphics>
254
+ <position x="650" y="370"/>
255
+ <dimension x="40" y="40"/>
256
+ </graphics>
257
+ <toolspecific tool="WoPeD" version="1.0">
258
+ <time>0</time>
259
+ <timeUnit>1</timeUnit>
260
+ <orientation>1</orientation>
261
+ </toolspecific>
262
+ </transition>
263
+ <transition id="t7">
264
+ <name>
265
+ <text/>
266
+ <graphics>
267
+ <offset x="830" y="250"/>
268
+ </graphics>
269
+ </name>
270
+ <graphics>
271
+ <position x="830" y="210"/>
272
+ <dimension x="40" y="40"/>
273
+ </graphics>
274
+ <toolspecific tool="WoPeD" version="1.0">
275
+ <time>0</time>
276
+ <timeUnit>1</timeUnit>
277
+ <orientation>1</orientation>
278
+ </toolspecific>
279
+ </transition>
280
+ <transition id="t8">
281
+ <name>
282
+ <text/>
283
+ <graphics>
284
+ <offset x="830" y="410"/>
285
+ </graphics>
286
+ </name>
287
+ <graphics>
288
+ <position x="830" y="370"/>
289
+ <dimension x="40" y="40"/>
290
+ </graphics>
291
+ <toolspecific tool="WoPeD" version="1.0">
292
+ <time>0</time>
293
+ <timeUnit>1</timeUnit>
294
+ <orientation>1</orientation>
295
+ </toolspecific>
296
+ </transition>
297
+ <transition id="t9">
298
+ <name>
299
+ <text>C</text>
300
+ <graphics>
301
+ <offset x="1000" y="330"/>
302
+ </graphics>
303
+ </name>
304
+ <graphics>
305
+ <position x="1000" y="290"/>
306
+ <dimension x="40" y="40"/>
307
+ </graphics>
308
+ <toolspecific tool="WoPeD" version="1.0">
309
+ <time>0</time>
310
+ <timeUnit>1</timeUnit>
311
+ <orientation>1</orientation>
312
+ </toolspecific>
313
+ </transition>
314
+ <arc id="a20" source="t10" target="p11">
315
+ <inscription>
316
+ <text>1</text>
317
+ </inscription>
318
+ <graphics/>
319
+ <toolspecific tool="WoPeD" version="1.0">
320
+ <probability>1.0</probability>
321
+ <displayProbabilityOn>false</displayProbabilityOn>
322
+ <displayProbabilityPosition x="500.0" y="0.0"/>
323
+ </toolspecific>
324
+ </arc>
325
+ <arc id="a9" source="p5" target="t5">
326
+ <inscription>
327
+ <text>1</text>
328
+ </inscription>
329
+ <graphics/>
330
+ <toolspecific tool="WoPeD" version="1.0">
331
+ <probability>1.0</probability>
332
+ <displayProbabilityOn>false</displayProbabilityOn>
333
+ <displayProbabilityPosition x="500.0" y="0.0"/>
334
+ </toolspecific>
335
+ </arc>
336
+ <arc id="a14" source="p8" target="t8">
337
+ <inscription>
338
+ <text>1</text>
339
+ </inscription>
340
+ <graphics/>
341
+ <toolspecific tool="WoPeD" version="1.0">
342
+ <probability>1.0</probability>
343
+ <displayProbabilityOn>false</displayProbabilityOn>
344
+ <displayProbabilityPosition x="500.0" y="0.0"/>
345
+ </toolspecific>
346
+ </arc>
347
+ <arc id="a12" source="t6" target="p8">
348
+ <inscription>
349
+ <text>1</text>
350
+ </inscription>
351
+ <graphics/>
352
+ <toolspecific tool="WoPeD" version="1.0">
353
+ <probability>1.0</probability>
354
+ <displayProbabilityOn>false</displayProbabilityOn>
355
+ <displayProbabilityPosition x="500.0" y="0.0"/>
356
+ </toolspecific>
357
+ </arc>
358
+ <arc id="a22" source="p12" target="t9">
359
+ <inscription>
360
+ <text>1</text>
361
+ </inscription>
362
+ <graphics/>
363
+ <toolspecific tool="WoPeD" version="1.0">
364
+ <probability>1.0</probability>
365
+ <displayProbabilityOn>false</displayProbabilityOn>
366
+ <displayProbabilityPosition x="500.0" y="0.0"/>
367
+ </toolspecific>
368
+ </arc>
369
+ <arc id="a13" source="p7" target="t7">
370
+ <inscription>
371
+ <text>1</text>
372
+ </inscription>
373
+ <graphics/>
374
+ <toolspecific tool="WoPeD" version="1.0">
375
+ <probability>1.0</probability>
376
+ <displayProbabilityOn>false</displayProbabilityOn>
377
+ <displayProbabilityPosition x="500.0" y="0.0"/>
378
+ </toolspecific>
379
+ </arc>
380
+ <arc id="a23" source="t7" target="p12">
381
+ <inscription>
382
+ <text>1</text>
383
+ </inscription>
384
+ <graphics/>
385
+ <toolspecific tool="WoPeD" version="1.0">
386
+ <probability>1.0</probability>
387
+ <displayProbabilityOn>false</displayProbabilityOn>
388
+ <displayProbabilityPosition x="500.0" y="0.0"/>
389
+ </toolspecific>
390
+ </arc>
391
+ <arc id="a10" source="p6" target="t6">
392
+ <inscription>
393
+ <text>1</text>
394
+ </inscription>
395
+ <graphics/>
396
+ <toolspecific tool="WoPeD" version="1.0">
397
+ <probability>1.0</probability>
398
+ <displayProbabilityOn>false</displayProbabilityOn>
399
+ <displayProbabilityPosition x="500.0" y="0.0"/>
400
+ </toolspecific>
401
+ </arc>
402
+ <arc id="a24" source="t8" target="p12">
403
+ <inscription>
404
+ <text>1</text>
405
+ </inscription>
406
+ <graphics/>
407
+ <toolspecific tool="WoPeD" version="1.0">
408
+ <probability>1.0</probability>
409
+ <displayProbabilityOn>false</displayProbabilityOn>
410
+ <displayProbabilityPosition x="500.0" y="0.0"/>
411
+ </toolspecific>
412
+ </arc>
413
+ <arc id="a11" source="t5" target="p7">
414
+ <inscription>
415
+ <text>1</text>
416
+ </inscription>
417
+ <graphics/>
418
+ <toolspecific tool="WoPeD" version="1.0">
419
+ <probability>1.0</probability>
420
+ <displayProbabilityOn>false</displayProbabilityOn>
421
+ <displayProbabilityPosition x="500.0" y="0.0"/>
422
+ </toolspecific>
423
+ </arc>
424
+ <arc id="a1" source="p1" target="t1">
425
+ <inscription>
426
+ <text>1</text>
427
+ </inscription>
428
+ <graphics/>
429
+ <toolspecific tool="WoPeD" version="1.0">
430
+ <probability>1.0</probability>
431
+ <displayProbabilityOn>false</displayProbabilityOn>
432
+ <displayProbabilityPosition x="500.0" y="0.0"/>
433
+ </toolspecific>
434
+ </arc>
435
+ <arc id="a2" source="t1" target="p2">
436
+ <inscription>
437
+ <text>1</text>
438
+ </inscription>
439
+ <graphics/>
440
+ <toolspecific tool="WoPeD" version="1.0">
441
+ <probability>1.0</probability>
442
+ <displayProbabilityOn>false</displayProbabilityOn>
443
+ <displayProbabilityPosition x="500.0" y="0.0"/>
444
+ </toolspecific>
445
+ </arc>
446
+ <arc id="a3" source="p2" target="t2">
447
+ <inscription>
448
+ <text>1</text>
449
+ </inscription>
450
+ <graphics/>
451
+ <toolspecific tool="WoPeD" version="1.0">
452
+ <probability>1.0</probability>
453
+ <displayProbabilityOn>false</displayProbabilityOn>
454
+ <displayProbabilityPosition x="500.0" y="0.0"/>
455
+ </toolspecific>
456
+ </arc>
457
+ <arc id="a4" source="p3" target="t3">
458
+ <inscription>
459
+ <text>1</text>
460
+ </inscription>
461
+ <graphics/>
462
+ <toolspecific tool="WoPeD" version="1.0">
463
+ <probability>1.0</probability>
464
+ <displayProbabilityOn>false</displayProbabilityOn>
465
+ <displayProbabilityPosition x="500.0" y="0.0"/>
466
+ </toolspecific>
467
+ </arc>
468
+ <arc id="a5" source="t3" target="p4">
469
+ <inscription>
470
+ <text>1</text>
471
+ </inscription>
472
+ <graphics/>
473
+ <toolspecific tool="WoPeD" version="1.0">
474
+ <probability>1.0</probability>
475
+ <displayProbabilityOn>false</displayProbabilityOn>
476
+ <displayProbabilityPosition x="500.0" y="0.0"/>
477
+ </toolspecific>
478
+ </arc>
479
+ <arc id="a6" source="p4" target="t4">
480
+ <inscription>
481
+ <text>1</text>
482
+ </inscription>
483
+ <graphics/>
484
+ <toolspecific tool="WoPeD" version="1.0">
485
+ <probability>1.0</probability>
486
+ <displayProbabilityOn>false</displayProbabilityOn>
487
+ <displayProbabilityPosition x="500.0" y="0.0"/>
488
+ </toolspecific>
489
+ </arc>
490
+ <arc id="a18" source="t9" target="p10">
491
+ <inscription>
492
+ <text>1</text>
493
+ </inscription>
494
+ <graphics/>
495
+ <toolspecific tool="WoPeD" version="1.0">
496
+ <probability>1.0</probability>
497
+ <displayProbabilityOn>false</displayProbabilityOn>
498
+ <displayProbabilityPosition x="500.0" y="0.0"/>
499
+ </toolspecific>
500
+ </arc>
501
+ <arc id="a7" source="t2" target="p5">
502
+ <inscription>
503
+ <text>1</text>
504
+ </inscription>
505
+ <graphics/>
506
+ <toolspecific tool="WoPeD" version="1.0">
507
+ <probability>1.0</probability>
508
+ <displayProbabilityOn>false</displayProbabilityOn>
509
+ <displayProbabilityPosition x="500.0" y="0.0"/>
510
+ </toolspecific>
511
+ </arc>
512
+ <arc id="a19" source="p10" target="t10">
513
+ <inscription>
514
+ <text>1</text>
515
+ </inscription>
516
+ <graphics/>
517
+ <toolspecific tool="WoPeD" version="1.0">
518
+ <probability>1.0</probability>
519
+ <displayProbabilityOn>false</displayProbabilityOn>
520
+ <displayProbabilityPosition x="500.0" y="0.0"/>
521
+ </toolspecific>
522
+ </arc>
523
+ <arc id="a8" source="t4" target="p6">
524
+ <inscription>
525
+ <text>1</text>
526
+ </inscription>
527
+ <graphics/>
528
+ <toolspecific tool="WoPeD" version="1.0">
529
+ <probability>1.0</probability>
530
+ <displayProbabilityOn>false</displayProbabilityOn>
531
+ <displayProbabilityPosition x="500.0" y="0.0"/>
532
+ </toolspecific>
533
+ </arc>
534
+ <toolspecific tool="WoPeD" version="1.0">
535
+ <bounds>
536
+ <position x="2" y="22"/>
537
+ <dimension x="1905" y="784"/>
538
+ </bounds>
539
+ <scale>100</scale>
540
+ <treeWidthRight>1551</treeWidthRight>
541
+ <overviewPanelVisible>true</overviewPanelVisible>
542
+ <treeHeightOverview>100</treeHeightOverview>
543
+ <treePanelVisible>true</treePanelVisible>
544
+ <verticalLayout>false</verticalLayout>
545
+ <resources/>
546
+ <simulations/>
547
+ <partnerLinks/>
548
+ <variables/>
549
+ </toolspecific>
550
+ </net>
551
+ </pnml>