gisele 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. data/Gemfile +2 -3
  2. data/Gemfile.lock +15 -7
  3. data/bin/tast2fsp +53 -0
  4. data/examples/dqaad/dqaad.gif +0 -0
  5. data/examples/dqaad/dqaad.gis +31 -0
  6. data/examples/meeting-scheduler/MeetingScheduling.dot +46 -0
  7. data/examples/meeting-scheduler/MeetingScheduling.gif +0 -0
  8. data/examples/meeting-scheduler/MeetingScheduling.gis +1 -1
  9. data/examples/rectal-cancer-pathway/RectalCancerPathway.dot +55 -0
  10. data/examples/rectal-cancer-pathway/RectalCancerPathway.gif +0 -0
  11. data/examples/union/breast.gis +19 -0
  12. data/examples/union/breast/deterministic.dot +33 -0
  13. data/examples/union/breast/deterministic.gif +0 -0
  14. data/examples/union/breast/glts.dot +53 -0
  15. data/examples/union/breast/glts.gif +0 -0
  16. data/examples/union/breast/minimal.dot +31 -0
  17. data/examples/union/breast/minimal.gif +0 -0
  18. data/examples/union/breast/wf.dot +21 -0
  19. data/examples/union/breast/wf.gif +0 -0
  20. data/examples/union/dot.rb +6 -0
  21. data/examples/union/merged.dot +42 -0
  22. data/examples/union/merged.gif +0 -0
  23. data/examples/union/minim.dot +41 -0
  24. data/examples/union/minim.gif +0 -0
  25. data/examples/union/rectal.gis +20 -0
  26. data/examples/union/rectal/deterministic.dot +37 -0
  27. data/examples/union/rectal/deterministic.gif +0 -0
  28. data/examples/union/rectal/glts.dot +59 -0
  29. data/examples/union/rectal/glts.gif +0 -0
  30. data/examples/union/rectal/minimal.dot +35 -0
  31. data/examples/union/rectal/minimal.gif +0 -0
  32. data/examples/union/rectal/wf.dot +23 -0
  33. data/examples/union/rectal/wf.gif +0 -0
  34. data/examples/union/union.gis +48 -0
  35. data/examples/union/union.rb +39 -0
  36. data/examples/while/while-deteministic.gif +0 -0
  37. data/examples/while/while.dot +30 -0
  38. data/examples/while/while.gif +0 -0
  39. data/examples/while/while.gis +10 -0
  40. data/gisele.gemspec +2 -3
  41. data/gisele.noespec +3 -4
  42. data/lib/gisele.rb +0 -1
  43. data/lib/gisele/command.rb +30 -8
  44. data/lib/gisele/errors.rb +4 -0
  45. data/lib/gisele/loader.rb +1 -2
  46. data/lib/gisele/version.rb +2 -2
  47. data/spec/command/main/gisele_glts.stdout +89 -83
  48. data/spec/command/main/gisele_help.stdout +3 -0
  49. data/spec/command/main/gisele_no_sugar.stdout +34 -1
  50. data/spec/command/main/gisele_version.stdout +1 -1
  51. data/spec/fixtures/tasks/complete.gis +5 -1
  52. metadata +88 -43
  53. data/examples/merge/BreastCancer.dot +0 -30
  54. data/examples/merge/BreastCancer.gif +0 -0
  55. data/examples/merge/BreastCancer.gis +0 -17
  56. data/examples/merge/Merge.dot +0 -46
  57. data/examples/merge/Merge.gif +0 -0
  58. data/examples/merge/RectalCancer.dot +0 -22
  59. data/examples/merge/RectalCancer.gif +0 -0
  60. data/examples/merge/RectalCancer.gis +0 -15
  61. data/lib/gisele/compiling.rb +0 -2
  62. data/lib/gisele/compiling/to_glts.rb +0 -125
  63. data/lib/gisele/compiling/to_graph.rb +0 -160
  64. data/lib/gisele/compiling/to_graph.yml +0 -20
  65. data/spec/unit/compiling/test_to_glts.rb +0 -20
  66. data/spec/unit/compiling/test_to_graph.rb +0 -19
