pione 0.5.0.alpha.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. checksums.yaml +8 -8
  2. data/History.txt +2 -1
  3. data/example/DeferredChoiceWithPage/DeferredChoiceWithPage.pione +2 -5
  4. data/example/DeferredChoiceWithPage/{DefferredChoiceWithPage.pnml → DeferredChoiceWithPage.pnml} +0 -0
  5. data/example/DeferredChoiceWithPage/pione-package.json +2 -1
  6. data/example/FeatureExample/FeatureExample.pione +1 -1
  7. data/example/FeatureExample/pione-package.json +2 -2
  8. data/example/Fib/Fib.pione +9 -54
  9. data/example/Fib/FibN.pione +49 -0
  10. data/example/Interaction/Interaction.pione +6 -8
  11. data/example/Interaction/pione-package.json +6 -5
  12. data/example/LoopByTouch/LoopByTouch.pione +1 -3
  13. data/example/LoopByTouch/LoopByTouch.pnml +23 -6
  14. data/example/MakePair/scenario/case1/pione-scenario.json +28 -28
  15. data/example/MakePair/scenario/case2/pione-scenario.json +10 -10
  16. data/example/MakePair/scenario/case3/pione-scenario.json +26 -26
  17. data/example/OddSelector/OddSelector.pione +0 -1
  18. data/example/OddSelector/pione-package.json +2 -2
  19. data/example/OddSelector/scenario/pione-scenario.json +9 -9
  20. data/example/PegasusWMS/Merge/PegasusWMSMerge.pione +0 -1
  21. data/example/PegasusWMS/Merge/PegasusWMSMerge.pnml +2 -2
  22. data/example/PegasusWMS/Pipeline/PegasusWMSPipeline.pione +0 -1
  23. data/example/PegasusWMS/Split/PegasusWMSSplit.pione +0 -1
  24. data/example/ScoreAggregation/pione-package.json +3 -3
  25. data/example/ScoreAggregation/scenario/case1/pione-scenario.json +19 -19
  26. data/example/SelectRuleByParam/SelectRuleByParam.pione +5 -15
  27. data/example/SelectRuleByParam/pione-package.json +4 -0
  28. data/example/SequentialParameter/SequentialParameter.pione +0 -1
  29. data/example/SerialProcessing/A.pione +0 -1
  30. data/example/SerialProcessing/B.pione +0 -1
  31. data/example/SerialProcessing/SerialProcessing.pione +0 -1
  32. data/example/SerialProcessing/pione-package.json +2 -2
  33. data/example/SieveOfEratosthenes/CreateUndeterminedNumbers.pione +11 -0
  34. data/example/SingleParticlesWithRef/Create3dinfo.pione +36 -0
  35. data/example/SingleParticlesWithRef/Create3dinfo.pnml +5 -5
  36. data/example/SingleParticlesWithRef/Package.pione +3 -0
  37. data/example/SingleParticlesWithRef/SingleParticlesWithRef.pione +8 -91
  38. data/example/SingleParticlesWithRef/SingleParticlesWithRef.pnml +6 -6
  39. data/example/SingleParticlesWithRef/misc/{SingleParticlesWithRef.Display2.pione → SingleParticlesWithRef.Display2.pione.bak} +0 -0
  40. data/example/SingleParticlesWithRef/misc/{SingleParticlesWithRefFull.pione → SingleParticlesWithRefFull.pione.bak} +0 -0
  41. data/example/SingleParticlesWithRef/pione-package.json +20 -0
  42. data/example/WorkflowPatterns/07_StructuredSynchronizingMerge/StructuredSynchronizingMerge.pione +20 -46
  43. data/example/WorkflowPatterns/07_StructuredSynchronizingMerge/pione-package.json +19 -0
  44. data/example/WorkflowPatterns/12_MultipleInstancesWithoutSynchronization/MultipleInstancesWithoutSynchronization.pione +0 -1
  45. data/example/WorkflowPatterns/13_MultipleInstancesWithDesignTimeKnowledge/MultipleInstancesWithDesignTimeKnowledge.pione +0 -1
  46. data/example/WorkflowPatterns/14_MultipleInstancesWithRunTimeKnowledge/MultipleInstancesWithRunTimeKnowledge.pione +0 -1
  47. data/example/WorkflowPatterns/33_GeneralizedANDJoin/GeneralizedANDJoin.pione +0 -1
  48. data/example/WorkflowPatterns/38_GeneralSynchronizingMerge/GeneralSynchronizingMerge.pione +28 -68
  49. data/example/WorkflowPatterns/41_ThreadMerge/A.pione +24 -0
  50. data/example/WorkflowPatterns/41_ThreadMerge/A1.pione +14 -0
  51. data/example/WorkflowPatterns/41_ThreadMerge/ThreadMerge.pione +8 -31
  52. data/example/WorkflowPatterns/41_ThreadMerge/pione-package.json +21 -0
  53. data/example/WorkflowPatterns/42_ThreadSplit/ThreadSplit.pione +7 -7
  54. data/example/WorkflowPatterns/42_ThreadSplit/pione-package.json +19 -0
  55. data/lib/pione/command/pione-package-build.rb +2 -1
  56. data/lib/pione/lang/expr-parser.rb +1 -1
  57. data/lib/pione/lang/expr-transformer.rb +2 -0
  58. data/lib/pione/lang/type.rb +2 -2
  59. data/lib/pione/lang/variable.rb +8 -0
  60. data/lib/pione/pnml/compiler.rb +42 -23
  61. data/lib/pione/pnml/declaration-extractor.rb +16 -6
  62. data/lib/pione/pnml/pione-model.rb +18 -6
  63. data/lib/pione/pnml/ticket-instantiation.rb +2 -2
  64. data/lib/pione/version.rb +1 -1
  65. metadata +16 -7
