pione 0.3.1 → 0.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (151) hide show
  1. data/.gitignore +0 -1
  2. data/.travis.yml +3 -0
  3. data/History.txt +15 -0
  4. data/Rakefile +4 -0
  5. data/doc/man/pione-action-list.md +23 -0
  6. data/doc/man/pione-action.md +37 -0
  7. data/doc/man/pione-clean.md +56 -0
  8. data/doc/man/pione-compiler.md +39 -0
  9. data/doc/man/pione-update-package-info.md +38 -0
  10. data/example/DeferredChoice/DeferredChoice.pione +6 -4
  11. data/example/DeferredChoice/pione-package.json +15 -0
  12. data/example/FeatureExample/FeatureExample.pione +2 -0
  13. data/example/FeatureExample/pione-package.json +15 -0
  14. data/example/LoopByTouch/LoopByTouch.pione +2 -0
  15. data/example/LoopByTouch/pione-package.json +18 -0
  16. data/example/LucasNumber/LucasNumber.pione +6 -4
  17. data/example/LucasNumber/pione-package.json +15 -0
  18. data/example/MakePair/MakePair.pione +2 -0
  19. data/example/MakePair/pione-package.json +17 -0
  20. data/example/MakePair/scenario/case1/Scenario.pione +1 -0
  21. data/example/MakePair/scenario/case1/pione-scenario.json +47 -0
  22. data/example/MakePair/scenario/case2/Scenario.pione +1 -0
  23. data/example/MakePair/scenario/case2/pione-scenario.json +22 -0
  24. data/example/MakePair/scenario/case3/Scenario.pione +1 -0
  25. data/example/MakePair/scenario/case3/pione-scenario.json +43 -0
  26. data/example/OddSelector/OddSelector.pione +2 -0
  27. data/example/OddSelector/pione-package.json +15 -0
  28. data/example/OddSelector/scenario/Scenario.pione +1 -0
  29. data/example/OddSelector/{data → scenario/input}/1.i +0 -0
  30. data/example/OddSelector/{data → scenario/input}/10.i +0 -0
  31. data/example/OddSelector/{data → scenario/input}/2.i +0 -0
  32. data/example/OddSelector/{data → scenario/input}/3.i +0 -0
  33. data/example/OddSelector/{data → scenario/input}/4.i +0 -0
  34. data/example/OddSelector/{data → scenario/input}/5.i +0 -0
  35. data/example/OddSelector/{data → scenario/input}/6.i +0 -0
  36. data/example/OddSelector/{data → scenario/input}/7.i +0 -0
  37. data/example/OddSelector/{data → scenario/input}/8.i +0 -0
  38. data/example/OddSelector/{data → scenario/input}/9.i +0 -0
  39. data/example/OddSelector/scenario/output/1.res +0 -0
  40. data/example/OddSelector/scenario/output/3.res +0 -0
  41. data/example/OddSelector/scenario/output/5.res +0 -0
  42. data/example/OddSelector/scenario/output/7.res +0 -0
  43. data/example/OddSelector/scenario/output/9.res +0 -0
  44. data/example/OddSelector/scenario/pione-scenario.json +23 -0
  45. data/example/PegasusWMS/Merge/Merge.pione +3 -1
  46. data/example/PegasusWMS/Merge/pione-package.json +15 -0
  47. data/example/PegasusWMS/Pipeline/Pipeline.pione +2 -0
  48. data/example/PegasusWMS/Pipeline/pione-package.json +15 -0
  49. data/example/PegasusWMS/Split/Split.pione +2 -0
  50. data/example/PegasusWMS/Split/pione-package.json +15 -0
  51. data/example/{AbstractRule/AbstractRule.pione → SelectRuleByParam/SelectRuleByParam.pione} +4 -2
  52. data/example/SelectRuleByParam/pione-package.json +17 -0
  53. data/example/SelectRuleByParam/scenario/a/Scenario.pione +2 -0
  54. data/example/{AbstractRule → SelectRuleByParam}/scenario/a/output/message.txt +0 -0
  55. data/example/SelectRuleByParam/scenario/a/pione-scenario.json +10 -0
  56. data/example/SelectRuleByParam/scenario/b/Scenario.pione +2 -0
  57. data/example/{AbstractRule → SelectRuleByParam}/scenario/b/output/message.txt +0 -0
  58. data/example/SelectRuleByParam/scenario/b/pione-scenario.json +10 -0
  59. data/example/SelectRuleByParam/scenario/c/Scenario.pione +2 -0
  60. data/example/{AbstractRule → SelectRuleByParam}/scenario/c/output/message.txt +0 -0
  61. data/example/SelectRuleByParam/scenario/c/pione-scenario.json +10 -0
  62. data/example/Sum/Sum.pione +23 -21
  63. data/example/Sum/pione-package.json +15 -0
  64. data/example/Sum/scenario/Scenario.pione +1 -0
  65. data/example/Sum/{input → scenario/input}/list.txt +0 -0
  66. data/example/Sum/scenario/output/sum.txt +6 -0
  67. data/example/Sum/scenario/pione-scenario.json +10 -0
  68. data/lib/pione/agent/agent-exception.rb +11 -0
  69. data/lib/pione/agent/process-manager.rb +19 -7
  70. data/lib/pione/agent/task-worker.rb +2 -2
  71. data/lib/pione/command/option.rb +0 -1
  72. data/lib/pione/command/pione-action-list.rb +49 -0
  73. data/lib/pione/command/pione-action.rb +83 -0
  74. data/lib/pione/command/pione-client.rb +34 -10
  75. data/lib/pione/command/pione-compiler.rb +19 -1
  76. data/lib/pione/command/pione-package.rb +2 -0
  77. data/lib/pione/command/pione-task-worker.rb +3 -1
  78. data/lib/pione/command/pione-update-package-info.rb +53 -0
  79. data/lib/pione/command.rb +6 -4
  80. data/lib/pione/global/tuple-space-notifier-variable.rb +1 -1
  81. data/lib/pione/lang/environment.rb +47 -16
  82. data/lib/pione/lang/parameters.rb +6 -0
  83. data/lib/pione/literate-action/document.rb +25 -0
  84. data/lib/pione/literate-action/handler.rb +24 -0
  85. data/lib/pione/literate-action/parser.rb +54 -0
  86. data/lib/pione/literate-action.rb +10 -0
  87. data/lib/pione/location/data-location.rb +11 -3
  88. data/lib/pione/location/dropbox-location.rb +2 -0
  89. data/lib/pione/location/local-location.rb +4 -0
  90. data/lib/pione/package/package-exception.rb +17 -1
  91. data/lib/pione/package/package-handler.rb +13 -4
  92. data/lib/pione/package/scenario-handler.rb +9 -3
  93. data/lib/pione/package/scenario-info.rb +4 -3
  94. data/lib/pione/package/scenario-scanner.rb +11 -7
  95. data/lib/pione/rule-engine/basic-handler.rb +1 -1
  96. data/lib/pione/rule-engine/flow-handler.rb +6 -5
  97. data/lib/pione/test-helper/command-helper.rb +44 -1
  98. data/lib/pione/test-helper/internet-connectivity.rb +10 -0
  99. data/lib/pione/test-helper.rb +11 -10
  100. data/lib/pione/util/digest.rb +1 -1
  101. data/lib/pione/util/id.rb +1 -1
  102. data/lib/pione/util/indentation.rb +1 -1
  103. data/lib/pione/util/last-time.rb +20 -0
  104. data/lib/pione/util/misc.rb +7 -1
  105. data/lib/pione/util/pnml-compiler.rb +84 -13
  106. data/lib/pione/util.rb +1 -0
  107. data/lib/pione/version.rb +1 -1
  108. data/lib/pione.rb +17 -15
  109. data/man/pione-action-list.1 +23 -0
  110. data/man/pione-action.1 +45 -0
  111. data/man/pione-compiler.1 +48 -0
  112. data/man/pione-update-package-info.1 +43 -0
  113. data/pione.gemspec +1 -0
  114. data/test/command/spec_pione-action-list.rb +15 -0
  115. data/test/command/spec_pione-action.rb +24 -0
  116. data/test/command/spec_pione-client.rb +189 -0
  117. data/test/command/spec_pione-compiler.rb +28 -1
  118. data/test/command/spec_pione-update-package-info.rb +66 -0
  119. data/test/lang/data/literal-parser.yml +1 -0
  120. data/test/lang/spec_environment.rb +19 -0
  121. data/test/literate-action/data/D1.md +25 -0
  122. data/test/literate-action/data/HelloWorld.md +11 -0
  123. data/test/literate-action/spec_document.rb +20 -0
  124. data/test/literate-action/spec_handler.rb +28 -0
  125. data/test/literate-action/spec_parser.rb +51 -0
  126. data/test/package/spec_scenario-info.rb +2 -2
  127. data/test/package/spec_scenario-scanner.rb +3 -3
  128. data/test/util/data/pnml/Sequence.pnml +135 -135
  129. data/test/util/spec_pnml-compiler.rb +20 -9
  130. metadata +102 -39
  131. data/example/AbstractRule/package.yml +0 -7
  132. data/example/AbstractRule/scenario/a/scenario.yml +0 -4
  133. data/example/AbstractRule/scenario/b/scenario.yml +0 -4
  134. data/example/AbstractRule/scenario/c/scenario.yml +0 -4
  135. data/example/HelloWorld/package.yml +0 -6
  136. data/example/HelloWorld/scenario/scenario.yml +0 -3
  137. data/example/MakePair/package.yml +0 -8
  138. data/example/MakePair/scenario/case1/scenario.yml +0 -42
  139. data/example/MakePair/scenario/case2/scenario.yml +0 -17
  140. data/example/MakePair/scenario/case3/scenario.yml +0 -39
  141. data/example/PegasusWMS/Merge/package.yml +0 -2
  142. data/example/PegasusWMS/Pipeline/package.yml +0 -2
  143. data/example/PegasusWMS/Split/package.yml +0 -2
  144. data/example/SyntaxError/call_rule_error.pione +0 -6
  145. data/example/SyntaxError/feature_line_error.pione +0 -7
  146. data/example/SyntaxError/flow_block_error.pione +0 -5
  147. data/example/SyntaxError/input_line_error.pione +0 -6
  148. data/example/SyntaxError/invalid_rule_name.pione +0 -6
  149. data/example/SyntaxError/output_line_error.pione +0 -6
  150. data/example/SyntaxError/param_line_error.pione +0 -7
  151. data/example/SyntaxError/variable-binding-error.pione +0 -11
