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
@@ -0,0 +1,25 @@
1
+
2
+ Rule B
3
+ output '*.b'.all
4
+ Flow
5
+ rule (<__TICKET_FROM_B2_TO_B3__>) ==> B3 ==> (<T>)
6
+ rule (<__TICKET_FROM_B1_TO_B2__>) ==> B2 ==> (<__TICKET_FROM_B2_TO_B3__>)
7
+ rule B1 ==> (<__TICKET_FROM_B1_TO_B2__>)
8
+ rule (<T>) ==> B4
9
+ End
10
+
11
+ Rule B3
12
+ output '3.b'
13
+ End
14
+
15
+ Rule B2
16
+ output '2.b'
17
+ End
18
+
19
+ Rule B1
20
+ output '1.b'
21
+ End
22
+
23
+ Rule B4
24
+ output '4.b'
25
+ End
@@ -0,0 +1,395 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--PLEASE DO NOT EDIT THIS FILE
3
+ Created with Workflow PetriNet Designer Version 1.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>'3.b'</text>
9
+ <graphics>
10
+ <offset x="490" y="170"/>
11
+ </graphics>
12
+ </name>
13
+ <graphics>
14
+ <position x="510" y="130"/>
15
+ <dimension x="40" y="40"/>
16
+ </graphics>
17
+ </place>
18
+ <place id="p6">
19
+ <name>
20
+ <text>'2.b'</text>
21
+ <graphics>
22
+ <offset x="330" y="170"/>
23
+ </graphics>
24
+ </name>
25
+ <graphics>
26
+ <position x="350" y="130"/>
27
+ <dimension x="40" y="40"/>
28
+ </graphics>
29
+ </place>
30
+ <place id="p5">
31
+ <name>
32
+ <text>&lt;T></text>
33
+ <graphics>
34
+ <offset x="590" y="240"/>
35
+ </graphics>
36
+ </name>
37
+ <graphics>
38
+ <position x="590" y="200"/>
39
+ <dimension x="40" y="40"/>
40
+ </graphics>
41
+ </place>
42
+ <place id="p4">
43
+ <name>
44
+ <text>>>></text>
45
+ <graphics>
46
+ <offset x="430" y="240"/>
47
+ </graphics>
48
+ </name>
49
+ <graphics>
50
+ <position x="430" y="200"/>
51
+ <dimension x="40" y="40"/>
52
+ </graphics>
53
+ </place>
54
+ <place id="p3">
55
+ <name>
56
+ <text>>>></text>
57
+ <graphics>
58
+ <offset x="270" y="240"/>
59
+ </graphics>
60
+ </name>
61
+ <graphics>
62
+ <position x="270" y="200"/>
63
+ <dimension x="40" y="40"/>
64
+ </graphics>
65
+ </place>
66
+ <place id="p2">
67
+ <name>
68
+ <text>'1.b'</text>
69
+ <graphics>
70
+ <offset x="170" y="170"/>
71
+ </graphics>
72
+ </name>
73
+ <graphics>
74
+ <position x="190" y="130"/>
75
+ <dimension x="40" y="40"/>
76
+ </graphics>
77
+ </place>
78
+ <place id="p1">
79
+ <name>
80
+ <text/>
81
+ <graphics>
82
+ <offset x="110" y="240"/>
83
+ </graphics>
84
+ </name>
85
+ <graphics>
86
+ <position x="110" y="200"/>
87
+ <dimension x="40" y="40"/>
88
+ </graphics>
89
+ <initialMarking>
90
+ <text>1</text>
91
+ </initialMarking>
92
+ </place>
93
+ <place id="p9">
94
+ <name>
95
+ <text>'4.b'</text>
96
+ <graphics>
97
+ <offset x="650" y="170"/>
98
+ </graphics>
99
+ </name>
100
+ <graphics>
101
+ <position x="670" y="130"/>
102
+ <dimension x="40" y="40"/>
103
+ </graphics>
104
+ </place>
105
+ <place id="p8">
106
+ <name>
107
+ <text>>'*.b'.all</text>
108
+ <graphics>
109
+ <offset x="740" y="100"/>
110
+ </graphics>
111
+ </name>
112
+ <graphics>
113
+ <position x="740" y="60"/>
114
+ <dimension x="40" y="40"/>
115
+ </graphics>
116
+ </place>
117
+ <transition id="t3">
118
+ <name>
119
+ <text>B3</text>
120
+ <graphics>
121
+ <offset x="510" y="240"/>
122
+ </graphics>
123
+ </name>
124
+ <graphics>
125
+ <position x="510" y="200"/>
126
+ <dimension x="40" y="40"/>
127
+ </graphics>
128
+ <toolspecific tool="WoPeD" version="1.0">
129
+ <time>0</time>
130
+ <timeUnit>1</timeUnit>
131
+ <orientation>1</orientation>
132
+ </toolspecific>
133
+ </transition>
134
+ <transition id="t2">
135
+ <name>
136
+ <text>B2</text>
137
+ <graphics>
138
+ <offset x="350" y="240"/>
139
+ </graphics>
140
+ </name>
141
+ <graphics>
142
+ <position x="350" y="200"/>
143
+ <dimension x="40" y="40"/>
144
+ </graphics>
145
+ <toolspecific tool="WoPeD" version="1.0">
146
+ <time>0</time>
147
+ <timeUnit>1</timeUnit>
148
+ <orientation>1</orientation>
149
+ </toolspecific>
150
+ </transition>
151
+ <transition id="t1">
152
+ <name>
153
+ <text>B1</text>
154
+ <graphics>
155
+ <offset x="190" y="240"/>
156
+ </graphics>
157
+ </name>
158
+ <graphics>
159
+ <position x="190" y="200"/>
160
+ <dimension x="40" y="40"/>
161
+ </graphics>
162
+ <toolspecific tool="WoPeD" version="1.0">
163
+ <time>0</time>
164
+ <timeUnit>1</timeUnit>
165
+ <orientation>1</orientation>
166
+ </toolspecific>
167
+ </transition>
168
+ <transition id="t4">
169
+ <name>
170
+ <text>B4</text>
171
+ <graphics>
172
+ <offset x="670" y="240"/>
173
+ </graphics>
174
+ </name>
175
+ <graphics>
176
+ <position x="670" y="200"/>
177
+ <dimension x="40" y="40"/>
178
+ </graphics>
179
+ <toolspecific tool="WoPeD" version="1.0">
180
+ <time>0</time>
181
+ <timeUnit>1</timeUnit>
182
+ <orientation>1</orientation>
183
+ </toolspecific>
184
+ </transition>
185
+ <transition id="t5">
186
+ <name>
187
+ <text/>
188
+ <graphics>
189
+ <offset x="670" y="100"/>
190
+ </graphics>
191
+ </name>
192
+ <graphics>
193
+ <position x="670" y="60"/>
194
+ <dimension x="40" y="40"/>
195
+ </graphics>
196
+ <toolspecific tool="WoPeD" version="1.0">
197
+ <time>0</time>
198
+ <timeUnit>1</timeUnit>
199
+ <orientation>1</orientation>
200
+ </toolspecific>
201
+ </transition>
202
+ <arc id="a16" source="p9" target="t5">
203
+ <inscription>
204
+ <text>1</text>
205
+ </inscription>
206
+ <graphics/>
207
+ <toolspecific tool="WoPeD" version="1.0">
208
+ <probability>1.0</probability>
209
+ <displayProbabilityOn>false</displayProbabilityOn>
210
+ <displayProbabilityPosition x="500.0" y="0.0"/>
211
+ </toolspecific>
212
+ </arc>
213
+ <arc id="a9" source="t2" target="p6">
214
+ <inscription>
215
+ <text>1</text>
216
+ </inscription>
217
+ <graphics/>
218
+ <toolspecific tool="WoPeD" version="1.0">
219
+ <probability>1.0</probability>
220
+ <displayProbabilityOn>false</displayProbabilityOn>
221
+ <displayProbabilityPosition x="500.0" y="0.0"/>
222
+ </toolspecific>
223
+ </arc>
224
+ <arc id="a17" source="t5" target="p8">
225
+ <inscription>
226
+ <text>1</text>
227
+ </inscription>
228
+ <graphics/>
229
+ <toolspecific tool="WoPeD" version="1.0">
230
+ <probability>1.0</probability>
231
+ <displayProbabilityOn>false</displayProbabilityOn>
232
+ <displayProbabilityPosition x="500.0" y="0.0"/>
233
+ </toolspecific>
234
+ </arc>
235
+ <arc id="a14" source="p6" target="t5">
236
+ <inscription>
237
+ <text>1</text>
238
+ </inscription>
239
+ <graphics/>
240
+ <toolspecific tool="WoPeD" version="1.0">
241
+ <probability>1.0</probability>
242
+ <displayProbabilityOn>false</displayProbabilityOn>
243
+ <displayProbabilityPosition x="500.0" y="0.0"/>
244
+ </toolspecific>
245
+ </arc>
246
+ <arc id="a15" source="p7" target="t5">
247
+ <inscription>
248
+ <text>1</text>
249
+ </inscription>
250
+ <graphics/>
251
+ <toolspecific tool="WoPeD" version="1.0">
252
+ <probability>1.0</probability>
253
+ <displayProbabilityOn>false</displayProbabilityOn>
254
+ <displayProbabilityPosition x="500.0" y="0.0"/>
255
+ </toolspecific>
256
+ </arc>
257
+ <arc id="a12" source="t4" target="p9">
258
+ <inscription>
259
+ <text>1</text>
260
+ </inscription>
261
+ <graphics/>
262
+ <toolspecific tool="WoPeD" version="1.0">
263
+ <probability>1.0</probability>
264
+ <displayProbabilityOn>false</displayProbabilityOn>
265
+ <displayProbabilityPosition x="500.0" y="0.0"/>
266
+ </toolspecific>
267
+ </arc>
268
+ <arc id="a13" source="p2" target="t5">
269
+ <inscription>
270
+ <text>1</text>
271
+ </inscription>
272
+ <graphics/>
273
+ <toolspecific tool="WoPeD" version="1.0">
274
+ <probability>1.0</probability>
275
+ <displayProbabilityOn>false</displayProbabilityOn>
276
+ <displayProbabilityPosition x="500.0" y="0.0"/>
277
+ </toolspecific>
278
+ </arc>
279
+ <arc id="a10" source="t3" target="p7">
280
+ <inscription>
281
+ <text>1</text>
282
+ </inscription>
283
+ <graphics/>
284
+ <toolspecific tool="WoPeD" version="1.0">
285
+ <probability>1.0</probability>
286
+ <displayProbabilityOn>false</displayProbabilityOn>
287
+ <displayProbabilityPosition x="500.0" y="0.0"/>
288
+ </toolspecific>
289
+ </arc>
290
+ <arc id="a1" source="p1" target="t1">
291
+ <inscription>
292
+ <text>1</text>
293
+ </inscription>
294
+ <graphics/>
295
+ <toolspecific tool="WoPeD" version="1.0">
296
+ <probability>1.0</probability>
297
+ <displayProbabilityOn>false</displayProbabilityOn>
298
+ <displayProbabilityPosition x="500.0" y="0.0"/>
299
+ </toolspecific>
300
+ </arc>
301
+ <arc id="a2" source="t1" target="p2">
302
+ <inscription>
303
+ <text>1</text>
304
+ </inscription>
305
+ <graphics/>
306
+ <toolspecific tool="WoPeD" version="1.0">
307
+ <probability>1.0</probability>
308
+ <displayProbabilityOn>false</displayProbabilityOn>
309
+ <displayProbabilityPosition x="500.0" y="0.0"/>
310
+ </toolspecific>
311
+ </arc>
312
+ <arc id="a3" source="t1" target="p3">
313
+ <inscription>
314
+ <text>1</text>
315
+ </inscription>
316
+ <graphics/>
317
+ <toolspecific tool="WoPeD" version="1.0">
318
+ <probability>1.0</probability>
319
+ <displayProbabilityOn>false</displayProbabilityOn>
320
+ <displayProbabilityPosition x="500.0" y="0.0"/>
321
+ </toolspecific>
322
+ </arc>
323
+ <arc id="a4" source="p3" target="t2">
324
+ <inscription>
325
+ <text>1</text>
326
+ </inscription>
327
+ <graphics/>
328
+ <toolspecific tool="WoPeD" version="1.0">
329
+ <probability>1.0</probability>
330
+ <displayProbabilityOn>false</displayProbabilityOn>
331
+ <displayProbabilityPosition x="500.0" y="0.0"/>
332
+ </toolspecific>
333
+ </arc>
334
+ <arc id="a5" source="t2" target="p4">
335
+ <inscription>
336
+ <text>1</text>
337
+ </inscription>
338
+ <graphics/>
339
+ <toolspecific tool="WoPeD" version="1.0">
340
+ <probability>1.0</probability>
341
+ <displayProbabilityOn>false</displayProbabilityOn>
342
+ <displayProbabilityPosition x="500.0" y="0.0"/>
343
+ </toolspecific>
344
+ </arc>
345
+ <arc id="a6" source="p4" target="t3">
346
+ <inscription>
347
+ <text>1</text>
348
+ </inscription>
349
+ <graphics/>
350
+ <toolspecific tool="WoPeD" version="1.0">
351
+ <probability>1.0</probability>
352
+ <displayProbabilityOn>false</displayProbabilityOn>
353
+ <displayProbabilityPosition x="500.0" y="0.0"/>
354
+ </toolspecific>
355
+ </arc>
356
+ <arc id="a7" source="t3" target="p5">
357
+ <inscription>
358
+ <text>1</text>
359
+ </inscription>
360
+ <graphics/>
361
+ <toolspecific tool="WoPeD" version="1.0">
362
+ <probability>1.0</probability>
363
+ <displayProbabilityOn>false</displayProbabilityOn>
364
+ <displayProbabilityPosition x="500.0" y="0.0"/>
365
+ </toolspecific>
366
+ </arc>
367
+ <arc id="a8" source="p5" target="t4">
368
+ <inscription>
369
+ <text>1</text>
370
+ </inscription>
371
+ <graphics/>
372
+ <toolspecific tool="WoPeD" version="1.0">
373
+ <probability>1.0</probability>
374
+ <displayProbabilityOn>false</displayProbabilityOn>
375
+ <displayProbabilityPosition x="500.0" y="0.0"/>
376
+ </toolspecific>
377
+ </arc>
378
+ <toolspecific tool="WoPeD" version="1.0">
379
+ <bounds>
380
+ <position x="2" y="25"/>
381
+ <dimension x="1425" y="596"/>
382
+ </bounds>
383
+ <scale>100</scale>
384
+ <treeWidthRight>1130</treeWidthRight>
385
+ <overviewPanelVisible>true</overviewPanelVisible>
386
+ <treeHeightOverview>100</treeHeightOverview>
387
+ <treePanelVisible>true</treePanelVisible>
388
+ <verticalLayout>false</verticalLayout>
389
+ <resources/>
390
+ <simulations/>
391
+ <partnerLinks/>
392
+ <variables/>
393
+ </toolspecific>
394
+ </net>
395
+ </pnml>
@@ -0,0 +1,2 @@
1
+ .@ PackageName :: "SerialProcessing"
2
+ .@ Entrance :: SerialProcessing
@@ -1,71 +1,20 @@
1
- .@ PackageName :: "SerialProcessing"
2
1
 