@@ -1,103 +1,22 @@
1
- #
2
- # Eos for 3D reconstrucion from 2D rois using 3D initail reference
3
- #
4
-
5
- #
6
- # Variables
7
- #
8
-
9
- # Target structure name
10
- $TARGET := "all"
11
-
12
- #
13
- # Search Area for 3D
14
- #
15
-
16
- # Rot1
17
- $ROT1MIN := 0
18
- $ROT1MAX := 359
19
- $ROT1D := 30
20
- $nRot1 := 12
21
-
22
- # Rot2
23
- $ROT2MIN := 0
24
- $ROT2MAX := 359
25
- $ROT2D := 30
26
- $nRot2 := 12
27
-
28
- # Rot3
29
- $ROT3MIN := 0
30
- $ROT3MAX := 0
31
- $ROT3D := 30
32
- $nRot3 := 1
33
-
34
- # For 2D
35
- $STEP := 12
36
- $ROTMIN := 0
37
- $ROTMAX := 359
38
- $nROT := 360 / $STEP
39
-
40
- # Pad size for 2D
41
- $PAD_W := 64
42
- $PAD_H := 64
43
-
44
- #
45
- # Rules
46
- #
47
-
48
- Rule Main
49
- input '*.roi'.all
50
- input '{$TARGET}.ref3d'
1
+ Rule SingleParticlesWithRef
51
2
  input '{$TARGET}.ref2d'
3
+ input '*.roi'.all
52
4
  output '{$TARGET}.3d'
53
5
  Flow
54
- rule Create3dinfo
6
+ rule __SingleParticlesWithRef_Create3dinfo_0__
55
7
  rule Create3dlst
56
8
  rule Create3d
57
9
  End
58
10
 
59
- Rule Create3dinfo
60
- input '*.roi'
11
+ Rule __SingleParticlesWithRef_Create3dinfo_0__
61
12
  input '{$TARGET}.ref2d'
62
- output '{$*}.corinfo'
63
- output '{$*}.fit'
64
- output '{$*}.3dinfo'
65
- Flow
66
- rule ConvertRoiToPad
67
- rule ConvertPadToCorinfo
68
- rule ConvertCorinfoTo3dinfo
69
- End
70
-
71
- # .roi.pad
72
- Rule ConvertRoiToPad
73
13
  input '*.roi'
