pione 0.5.0.alpha.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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
-