data/.gitignore CHANGED
@@ -14,7 +14,6 @@ nohup.out
14
14
  /output
15
15
  /result
16
16
  /html
17
- /doc
18
17
  /vendor
19
18
  /coverage
20
19
  /pkg
data/.travis.yml CHANGED
@@ -1,3 +1,6 @@
1
+ before_script:
2
+ - sudo apt-get install bc # for processing Fib.pione
3
+
1
4
  language: ruby
2
5
  rvm:
3
6
  # - "1.9.2" # PIONE doesn't support 1.9.2
data/History.txt CHANGED
@@ -1,5 +1,20 @@
1
1
  # History
2
2
 
3
+ ## 0.3.2(2013/11/05)
4
+
5
+ * Added literate action document.
6
+ * Added `update-package-info` subcommand.
7
+ * Added `action` subcommand.
8
+ * Added `action:list` subcommand
9
+ * Added `--timeout SEC` option to pione-client command.
10
+ * Changed to stop processing if PIONE methods not found.
11
+ * PNML compiler can generate executable PIONE document.
12
+ * Fixed many bugs about parameters.
13
+ * Fixed many bugs about features.
14
+ * Fixed problem of global item `presence_notification_addresses`.
15
+ * Renamed and updated `SelectRuleByParam` package.
16
+ * Updated many example's packages.
17
+
3
18
  ## 0.3.1(2013/10/29)