74
- output '{$*}.pad'
75
- Action
76
- mrcImageWindowing -i {$*}.roi -o {$*}.mask -W 0.1 0.0 0.05 0.0 -m 18
77
- mrcImagePad -i {$*}.mask -o {$*}.padtmp -W {$PAD_W} -H {$PAD_H} -m 3
78
- mrcImageWindowing -i {$*}.padtmp -o {$*}.pad -W 0.1 0.0 0.1 0.0 -m 2
79
- End
80
-
81
- # .pad.corinfo
82
- Rule ConvertPadToCorinfo
83
- input '*.pad'
84
- input '{$TARGET}.ref2d'
85
- output '{$*}.corinfo'
86
- output '{$*}.fit'
87
- Action
88
- mrcImageAutoRotationCorrelation -i {$*}.pad -r {$TARGET}.ref2d -O {$*}.corinfo -fit {$*}.fit -cor {$*}.cormap -n {$nROT} -m 18 -range {$ROTMIN} {$ROTMAX} -Iter 2 -nRot2 {$nRot2} -nRot1 {$nRot1} -nRot3 {$nRot3} 2> /dev/null
89
- End
90
-
91
- # .corinfo.3dinfo
92
- Rule ConvertCorinfoTo3dinfo
93
- input '*.corinfo'
94
14
  output '{$*}.3dinfo'
95
- Action
96
- awk '/Cor/ { print $7,$16,$2,$3,$4,$5,$9,$11,$12}' {$*}.corinfo | sort -r | sed -e s/.pad/.fit/ > {$*}.3dinfolst
97
- head -n 1 {$*}.3dinfolst | awk '{print $2,$3,$4,$5,$6,$1}' > {$*}.3dinfo
15
+ output '{$*}.fit'
16
+ Flow
17
+ rule Create3dinfo
98
18
  End
99
19
 
100
- # .3dinfo.3dlst
101
20
  Rule Create3dlst
102
21
  input '*.3dinfo'.all
103
22
  output '{$TARGET}.3dlst'
@@ -105,12 +24,10 @@ Action
105
24
  cat {$I[1].as_string.join(" ")} | sort > {$TARGET}.3dlst
106
25
  End
107
26
 
108
- # .3dlst.3d
109
27
  Rule Create3d
110
- input '{$TARGET}.3dlst'
111
28
  input '*.fit'.all
29
+ input '{$TARGET}.3dlst'
112
30
  output '{$TARGET}.3d'
113
31
  Action
114
32
  mrc2Dto3D -I {$TARGET}.3dlst -o {$TARGET}.3d -InterpolationMode 2 -Double -DoubleCounter {$TARGET}.3dcounter -CounterThreshold 0.5 -m 1 -WeightMode 2
115
33
  End
116
-
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <!--PLEASE DO NOT EDIT THIS FILE
3
- Created with Workflow PetriNet Designer Version 3.2.0 (woped.org)-->
3
+ Created with Workflow PetriNet Designer Version 1.0 (woped.org)-->
4
4
  <pnml>
5
5
  <net type="http://www.informatik.hu-berlin.de/top/pntd/ptNetb" id="noID">
6
6
  <place id="p7">
@@ -29,7 +29,7 @@ Created with Workflow PetriNet Designer Version 3.2.0 (woped.org)-->
29
29
  </place>
30
30
  <place id="p4">
31
31
  <name>
32
- <text>'*.roi'</text>
32
+ <text>'*.roi' #1</text>
33
33
  <graphics>
34
34
  <offset x="390" y="220"/>
35
35
  </graphics>
@@ -41,7 +41,7 @@ Created with Workflow PetriNet Designer Version 3.2.0 (woped.org)-->
41
41
  </place>
42
42
  <place id="p3">
43
43
  <name>
44
- <text>&lt;'{$TARGET}.ref2d'</text>
44
+ <text>&lt;'{$TARGET}.ref2d' #2</text>
45
45
  <graphics>
46
46
  <offset x="390" y="300"/>
47
47
  </graphics>
@@ -362,7 +362,7 @@ Created with Workflow PetriNet Designer Version 3.2.0 (woped.org)-->
362
362
  <displayProbabilityPosition x="500.0" y="0.0"/>