data/Gemfile CHANGED
@@ -1,12 +1,11 @@
1
1
  source 'http://rubygems.org'
2
2
 
3
3
  group :runtime do
4
- gem "path", "~> 1.2"
4
+ gem "path", "~> 1.3"
5
5
  gem "quickl", "~> 0.4.3"
6
6
  gem "awesome_print", "~> 1.0"
7
7
  gem "yargi", "~> 0.2.0"
8
- gem "stamina-core", "~> 0.5.4"
9
- gem "gisele-language", "~> 0.5.0"
8
+ gem "gisele-analysis", "~> 0.6.0"
10
9
  end
11
10
 
12
11
  group :development do
@@ -3,8 +3,17 @@ GEM
3
3
  specs:
4
4
  awesome_print (1.0.2)
5
5
  citrus (2.4.1)
6
+ cudd-rb (0.0.2)
7
+ ffi (~> 1.0)
6
8
  diff-lcs (1.1.3)
7
- gisele-language (0.5.0)
9
+ ffi (1.1.5)
10
+ ffi (1.1.5-java)
11
+ gisele-analysis (0.6.0)
12
+ cudd-rb (~> 0.0.2)
13
+ gisele-language (~> 0.6.0)
14
+ stamina-core (~> 0.6.1)
15
+ yargi (~> 0.2.0)
16
+ gisele-language (0.6.0)
8
17
  citrus (~> 2.4)
9
18
  path (~> 1.2)
10
19
  sexpr (~> 0.5.0)
@@ -16,11 +25,11 @@ GEM
16
25
  rspec-expectations (~> 2.11.0)
17
26
  rspec-mocks (~> 2.11.0)
18
27
  rspec-core (2.11.1)
19
- rspec-expectations (2.11.1)
28
+ rspec-expectations (2.11.3)
20
29
  diff-lcs (~> 1.1.3)
21
- rspec-mocks (2.11.1)
30
+ rspec-mocks (2.11.2)
22
31
  sexpr (0.5.1)
23
- stamina-core (0.5.4)
32
+ stamina-core (0.6.1)
24
33
  quickl (~> 0.4.3)
25
34
  yargi (0.2.0)
26
35
 
@@ -30,10 +39,9 @@ PLATFORMS
30
39
 
31
40
  DEPENDENCIES
32
41
  awesome_print (~> 1.0)
33
- gisele-language (~> 0.5.0)
34
- path (~> 1.2)
42
+ gisele-analysis (~> 0.6.0)
43
+ path (~> 1.3)
35
44
  quickl (~> 0.4.3)
36
45
  rake (~> 0.9.2)
37
46
  rspec (~> 2.11)