4
19
 
5
20
  * Fixed performance bug.
data/Rakefile CHANGED
@@ -81,4 +81,8 @@ end
81
81
  desc "generate man documents"
82
82
  task "man" do
83
83
  generate_man("doc/man/pione-clean.md", "man/pione-clean.1")
84
+ generate_man("doc/man/pione-compiler.md", "man/pione-compiler.1")
85
+ generate_man("doc/man/pione-update-package-info.md", "man/pione-update-package-info.1")
86
+ generate_man("doc/man/pione-action.md", "man/pione-action.1")
87
+ generate_man("doc/man/pione-action-list.md", "man/pione-action-list.1")
84
88
  end
@@ -0,0 +1,23 @@
1
+ % pione-action-list(1) PIONE User Manual
2
+ % Keita Yamaguchi
3
+
4
+ # NAME
5
+
6
+ pione-action-list - execute an action in literate action document.
7
+
8
+ # SYNOPSIS
9
+
10
+ **pione action:list** [options] location
11
+
12
+ # DESCRIPTION
13
+
14
+ **action:list** command lists action names in literate action document.
15
+
16
+ # EXAMPLES
17
+
18
+ pione action:list HelloWorld.md
19
+ : List all action names of `HelloWorld.md`.
20
+
21
+ # REPORTING BUGS
22
+
23
+ Report bugs or feature requests to PIONE's issue tracker(https://github.com/pione/pione/issues).
@@ -0,0 +1,37 @@
1
+ % pione-action(1) PIONE User Manual
2
+ % Keita Yamaguchi
3
+
4
+ # NAME
5
+
6
+ pione-action - execute an action in literate action document.
7
+
8
+ # SYNOPSIS
9
+
10
+ **pione action** [options] location action_name
11
+
12
+ # DESCRIPTION
13
+
14
+ **action** command execute or show an action in literate action document.
15
+
16
+ # OPTIONS
17
+
18
+ --show
19
+ : Show an action instead of execution.
20
+
21
+ -d, --directory PATH
22
+ : Execute an action in the directory.
23
+
24
+ # EXAMPLES
25
+
26
+ pione action HelloWorld.md SayHello
27
+ : Execute `SayHello` action of `HelloWorld.md` in current directory.
28
+
29
+ pione action -d /tmp HelloWorld.md SayHello
30
+ : Execute `SayHello` action of `HelloWorld.md` in /tmp.
31
+
32
+ pione action HelloWorld.md SayHello --show
33
+ : Show `SayHello` action of `HelloWorld.md`.
34
+
35
+ # REPORTING BUGS
36
+
37
+ Report bugs or feature requests to PIONE's issue tracker(https://github.com/pione/pione/issues).
@@ -0,0 +1,56 @@
1
+ % pione-clean(1) PIONE User Manual
2
+ % Keita Yamaguchi
3
+
4
+ # NAME
5
+
6
+ pione-clean - remove PIONE's temporary files, cache, and etc.
7
+
8
+ # SYNOPSIS
9
+
10
+ **pione-clean** [options]
11
+
12
+ # DESCRIPTION
13
+
14
+ pione-clean removes PIONE's temporary files, cache, and etc.
15
+
16
+ ## NOTE
17
+
18
+ Package cache files are not removed if it is in package database.
19
+
20
+ # OPTIONS
21
+
22
+ --older=*DATE*
23
+ : Remove files older than the date. *DATE* can be iso8601 format:
24
+
25
+ pione-clean --older=2013-10-01
26
+
27
+ This means pione-clean command removes files older than 2013-10-01.
28
+ Otherwise it can be days:
29
+
30
+ pione-clean --older=10
31
+
32
+ This means pione-clean command removes files older than 10 days.
33
+
34
+ --type=*NAME*
35
+ : Remove only files of the type. *NAME* can be *temporary*, *file-cache*, *package-cache*, or *profile*.
36
+
37
+ # EXAMPLES
38
+
39
+ pione-clean
40
+ : Remove all type files.
41
+
42
+ pione-clean --older=2013-10-01
43
+ : Remove all type files older than 2013-10-01.
44
+
45
+ pione-clean --older=10
46
+ : Remove all type files older than 10 days.
47
+
48
+ pione-clean --type=profile
49
+ : Remove profile reports.
50
+
51
+ pione-clean --type=file-cache --older=30
52
+ : Remove file cache files older than 30 days.
53
+
54
+ # REPORTING BUGS
55
+
56
+ Report bugs or feature requests to PIONE's issue tracker(https://github.com/pione/pione/issues).
@@ -0,0 +1,39 @@
1
+ % pione-compiler(1) PIONE User Manual
2
+ % Keita Yamaguchi
3
+
4
+ # NAME
5
+
6
+ pione-compiler - compile to PIONE file.
7
+
8
+ # SYNOPSIS
9
+
10
+ **pione-compiler** [options] file
11
+
12
+ # DESCRIPTION
13
+
14
+ pione-compiler compiles from PNML(Petri Net Markup Language) to PIONE
15
+ document. Source PNML file should be written in a manner of PIONE's special
16
+ notations. Target PIONE document is printed out to STDOUT.
17
+
18
+ # OPTIONS
19
+
20
+ --name=*NAME*
21
+ : Set the package name.
22
+
23
+ --editor=*NAME*
24
+ : Set the package editor.
25
+
26
+ --tag=*NAME*
27
+ : Set the package tag.
28
+
29
+ # EXAMPLES
30
+
31
+ pione-compiler Sequence.pnml
32
+ : Compile from Sequence.pnml to PIONE document.
33
+
34
+ pione-compiler --name=Sequence Sequence.pnml
35
+ : Compile from Sequence.pnml to PIONE document with package name "Sequence".
36
+
37
+ # REPORTING BUGS
38
+
39
+ Report bugs or feature requests to PIONE's issue tracker(https://github.com/pione/pione/issues).
@@ -0,0 +1,38 @@
1
+ % pione-update-package-info(1) PIONE User Manual
2
+ % Keita Yamaguchi
3
+
4
+ # NAME
5
+
6
+ pione-update-package-info - update PIONE's package information files.
7
+
8
+ # SYNOPSIS
9
+
10
+ **pione update-package-info** [options] pacakge-location
11
+
12
+ # DESCRIPTION
13
+
14
+ pione-update-package-info updates PIONE's package information files. PIONE tries
15
+ to update package information files automatically, but you should update it by
16
+ this command when you add new files or do some operations.
17
+
18
+ ## NOTE
19
+
20
+ This command tries to update files from criterion of file timestamps. If files
21
+ are not updated by PIONE's mistake, you need to set `--force` option.
22
+
23
+ # OPTIONS
24
+
25
+ --force
26
+ : Update all package information files ignoring the update criterion.
27
+
28
+ # EXAMPLES
29
+
30
+ pione update-package-info example/HelloWorld
31
+ : Update some package information files in the path of example/HelloWorld.
32
+
33
+ pione update-package-info --force example/HelloWorld
34
+ : Update all package information files in the path of example/HelloWorld.
35
+
36
+ # REPORTING BUGS
37
+
38
+ Report bugs or feature requests to PIONE's issue tracker(https://github.com/pione/pione/issues).
@@ -1,16 +1,18 @@
1
+ .@ PackageName :: "DefferredChoice"
2
+
3
+ param $DIALOG := "zenity"
4
+
1
5
  Rule Main