363
363
  </toolspecific>
364
364
  </arc>
365
- <arc id="a19" source="t6" target="p11">
365
+ <arc id="a8" source="t1" target="p6">
366
366
  <inscription>
367
367
  <text>1</text>
368
368
  </inscription>
@@ -373,7 +373,7 @@ Created with Workflow PetriNet Designer Version 3.2.0 (woped.org)-->
373
373
  <displayProbabilityPosition x="500.0" y="0.0"/>
374
374
  </toolspecific>
375
375
  </arc>
376
- <arc id="a8" source="t1" target="p6">
376
+ <arc id="a19" source="t6" target="p11">
377
377
  <inscription>
378
378
  <text>1</text>
379
379
  </inscription>
@@ -386,7 +386,7 @@ Created with Workflow PetriNet Designer Version 3.2.0 (woped.org)-->
386
386
  </arc>
387
387
  <toolspecific tool="WoPeD" version="1.0">
388
388
  <bounds>
389
- <position x="2" y="22"/>
389
+ <position x="2" y="25"/>
390
390
  <dimension x="1905" y="784"/>
391
391
  </bounds>
392
392
  <scale>100</scale>
@@ -0,0 +1,20 @@
1
+ {
2
+ "PackageName": "SingleParticlesWithRef",
3
+ "Parents": [
4
+
5
+ ],
6
+ "Documents": [
7
+ "Create3dinfo.pione",
8
+ "Package.pione",
9
+ "SingleParticlesWithRef.pione"
10
+ ],
11
+ "Scenarios": [
12
+
13
+ ],
14
+ "Bins": [
15
+
16
+ ],
17
+ "Etcs": [
18
+
19
+ ]
20
+ }
@@ -1,71 +1,45 @@
1
- param $COND1 := true
2
- $COND2 := not :: $COND1
3
-
4
- Rule Main
1
+ Rule StructuredSynchronizingMerge
5
2
  output 'o1'
6
3
  Flow
7
- rule Init
8
4
  rule A
5
+ rule Init
6
+ rule E
7
+ rule D
8
+ if $COND1
9
9
  rule B
10
+ end
11
+
12
+ if $COND2
10
13
  rule C
11
- rule D
12
- rule E
13
- End
14
+ end
14
15
 
15
- Rule Init
16
- output 'i1'.touch
17
16
  End
18
17
 
19
18
  Rule A
20
19
  input 'i1'
21
- output 'p1' or null
22
- output 'p2' or null
23
- output 'p4' or null
24
- output 'p5' or null
25
- Flow
26
- rule A1
27
- rule A2
28
- rule A3
29
- rule A4
30
20
  End
31
21
 
32
- Rule A1
33
- output 'p1'.touch
34
- constraint $COND1
35
- End
36
-
37
- Rule A2
38
- output 'p4'.touch
39
- constraint not :: $COND1
22
+ Rule Init
23
+ output 'i1'
40
24
  End
41
25
 
42
- Rule A3
43
- output 'p2'.touch
44
- constraint $COND2
26
+ Rule C
27
+ input 'p2'
28
+ output 'p5'
45
29
  End
46
30
 
47
- Rule A4
48
- output 'p5'.touch
49
- constraint not :: $COND2
31
+ Rule E
32
+ input 'p5'
33
+ input 'p4'
34
+ output 'o1'
50
35
  End
51
36
 
52
37
  Rule B
53
38
  input 'p1'
54
- output 'p3'.touch
55
- End
56
-
57
- Rule C
58
- input 'p2'
59
- output 'p5'.touch
39
+ output 'p3'
60
40
  End
61
41
 
62
42
  Rule D
63
43
  input 'p3'
64
- output 'p4'.touch
65
- End
66
-
67
- Rule E
68
- input 'p4'
69
- input 'p5'
70
- output 'o1'.touch
44
+ output 'p4'
71
45
  End
