petri_net 0.7.2 → 0.7.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/petri_net/arc.rb +8 -2
- data/lib/petri_net/coverability_graph/edge.rb +13 -0
- data/lib/petri_net/coverability_graph/graph.rb +54 -0
- data/lib/petri_net/coverability_graph/node.rb +127 -0
- data/lib/petri_net/coverability_graph.rb +6 -0
- data/lib/petri_net/graph/edge.rb +57 -0
- data/lib/petri_net/graph/graph.rb +108 -0
- data/lib/petri_net/graph/node.rb +129 -0
- data/lib/petri_net/graph.rb +5 -0
- data/lib/petri_net/net.rb +84 -11
- data/lib/petri_net/place.rb +15 -2
- data/lib/petri_net/reachability_graph/edge.rb +3 -40
- data/lib/petri_net/reachability_graph/graph.rb +11 -105
- data/lib/petri_net/reachability_graph/node.rb +6 -112
- data/lib/petri_net/reachability_graph.rb +3 -94
- data/lib/petri_net/transition.rb +16 -2
- data/lib/petri_net/version.rb +2 -2
- data/lib/petri_net.rb +9 -8
- data/petri_net.gemspec +3 -2
- data/test/reachability_graph/tc_graph.rb +124 -0
- data/test/tc_petri_net.rb +4 -1
- metadata +39 -3
data/test/tc_petri_net.rb
CHANGED
@@ -101,7 +101,10 @@ class TestPetriNet < Test::Unit::TestCase
|
|
101
101
|
complex_net
|
102
102
|
assert_equal "Petri Net [Water]\n----------------------------\nDescription: Creation of water from base elements.\nFilename: Water\n\nPlaces\n----------------------------\n1: P1 (0) *\n2: P2 (0) \n3: C1 (0) \n4: C2 (0) *\n5: buffer (0) *\n\nTransitions\n----------------------------\n6: produce\n7: consume\n8: put\n9: take\n\nArcs\n----------------------------\n10: Arc10 (1) 1 -> 6\n11: Arc11 (1) 6 -> 2\n12: Arc12 (1) 2 -> 8\n13: Arc13 (1) 8 -> 1\n14: Arc14 (1) 8 -> 5\n15: Arc15 (1) 5 -> 9\n16: Arc16 (1) 9 -> 3\n17: Arc17 (1) 3 -> 7\n18: Arc18 (1) 7 -> 4\n19: Arc19 (1) 4 -> 9\n\n", @net.to_s
|
103
103
|
assert_equal "digraph Water {\n\t// General graph options\n\trankdir = LR;\n\tsize = \"10.5,7.5\";\n\tnode [ style = filled, fillcolor = white, fontsize = 8.0 ]\n\tedge [ arrowhead = vee, arrowsize = 0.5, fontsize = 8.0 ]\n\n\t// Places\n\tnode [ shape = circle ];\n\tP1 [ label = \"P1 1 \" ];\n\tP2 [ label = \"P2 0 \" ];\n\tP3 [ label = \"C1 0 \" ];\n\tP4 [ label = \"C2 1 \" ];\n\tP5 [ label = \"buffer 1 \" ];\n\n\t// Transitions\n\tnode [ shape = box, fillcolor = grey90 ];\n\tT6 [ label = \"produce\" ];\n\tT7 [ label = \"consume\" ];\n\tT8 [ label = \"put\" ];\n\tT9 [ label = \"take\" ];\n\n\t// Arcs\n\tP1 -> T6 [ label = \"Arc10\", headlabel = \"1\" ];\n\tT6 -> P2 [ label = \"Arc11\", headlabel = \"1\" ];\n\tP2 -> T8 [ label = \"Arc12\", headlabel = \"1\" ];\n\tT8 -> P1 [ label = \"Arc13\", headlabel = \"1\" ];\n\tT8 -> P5 [ label = \"Arc14\", headlabel = \"1\" ];\n\tP5 -> T9 [ label = \"Arc15\", headlabel = \"1\" ];\n\tT9 -> P3 [ label = \"Arc16\", headlabel = \"1\" ];\n\tP3 -> T7 [ label = \"Arc17\", headlabel = \"1\" ];\n\tT7 -> P4 [ label = \"Arc18\", headlabel = \"1\" ];\n\tP4 -> T9 [ label = \"Arc19\", headlabel = \"1\" ];\n}\n", @net.to_gv
|
104
|
-
|
104
|
+
@net.to_gv_new
|
105
|
+
#assert_equal "digraph Water {\n\t// General graph options\n\trankdir = LR;\n\tsize = \"10.5,7.5\";\n\tnode [ style = filled, fillcolor = white, fontsize = 8.0 ]\n\tedge [ arrowhead = vee, arrowsize = 0.5, fontsize = 8.0 ]\n\n\t// Nodes\n\tnode [ shape = circle ];\n\tN20 [ label = \"[1, 0, 0, 1, Infinity]\" ];\n\tN21 [ label = \"[0, 1, 0, 1, 1]\" ];\n\tN24 [ label = \"[0, 1, 1, 0, 0]\" ];\n\tN26 [ label = \"[0, 1, 0, 1, Infinity]\" ];\n\tN28 [ label = \"[1, 0, 0, 1, 1]\" ];\n\tN31 [ label = \"[1, 0, 1, 0, Infinity]\" ];\n\tN34 [ label = \"[1, 0, 0, 1, Infinity]\" ];\n\tN36 [ label = \"[0, 1, 0, 1, 0]\" ];\n\tN40 [ label = \"[1, 0, 1, 0, 0]\" ];\n\tN43 [ label = \"[1, 0, 0, 1, 0]\" ];\n\n\t// Edges\n\tN20 -> N21;\n\tN21 -> N24;\n\tN24 -> N26;\n\tN26 -> N28;\n\tN28 -> N31;\n\tN31 -> N34;\n\tN34 -> N36;\n\tN20 -> N40;\n\tN40 -> N43;\n}\n", @net.generate_reachability_graph.to_gv
|
106
|
+
|
107
|
+
#@net.reachability_graph.to_gv_new
|
105
108
|
end
|
106
109
|
|
107
110
|
def test_add_place
|
metadata
CHANGED
@@ -1,15 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: petri_net
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- cclausen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ruby-graphviz
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: graphviz
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
13
41
|
- !ruby/object:Gem::Dependency
|
14
42
|
name: net-sftp
|
15
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,6 +70,14 @@ files:
|
|
42
70
|
- lib/petri_net.rb
|
43
71
|
- lib/petri_net/arc.rb
|
44
72
|
- lib/petri_net/base.rb
|
73
|
+
- lib/petri_net/coverability_graph.rb
|
74
|
+
- lib/petri_net/coverability_graph/edge.rb
|
75
|
+
- lib/petri_net/coverability_graph/graph.rb
|
76
|
+
- lib/petri_net/coverability_graph/node.rb
|
77
|
+
- lib/petri_net/graph.rb
|
78
|
+
- lib/petri_net/graph/edge.rb
|
79
|
+
- lib/petri_net/graph/graph.rb
|
80
|
+
- lib/petri_net/graph/node.rb
|
45
81
|
- lib/petri_net/marking.rb
|
46
82
|
- lib/petri_net/net.rb
|
47
83
|
- lib/petri_net/place.rb
|
@@ -63,7 +99,7 @@ files:
|
|
63
99
|
- test/ts_all.rb
|
64
100
|
- test/ts_petri_net.rb
|
65
101
|
- test/ts_reachability_graph.rb
|
66
|
-
homepage: https://github.com/cclausen/
|
102
|
+
homepage: https://github.com/cclausen/petri_net
|
67
103
|
licenses:
|
68
104
|
- MIT
|
69
105
|
metadata: {}
|