2
6
  output 'result.txt'
3
- param $DIALOG := "zenity"
4
7
  Flow
5
- rule UserSelect.params({DIALOG: $DIALOG})
8
+ rule UserSelect
6
9
  rule A
7
10
  rule B
8
11
  rule C
9
12
  End
10
13
 
11
14
  Rule UserSelect
12
- output 'a.txt:b.txt:c.txt'
13
- param $DIALOG
15
+ output 'a.txt' or 'b.txt' or 'c.txt'
14
16
  feature +Interactive
15
17
  Action
16
18
  if [ "{$DIALOG}" = "zenity" ]
@@ -0,0 +1,15 @@
1
+ {
2
+ "PackageName": "DefferredChoice",
3
+ "Parents": [
4
+
5
+ ],
6
+ "Documents": [
7
+ "DeferredChoice.pione"
8
+ ],
9
+ "Scenarios": [
10
+
11
+ ],
12
+ "Bins": [
13
+
14
+ ]
15
+ }
@@ -1,3 +1,5 @@
1
+ .@ PackageName :: "FeatureExample"
2
+
1
3
  # This task can be done by the worker that has feature "^X".
2
4
  Rule Main
3
5
  output 'message.txt'
@@ -0,0 +1,15 @@
1
+ {
2
+ "PackageName": "FeatureExample",
3
+ "Parents": [
4
+
5
+ ],
6
+ "Documents": [
7
+ "FeatureExample.pione"
8
+ ],
9
+ "Scenarios": [
10
+
11
+ ],
12
+ "Bins": [
13
+
14
+ ]
15
+ }
@@ -1,3 +1,5 @@
1
+ .@ PackageName :: "LoopByTouch"
2
+
1
3
  param $N := 3