38
- stamina-core (~> 0.5.4)
39
47
  yargi (~> 0.2.0)
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ buffer = STDOUT
4
+
5
+ def task2fsp(name, min, max)
6
+ <<-FSP
7
+ #{name}(MIN=#{min},MAX=#{max}) = #{name}_INIT,
8
+ #{name}_INIT = (tick -> #{name}_INIT | evt_#{name}_start -> #{name}[0]),
9
+ #{name}[i:0..MAX] = (
10
+ when (i<MIN) tick -> #{name}[i+1]
11
+ |when (i>=MIN & i<MAX) tick -> #{name}[i+1]
12
+ |when (i>=MIN) evt_#{name}_end -> #{name}_END),
13
+ #{name}_END = (tick -> #{name}_END).
14
+ FSP
15
+
16
+ end
17
+
18
+ puts task2fsp("A", 2, 3)
19
+ puts
20
+ puts task2fsp("B", 5, 6)
21
+ puts
22
+ puts task2fsp("C", 1, 1)
23
+
24
+ # A(MIN=2,MAX=3) = A_INIT,
25
+ # A_INIT = (tick -> A_INIT | evt_A_start -> A[0]),
26
+ # A[i:0..MAX] = (
27
+ # when (i<MIN) tick -> A[i+1]
28
+ # |when (i>=MIN & i<MAX) tick -> A[i+1]
29
+ # |when (i>=MIN) evt_A_end -> A_END),
30
+ # A_END = (tick -> A_END).
31
+ #
32
+ # C(MIN=1,MAX=1) = C_INIT,
33
+ # C_INIT = (tick -> C_INIT | evt_C_start -> C[0]),
34
+ # C[i:0..MAX] = (
35
+ # when (i<MIN) tick -> C[i+1]
36
+ # |when (i>=MIN & i<MAX) tick -> C[i+1]
37
+ # |when (i>=MIN) evt_C_end -> C_END),
38
+ # C_END = (tick -> C_END).
39
+ #
40
+ # B(MIN=5,MAX=6) = B_INIT,
41
+ # B_INIT = (tick -> B_INIT | evt_B_start -> B[0]),
42
+ # B[i:0..MAX] = (
43
+ # when (i<MIN) tick -> B[i+1]
44
+ # |when (i>=MIN & i<MAX) tick -> B[i+1]
45
+ # |when (i>=MIN) evt_B_end -> B_END),
46
+ # B_END = (tick -> B_END).
47
+ #
48
+ # AC_SEQ = (tick->AC_SEQ | evt_A_end -> evt_C_start -> AC_SEQ_END),
49
+ # AC_SEQ_END = (tick -> AC_SEQ_END).
50
+ #
51
+ # STARTING = (evt_A_start -> evt_B_start -> END).
52
+ #
53
+ # deterministic ||MAIN = (STARTING || A || B || C || AC_SEQ)\{tick}.
Binary file
@@ -0,0 +1,31 @@
1
+ task DQAAD
2
+
3
+ fluent premCure
4
+ {}, {}
5
+ initially true
6
+
7
+ fluent priseDeSangRecente
8
+ {PriseDeSang:end}, {}
9
+
10
+ trackvar annulation
11
+ {Consultation:end}
12
+
13
+ seq
14
+ Secretaria
15
+ if premCure
16
+ DecisionMedicale
17
+ else
18
+ if not(priseDeSangRecente)
19
+ PriseDeSang
20
+ end
21
+ VerificationPriseDeSang
22
+ end
23
+ Consultation
24
+ if not(annulation)
25
+ PrescriptionCure
26
+ Instillation
27
+ end
28
+ RetourSecretaria
29
+ end
30
+
31
+ end
@@ -0,0 +1,46 @@
1
+ digraph G {
2
+ graph [margin="0" pack="true" rankdir="LR" ranksep="0"];
3
+ 0 [color="black" fillcolor="green" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
4
+ 1 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
5
+ 2 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
6
+ 3 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
7
+ 4 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
8
+ 5 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
9
+ 6 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
10
+ 7 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
11
+ 8 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
12
+ 9 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
13
+ 10 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
14
+ 11 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
15
+ 12 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
16
+ 13 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
17
+ 14 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
18
+ 15 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
19
+ 16 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
20
+ 17 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
21
+ 18 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
22
+ 19 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
23
+ 20 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
24
+ 0 -> 1 [arrowsize="0.7" label="MeetingScheduling:start"];
25
+ 1 -> 2 [arrowsize="0.7" label="InitiateMeeting:start"];
26
+ 2 -> 3 [arrowsize="0.7" label="InitiateMeeting:end"];
27
+ 3 -> 4 [arrowsize="0.7" label="AcquireConstraints:start"];
28
+ 4 -> 5 [arrowsize="0.7" label="AcquireConstraints:end"];
29
+ 6 -> 8 [arrowsize="0.7" label="Arbitrate:end"];
30
+ 7 -> 9 [arrowsize="0.7" label="ScheduleMeeting:end"];
31
+ 9 -> 12 [arrowsize="0.7" label="MeetingScheduling:end"];
32
+ 10 -> 13 [arrowsize="0.7" label="ExtendDateRange:end"];
33
+ 11 -> 14 [arrowsize="0.7" label="WeakenConstraints:end"];
34
+ 13 -> 15 [arrowsize="0.7" label="AcquireConstraints:start"];
35
+ 14 -> 7 [arrowsize="0.7" label="ScheduleMeeting:start"];
36
+ 15 -> 16 [arrowsize="0.7" label="AcquireConstraints:end"];
37
+ 16 -> 7 [arrowsize="0.7" label="ScheduleMeeting:start"];
38
+ 5 -> 17 [arrowsize="0.7" label="[dateConflict]"];
39
+ 17 -> 6 [arrowsize="0.7" label="Arbitrate:start"];
40
+ 5 -> 18 [arrowsize="0.7" label="[not(dateConflict)]"];
41
+ 18 -> 7 [arrowsize="0.7" label="ScheduleMeeting:start"];
42
+ 8 -> 19 [arrowsize="0.7" label="[not(resolveByWeakening)]"];
43
+ 19 -> 10 [arrowsize="0.7" label="ExtendDateRange:start"];
44
+ 8 -> 20 [arrowsize="0.7" label="[resolveByWeakening]"];
45
+ 20 -> 11 [arrowsize="0.7" label="WeakenConstraints:start"];
46
+ }
@@ -70,4 +70,4 @@ task MeetingScheduling
70
70
  ScheduleMeeting
71
71
  end
72
72
 
73
- end
73
+ end
@@ -0,0 +1,55 @@
1
+ digraph G {
2
+ graph [margin="0" pack="true" rankdir="LR" ranksep="0"];
3
+ 0 [color="black" fillcolor="green" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
4
+ 1 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
5
+ 2 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
6
+ 3 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
7
+ 4 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
8
+ 5 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
9
+ 6 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
10
+ 7 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
11
+ 8 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
12
+ 9 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
13
+ 10 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
14
+ 11 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
15
+ 12 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
16
+ 13 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
17
+ 14 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
18
+ 15 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
19
+ 16 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
20
+ 17 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
21
+ 18 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
22
+ 19 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
23
+ 20 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
24
+ 21 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
25
+ 22 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
26
+ 23 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
27
+ 24 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
28
+ 0 -> 1 [arrowsize="0.7" label="RectalCancerPathway:start"];
29
+ 2 -> 4 [arrowsize="0.7" label="Diagnosis:end"];
30
+ 3 -> 5 [arrowsize="0.7" label="Emergency:end"];
31
+ 5 -> 8 [arrowsize="0.7" label="Surgery:start"];
32
+ 6 -> 9 [arrowsize="0.7" label="StaffMeeting:end"];
33
+ 8 -> 10 [arrowsize="0.7" label="Surgery:end"];
34
+ 10 -> 12 [arrowsize="0.7" label="PostTreatment:start"];
35
+ 11 -> 13 [arrowsize="0.7" label="PreTreatment:end"];
36
+ 12 -> 14 [arrowsize="0.7" label="PostTreatment:end"];
37
+ 13 -> 15 [arrowsize="0.7" label="Surgery:start"];
38
+ 14 -> 7 [arrowsize="0.7" label="RectalCancerPathway:end"];
39
+ 15 -> 16 [arrowsize="0.7" label="Surgery:end"];
40
+ 16 -> 17 [arrowsize="0.7" label="PostTreatment:start"];
41
+ 17 -> 18 [arrowsize="0.7" label="PostTreatment:end"];
42
+ 18 -> 7 [arrowsize="0.7" label="RectalCancerPathway:end"];
43
+ 1 -> 19 [arrowsize="0.7" label="[not(emergency)]"];
44
+ 19 -> 2 [arrowsize="0.7" label="Diagnosis:start"];
45
+ 1 -> 20 [arrowsize="0.7" label="[emergency]"];
46
+ 20 -> 3 [arrowsize="0.7" label="Emergency:start"];
47
+ 4 -> 21 [arrowsize="0.7" label="[cancerConfirmed]"];
48
+ 21 -> 6 [arrowsize="0.7" label="StaffMeeting:start"];
49
+ 4 -> 22 [arrowsize="0.7" label="[not(cancerConfirmed)]"];
50
+ 22 -> 7 [arrowsize="0.7" label="RectalCancerPathway:end"];
51
+ 9 -> 23 [arrowsize="0.7" label="[surgeryEnvisioned]"];
52
+ 23 -> 11 [arrowsize="0.7" label="PreTreatment:start"];
53
+ 9 -> 24 [arrowsize="0.7" label="[not(surgeryEnvisioned)]"];
54
+ 24 -> 7 [arrowsize="0.7" label="RectalCancerPathway:end"];
55
+ }
@@ -0,0 +1,19 @@
1
+ task BreastCancer
2
+
3
+ # Is the cancer metastased
4
+ trackvar m_plus
5
+ {Staff:end}
6
+ initially false
7
+
8
+ seq
9
+ Consultation
10
+ Biopsy
11
+ Staff
12
+ if m_plus
13
+ RadioChimio
14
+ else
15
+ Radio
16
+ end
17
+ PostTreatment
18
+ end
19
+ end
@@ -0,0 +1,33 @@
1
+ digraph G {
2
+ graph [margin="0" pack="true" rankdir="LR" ranksep="0"];
3
+ 0 [color="black" fillcolor="green" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
4
+ 1 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
5
+ 2 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
6
+ 3 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
7
+ 4 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
8
+ 5 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
9
+ 6 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
10
+ 7 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
11
+ 8 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
12
+ 9 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
13
+ 10 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
14
+ 11 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
15
+ 12 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
16
+ 13 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
17
+ 14 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
18
+ 0 -> 1 [arrowsize="0.7" label="BreastCancer:start"];
19
+ 1 -> 2 [arrowsize="0.7" label="Consultation:start"];
20
+ 2 -> 3 [arrowsize="0.7" label="Consultation:end"];
21
+ 3 -> 4 [arrowsize="0.7" label="Biopsy:start"];
22
+ 4 -> 5 [arrowsize="0.7" label="Biopsy:end"];
23
+ 5 -> 6 [arrowsize="0.7" label="Staff:start"];
24
+ 6 -> 7 [arrowsize="0.7" label="Staff:end"];
25
+ 7 -> 8 [arrowsize="0.7" label="[not(m_plus)] / Radio:start"];
26
+ 7 -> 9 [arrowsize="0.7" label="[m_plus] / RadioChimio:start"];
27
+ 8 -> 10 [arrowsize="0.7" label="Radio:end"];
28
+ 9 -> 11 [arrowsize="0.7" label="RadioChimio:end"];
29
+ 10 -> 12 [arrowsize="0.7" label="PostTreatment:start"];
30
+ 11 -> 12 [arrowsize="0.7" label="PostTreatment:start"];
31
+ 12 -> 13 [arrowsize="0.7" label="PostTreatment:end"];
32
+ 13 -> 14 [arrowsize="0.7" label="BreastCancer:end"];
33
+ }
@@ -0,0 +1,53 @@
1
+ digraph G {
2
+ graph [margin="0" pack="true" rankdir="LR" ranksep="0"];
3
+ 0 [color="black" fillcolor="green" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
4
+ 1 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
5
+ 2 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
6
+ 3 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
7
+ 4 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
8
+ 5 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
9
+ 6 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
10
+ 7 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
11
+ 8 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
12
+ 9 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
13
+ 10 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
14
+ 11 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
15
+ 12 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
16
+ 13 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
17
+ 14 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
18
+ 15 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
19
+ 16 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
20
+ 17 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
21
+ 18 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
22
+ 19 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
23
+ 20 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
24
+ 21 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
25
+ 22 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
26
+ 23 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
27
+ 24 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
28
+ 4 -> 6 [arrowsize="0.7" label="Consultation:start"];
29
+ 6 -> 5 [arrowsize="0.7" label="Consultation:end"];
30
+ 2 -> 4 [arrowsize="0.7" label=""];
31
+ 7 -> 9 [arrowsize="0.7" label="Biopsy:start"];
32
+ 9 -> 8 [arrowsize="0.7" label="Biopsy:end"];
33
+ 5 -> 7 [arrowsize="0.7" label=""];
34
+ 10 -> 12 [arrowsize="0.7" label="Staff:start"];
35
+ 12 -> 11 [arrowsize="0.7" label="Staff:end"];
36
+ 8 -> 10 [arrowsize="0.7" label=""];
37
+ 13 -> 15 [arrowsize="0.7" label=""];
38
+ 16 -> 18 [arrowsize="0.7" label="RadioChimio:start"];
39
+ 18 -> 17 [arrowsize="0.7" label="RadioChimio:end"];
40
+ 15 -> 16 [arrowsize="0.7" label="[m_plus]"];
41
+ 17 -> 14 [arrowsize="0.7" label=""];
42
+ 19 -> 21 [arrowsize="0.7" label="Radio:start"];
43
+ 21 -> 20 [arrowsize="0.7" label="Radio:end"];
44
+ 15 -> 19 [arrowsize="0.7" label="[not(m_plus)]"];
45
+ 20 -> 14 [arrowsize="0.7" label=""];
46
+ 11 -> 13 [arrowsize="0.7" label=""];
47
+ 22 -> 24 [arrowsize="0.7" label="PostTreatment:start"];
48
+ 24 -> 23 [arrowsize="0.7" label="PostTreatment:end"];
49
+ 14 -> 22 [arrowsize="0.7" label=""];
50
+ 23 -> 3 [arrowsize="0.7" label=""];
51
+ 0 -> 2 [arrowsize="0.7" label="BreastCancer:start"];
52
+ 3 -> 1 [arrowsize="0.7" label="BreastCancer:end"];
53
+ }
@@ -0,0 +1,31 @@
1
+ digraph G {
2
+ graph [margin="0" pack="true" rankdir="LR" ranksep="0"];
3
+ 0 [color="black" fillcolor="green" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
4
+ 1 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
5
+ 2 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
6
+ 3 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
7
+ 4 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
8
+ 5 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
9
+ 6 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
10
+ 7 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
11
+ 8 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
12
+ 9 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
13
+ 10 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
14
+ 11 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
15
+ 12 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
16
+ 13 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
17
+ 0 -> 1 [arrowsize="0.7" label="BreastCancer:start"];
18
+ 1 -> 2 [arrowsize="0.7" label="Consultation:start"];
19
+ 2 -> 3 [arrowsize="0.7" label="Consultation:end"];
20
+ 3 -> 4 [arrowsize="0.7" label="Biopsy:start"];
21
+ 4 -> 5 [arrowsize="0.7" label="Biopsy:end"];
22
+ 5 -> 6 [arrowsize="0.7" label="Staff:start"];
23
+ 6 -> 7 [arrowsize="0.7" label="Staff:end"];
24
+ 7 -> 8 [arrowsize="0.7" label="[not(m_plus)] / Radio:start"];
25
+ 7 -> 9 [arrowsize="0.7" label="[m_plus] / RadioChimio:start"];
26
+ 8 -> 10 [arrowsize="0.7" label="Radio:end"];
27
+ 10 -> 11 [arrowsize="0.7" label="PostTreatment:start"];
28
+ 11 -> 12 [arrowsize="0.7" label="PostTreatment:end"];
29
+ 12 -> 13 [arrowsize="0.7" label="BreastCancer:end"];
30
+ 9 -> 10 [arrowsize="0.7" label="RadioChimio:end"];
31
+ }
@@ -0,0 +1,21 @@
1
+ digraph G {
2
+ graph[]
3
+ V0 [shape="circle" style="filled" fillcolor="black" fixed="true" width="0.1" label=""]
4
+ V1 [shape="circle" style="filled" fillcolor="black" fixed="true" width="0.1" label=""]
5
+ V2 [shape="box" label="Consultation"]
6
+ V3 [shape="box" label="Biopsy"]
7
+ V4 [shape="box" label="Staff"]
8
+ V5 [shape="diamond" label="m_plus"]
9
+ V6 [shape="box" label="RadioChimio"]
10
+ V7 [shape="box" label="Radio"]
11
+ V8 [shape="box" label="PostTreatment"]
12
+ V2 -> V3 []
13
+ V3 -> V4 []
14
+ V4 -> V5 []
15
+ V6 -> V8 []
16
+ V5 -> V6 [label="true"]
17
+ V7 -> V8 []
18
+ V5 -> V7 [label="false"]
19
+ V8 -> V1 []
20
+ V0 -> V2 []
21
+ }
@@ -0,0 +1,6 @@
1
+ require 'path'
2
+ Path.dir.glob("**/*.dot") do |path|
3
+ cmd = "dot -Tgif -o #{path.sub_ext('.gif')} #{path}"
4
+ puts cmd
5
+ `#{cmd}`
6
+ end
@@ -0,0 +1,42 @@
1
+ digraph G {
2
+ graph [margin="0" pack="true" rankdir="LR" ranksep="0"];
3
+ 0 [color="black" fillcolor="green" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
4
+ 1 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
5
+ 2 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
6
+ 3 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
7
+ 4 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
8
+ 5 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
9
+ 6 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
10
+ 7 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
11
+ 8 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
12
+ 9 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
13
+ 10 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
14
+ 11 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
15
+ 12 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
16
+ 13 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
17
+ 14 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
18
+ 15 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
19
+ 16 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
20
+ 17 [color="black" fillcolor="white" fixedsize="true" height="0.6" shape="circle" style="filled" width="0.6"];
21
+ 0 -> 1 [arrowsize="0.7" label="[not(breast)] / RectalCancer:start"];
22
+ 3 -> 4 [arrowsize="0.7" label="[not(breast)] / Endoscopy:start"];
23
+ 4 -> 6 [arrowsize="0.7" label="Endoscopy:end"];
24
+ 9 -> 11 [arrowsize="0.7" label="[breast and m_plus] / RadioChimio:start"];
25
+ 11 -> 12 [arrowsize="0.7" label="RadioChimio:end"];
26
+ 15 -> 16 [arrowsize="0.7" label="[breast] / BreastCancer:end"];
27
+ 0 -> 1 [arrowsize="0.7" label="[breast] / BreastCancer:start"];
28
+ 3 -> 5 [arrowsize="0.7" label="[breast] / Biopsy:start"];
29
+ 2 -> 3 [arrowsize="0.7" label="Consultation:end"];
30
+ 1 -> 2 [arrowsize="0.7" label="Consultation:start"];
31
+ 6 -> 5 [arrowsize="0.7" label="Biopsy:start"];
32
+ 9 -> 13 [arrowsize="0.7" label="[not(breast) and m_plus] / Chimio:start"];
33
+ 13 -> 12 [arrowsize="0.7" label="Chimio:end"];
34
+ 15 -> 17 [arrowsize="0.7" label="[not(breast)] / RectalCancer:end"];
35
+ 14 -> 15 [arrowsize="0.7" label="PostTreatment:end"];
36
+ 12 -> 14 [arrowsize="0.7" label="PostTreatment:start"];
37
+ 10 -> 12 [arrowsize="0.7" label="Radio:end"];
38
+ 9 -> 10 [arrowsize="0.7" label="[not(m_plus)] / Radio:start"];
39
+ 8 -> 9 [arrowsize="0.7" label="Staff:end"];
40
+ 7 -> 8 [arrowsize="0.7" label="Staff:start"];
41
+ 5 -> 7 [arrowsize="0.7" label="Biopsy:end"];
42
+ }