@@ -0,0 +1,19 @@
1
+ {
2
+ "PackageName": "WCP07_StructuredSynchronizingMerge",
3
+ "Parents": [
4
+
5
+ ],
6
+ "Documents": [
7
+ "Package.pione",
8
+ "StructuredSynchronizingMerge.pione"
9
+ ],
10
+ "Scenarios": [
11
+
12
+ ],
13
+ "Bins": [
14
+
15
+ ],
16
+ "Etcs": [
17
+
18
+ ]
19
+ }
@@ -25,5 +25,4 @@ End
25
25
  Rule C
26
26
  input 'p1'
27
27
  output 'o1-{$N}'
28
- param $N := 1.upto($SIZE)
29
28
  End
@@ -10,7 +10,6 @@ End
10
10
  Rule B
11
11
  input 'p1'
12
12
  output 'p2-{$N}'
13
- param $N := 1.upto(5)
14
13
  End
15
14
 
16
15
  Rule A
@@ -10,7 +10,6 @@ End
10
10
  Rule C
11
11
  input 'p1'
12
12
  output 'p2-{$N}'
13
- param $N := 1.upto($NUM)
14
13
  End
15
14
 
16
15
  Rule A
@@ -16,5 +16,4 @@ Rule Init
16
16
  output '{$N}.i1'
17
17
  output '{$N}.i2'
18
18
  output '{$N}.i3'
19
- param $N := (1 | 2 | 3 | 4 | 5)
20
19
  End
@@ -1,94 +1,54 @@
1
- param $COND1 := true
2
- param $COND2 := not :: $COND1
3
- param $COND3 := true # processing is endless if $COND3 is true
4
-
5
- Rule Main
6
- output 'o1'
1
+ Rule GeneralSynchronizingMerge
7
2
  output 'o2' or null
3
+ output 'o1'
8
4
  Flow
9
- rule Init
10
5
  rule A
11
- rule B
12
- rule C
13
- rule D
6
+ rule Init
14
7
  rule E
15
8
  rule F
16
- End
17
-
18
- Rule Init
19
- output 'i1'.touch
20
- End
21
-
22
- Rule A
23
- input 'i1'
24
- output 'p1' or 'p2'
25
- Flow
26
- rule A1
27
- rule A2
28
- End
9
+ rule D
10
+ if $COND1
11
+ rule B
12
+ end
29
13
 
30
- Rule A1
31
- output 'p1'.touch
32
- constraint $COND1
33
- End
14
+ if $COND3
15
+
16
+ end
34
17
 
35
- Rule A2
36
- output 'p2'.touch
37
- constraint $COND2
38
- End
18
+ if $COND2
19
+ rule C
20
+ end
39
21
 
40
- Rule B
41
- input 'p1'
42
- output 'p3'.touch
43
22
  End
44
23
 
45
- Rule C
46
- input 'p2'
47
- output 'p5'.touch
24
+ Rule A
25
+ input 'i1'
48
26
  End
49
27
 
50
- Rule D
51
- input 'p3'
52
- output 'p4'.touch
28
+ Rule Init
29
+ output 'i1'
53
30
  End
54
31
 
55
32
  Rule E
56
- input 'p4' or 'p5'
57
- output 'o1'.touch
33
+ input 'p4'
34
+ input 'p5'
35
+ output 'o1'
58
36
  End
59
37
 
60
38
  Rule F
61
- input 'p1'
62
39
  input 'p4'
63
- output 'p1' or 'o2'
64
- Flow
65
- rule Once
66
- rule F1
67
- rule F2
68
- End
69
-
70
- Rule Once
71
- output 'once'.touch
72
40
  End
73
41
 
74
- Rule F1
75
- input 'p1'
76
- input 'once'
77
- output 'p1'
78
- constraint $COND3
79
- Flow
80
- rule F1Touch
42
+ Rule B
43
+ output 'p3'
81
44
  End
82
45
 
83
- Rule F1Touch
84
- input 'p1'
85
- input 'once'
86
- output 'p1'.touch
87
- output 'once'.remove
46
+ Rule D
47
+ input 'p3'
48
+ output 'p4'
88
49
  End
89
50
 
90
- Rule F2
91
- output 'o2'.touch
92
- constraint not :: $COND3
51
+ Rule C
52
+ input 'p2'
53
+ output 'p5'
93
54
  End
94
-