2
4
 
3
5
  Rule Main
@@ -0,0 +1,18 @@
1
+ {
2
+ "PackageName": "LoopByTouch",
3
+ "Parents": [
4
+
5
+ ],
6
+ "Documents": [
7
+ "SingleLoop.pione",
8
+ "TripletLoop.pione",
9
+ "PairLoop.pione",
10
+ "LoopByTouch.pione"
11
+ ],
12
+ "Scenarios": [
13
+
14
+ ],
15
+ "Bins": [
16
+
17
+ ]
18
+ }
@@ -1,8 +1,10 @@
1
+ .@ PackageName :: "LucasNumber"
2
+
1
3
  Rule Main
2
4
  output 'result.txt'
3
5
  param $NUM := 10
4
6
  Flow
5
- rule LucasNumber.params({NUM: $NUM})
7
+ rule LucasNumber {NUM: $NUM}
6
8
  rule Result {NUM: $NUM}
7
9
  End
8
10
 
@@ -25,9 +27,9 @@ Flow
25
27
  $NUM2 := $NUM + 2
26
28
  $OP := "-"
27
29
  end
28
- rule LucasNumber.params({NUM: $NUM1})
29
- rule LucasNumber.params({NUM: $NUM2})
30
- rule Calc.params({NUM: $NUM, NUM1: $NUM1, NUM2: $NUM2, OP: $OP})
30
+ rule LucasNumber {NUM: $NUM1}
31
+ rule LucasNumber {NUM: $NUM2}
32
+ rule Calc {NUM: $NUM, NUM1: $NUM1, NUM2: $NUM2, OP: $OP}
31
33
  end