3
- Rule Main
4
- output '*.a'.all
2
+ Rule SerialProcessing
5
3
  output '*.b'.all
6
- Flow
7
- rule A ==> <T>
8
- rule <T> ==> B
9
- End
10
-
11
- Rule A
12
4
  output '*.a'.all
13
5
  Flow
14
- rule <T> ==> A4
15
- rule A1 >>> A2 >>> A3 ==> <T>
16
- End
17
-
18
- Rule A1
19
- output '1.a'
20
- Action
21
- echo "A1" > {$O[1]}
22
- End
23
-
24
- Rule A2
25
- output '2.a'
26
- Action
27
- echo "A2" > {$O[1]}
28
- End
29
-
30
- Rule A3
31
- output '3.a'
32
- Action
33
- echo "A3" > {$O[1]}
6
+ rule (<T>) ==> __SerialProcessing_B_0__
7
+ rule __SerialProcessing_A_1__ ==> (<T>)
34
8
  End
35
9
 
36
- Rule A4
37
- output '4.a'
38
- Action
39
- echo "A4" > {$O[1]}
40
- End
41
-
42
- Rule B
10
+ Rule __SerialProcessing_B_0__
43
11
  output '*.b'.all
44
12
  Flow
45
- rule <T> ==> B4
46
- rule B1 >>> B2 >>> B3 ==> <T>
47
- End
48
-
49
- Rule B1
50
- output '1.b'
51
- Action
52
- echo "B1" > {$O[1]}
53
- End
54
-
55
- Rule B2
56
- output '2.b'
57
- Action
58
- echo "B2" > {$O[1]}
59
- End
60
-
61
- Rule B3
62
- output '3.b'
63
- Action
64
- echo "B3" > {$O[1]}
13
+ rule B
65
14
  End
66
15
 
67
- Rule B4
68
- output '4.b'
69
- Action
70
- echo "B4" > {$O[1]}
16
+ Rule __SerialProcessing_A_1__
17
+ output '*.a'.all
18
+ Flow
19
+ rule A
71
20
  End