32
34
  End
33
35
 
@@ -0,0 +1,15 @@
1
+ {
2
+ "PackageName": "LucasNumber",
3
+ "Parents": [
4
+
5
+ ],
6
+ "Documents": [
7
+ "LucasNumber.pione"
8
+ ],
9
+ "Scenarios": [
10
+
11
+ ],
12
+ "Bins": [
13
+
14
+ ]
15
+ }
@@ -1,3 +1,5 @@
1
+ .@ PackageName :: "MakePair"
2
+
1
3
  Rule Main
2
4
  input '*.i'.all
3
5
  output '*.pair'.all
@@ -0,0 +1,17 @@
1
+ {
2
+ "PackageName": "MakePair",
3
+ "Parents": [
4
+
5
+ ],
6
+ "Documents": [
7
+ "MakePair.pione"
8
+ ],
9
+ "Scenarios": [
10
+ "scenario/case1",
11
+ "scenario/case3",
12
+ "scenario/case2"
13
+ ],
14
+ "Bins": [
15
+
16
+ ]
17
+ }
@@ -0,0 +1 @@
1
+ .@ ScenarioName :: "case1"
@@ -0,0 +1,47 @@
1
+ {
2
+ "ScenarioName": "case1",
3
+ "ParamSet": null,
4
+ "Inputs": [
5
+ "input/4.i",
6
+ "input/3.i",
7
+ "input/5.i",
8
+ "input/1.i",
9
+ "input/2.i"
10
+ ],
11
+ "Outputs": [
12
+ "output/perm-4-5.pair",
13
+ "output/comb-2-4.pair",
14
+ "output/comb-3-4.pair",
15
+ "output/comb-3-5.pair",
16
+ "output/perm-2-3.pair",
17
+ "output/perm-5-1.pair",
18
+ "output/perm-4-3.pair",
19
+ "output/comb-1-4.pair",
20
+ "output/perm-3-2.pair",
21
+ "output/succ-1-2.pair",
22
+ "output/perm-5-4.pair",
23
+ "output/comb-2-3.pair",
24
+ "output/perm-1-5.pair",
25
+ "output/perm-5-3.pair",
26
+ "output/perm-2-4.pair",
27
+ "output/comb-1-3.pair",
28
+ "output/perm-3-5.pair",
29
+ "output/comb-1-5.pair",
30
+ "output/perm-4-1.pair",
31
+ "output/perm-3-1.pair",
32
+ "output/comb-4-5.pair",
33
+ "output/perm-2-1.pair",
34
+ "output/perm-4-2.pair",
35
+ "output/perm-5-2.pair",
36
+ "output/perm-1-2.pair",
37
+ "output/perm-1-3.pair",
38
+ "output/perm-1-4.pair",
39
+ "output/comb-2-5.pair",
40
+ "output/succ-4-5.pair",
41
+ "output/succ-3-4.pair",
42
+ "output/perm-3-4.pair",
43
+ "output/succ-2-3.pair",
44
+ "output/perm-2-5.pair",
45
+ "output/comb-1-2.pair"
46
+ ]
47
+ }
@@ -0,0 +1 @@
1
+ .@ ScenarioName :: "case2"
@@ -0,0 +1,22 @@
1
+ {
2
+ "ScenarioName": "case2",
3
+ "ParamSet": null,
4
+ "Inputs": [
5
+ "input/11.i",
6
+ "input/9.i",
7
+ "input/10.i"
8
+ ],
9
+ "Outputs": [
10
+ "output/comb-9-11.pair",
11
+ "output/succ-10-11.pair",
12
+ "output/perm-11-10.pair",
13
+ "output/perm-9-11.pair",
14
+ "output/perm-10-9.pair",
15
+ "output/comb-10-11.pair",
16
+ "output/perm-11-9.pair",
17
+ "output/perm-9-10.pair",
18
+ "output/succ-9-10.pair",
19
+ "output/comb-9-10.pair",
20
+ "output/perm-10-11.pair"
21
+ ]
22
+ }
@@ -0,0 +1 @@
1
+ .@ ScenarioName :: "case3"
@@ -0,0 +1,43 @@
1
+ {
2
+ "ScenarioName": "case3",
3
+ "ParamSet": null,
4
+ "Inputs": [
5
+ "input/3.i",
6
+ "input/5.i",
7
+ "input/1.i",
8
+ "input/9.i",
9
+ "input/7.i"
10
+ ],
11
+ "Outputs": [
12
+ "output/comb-3-5.pair",
13
+ "output/perm-5-9.pair",
14
+ "output/perm-5-1.pair",
15
+ "output/comb-3-9.pair",
16
+ "output/perm-3-7.pair",
17
+ "output/comb-7-9.pair",
18
+ "output/perm-7-3.pair",
19
+ "output/comb-3-7.pair",
20
+ "output/perm-1-5.pair",
21
+ "output/comb-1-7.pair",
22
+ "output/perm-5-3.pair",
23
+ "output/perm-7-5.pair",
24
+ "output/comb-1-3.pair",
25
+ "output/perm-3-5.pair",
26
+ "output/comb-1-5.pair",
27
+ "output/perm-9-5.pair",
28
+ "output/perm-1-9.pair",
29
+ "output/perm-9-3.pair",
30
+ "output/perm-5-7.pair",
31
+ "output/perm-3-9.pair",
32
+ "output/perm-3-1.pair",
33
+ "output/comb-1-9.pair",
34
+ "output/comb-5-7.pair",
35
+ "output/perm-1-7.pair",
36
+ "output/perm-1-3.pair",
37
+ "output/comb-5-9.pair",
38
+ "output/perm-9-1.pair",
39
+ "output/perm-9-7.pair",
40
+ "output/perm-7-1.pair",
41
+ "output/perm-7-9.pair"
42
+ ]
43
+ }
@@ -1,3 +1,5 @@
1
+ .@ PackageName :: "OddSelector"
2
+
1
3
  Rule Main
2
4
  input '*.i'.all
3
5
  output '*.res'.all
@@ -0,0 +1,15 @@
1
+ {
2
+ "PackageName": "OddSelector",
3
+ "Parents": [
4
+
5
+ ],
6
+ "Documents": [
7
+ "OddSelector.pione"
8
+ ],
9
+ "Scenarios": [
10
+ "scenario"
11
+ ],
12
+ "Bins": [
13
+
14
+ ]
15
+ }
@@ -0,0 +1 @@
1
+ .@ ScenarioName :: "from 1 to 10"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,23 @@
1
+ {
2
+ "ScenarioName": "from 1 to 10",
3
+ "ParamSet": null,
4
+ "Inputs": [
5
+ "input/4.i",
6
+ "input/3.i",
7
+ "input/5.i",
8
+ "input/8.i",
9
+ "input/1.i",
10
+ "input/9.i",
11
+ "input/6.i",
12
+ "input/10.i",
13
+ "input/2.i",
14
+ "input/7.i"
15
+ ],
16
+ "Outputs": [
17
+ "output/7.res",
18
+ "output/1.res",
19
+ "output/3.res",
20
+ "output/9.res",
21
+ "output/5.res"
22
+ ]
23
+ }
@@ -1,3 +1,5 @@
1
+ .@ PackageName :: "PegasusWMS-Merge"
2
+
1
3
  Rule Main
2
4
  output 'binaries.txt'
3
5
  Flow
@@ -17,5 +19,5 @@ Rule Join
17
19
  input 'bin_*.txt'.all
18
20
  output 'binaries.txt'
19
21
  Action
20
- cat {$I[1].as_string.join(" ")} > {$O[1]}
22
+ cat {$I[1]} > {$O[1]}
21
23
  End
@@ -0,0 +1,15 @@
1
+ {
2
+ "PackageName": "PegasusWMS-Merge",
3
+ "Parents": [
4
+
5
+ ],
6
+ "Documents": [
7
+ "Merge.pione"
8
+ ],
9
+ "Scenarios": [
10
+
11
+ ],
12
+ "Bins": [
13
+
14
+ ]
15
+ }
@@ -1,3 +1,5 @@
1
+ .@ PackageName :: "PegasusWMS-Pipeline"
2
+
1
3
  Rule Main
2
4
  output 'count.txt'
3
5
  Flow
@@ -0,0 +1,15 @@
1
+ {
2
+ "PackageName": "PegasusWMS-Pipeline",
3
+ "Parents": [
4
+
5
+ ],
6
+ "Documents": [
7
+ "Pipeline.pione"
8
+ ],
9
+ "Scenarios": [
10
+
11
+ ],
12
+ "Bins": [
13
+
14
+ ]
15
+ }