y_petri 2.3.5 → 2.3.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/y_petri/version.rb +1 -1
- data/lib/y_petri.rb +24 -18
- data/y_petri.gemspec +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 03a491cd0841c168ff4f4c6dd7a5913c83ffb6aa
|
4
|
+
data.tar.gz: 274b1435c30f466e2419c85e30347eb8b80a43e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9501cf9b547552d5b0438f6a1f69fe7562a8bfbedf8104b15ead6e478c5ccc31e613f8e6537582ce412faea50c3552faf7ec2cc2174e8a7162d96786e0dc8fac
|
7
|
+
data.tar.gz: 34a3586dbc1e61a5811a0ef00406e19f1a4a60bb71b92314c4f765bd74fb7d68963335956e373d99a4445bcac26c43ccd8d6f3c503ecc19febfb7969668fe1ce
|
data/lib/y_petri/version.rb
CHANGED
data/lib/y_petri.rb
CHANGED
@@ -35,26 +35,32 @@ require_relative 'y_petri/core'
|
|
35
35
|
require_relative 'y_petri/agent'
|
36
36
|
require_relative 'y_petri/dsl'
|
37
37
|
|
38
|
-
# YPetri is a domain model and a domain-specific language (DSL) for modelling
|
39
|
-
# dynamical systems.
|
40
|
-
#
|
38
|
+
# YPetri is a domain model and a domain-specific language (DSL) for modelling
|
39
|
+
# dynamical systems. (Industrial modellers use the term DSML – domain specific
|
40
|
+
# modelling language.) YPetri caters solely to the two main concerns of
|
41
|
+
# modelling: model specification and simulation, excelling in the first one.
|
41
42
|
#
|
42
|
-
#
|
43
|
-
#
|
44
|
-
#
|
45
|
-
#
|
43
|
+
# YPetri model specification is based on a Petri net paradigm. A Petri net (PN)
|
44
|
+
# is a bipartite graph with two kinds of nodes: places and transitions. Places
|
45
|
+
# are visualised as circles, transitions as rectangles. During PN execution
|
46
|
+
# (simulation), transitions act upon places and change their marking by adding
|
47
|
+
# / removing tokens as dictated by the prescription of their operation. For
|
48
|
+
# classical PNs, transition action is a discrete stoichiometric addition /
|
49
|
+
# subtraction of tokens to / from the connected places. However, many extended
|
50
|
+
# PN types have been defined, where the transition action is determined by a
|
51
|
+
# mathematical function attached to the transition. Such transitions are called
|
52
|
+
# functional, and almost all YPetri transitions are of this type. Borrowing more
|
53
|
+
# from the terminology of functions, YPetri defines keywords domain an codomain
|
54
|
+
# for transitions in a way similar to the domain and codomain of functions.
|
46
55
|
#
|
47
|
-
#
|
48
|
-
#
|
49
|
-
#
|
50
|
-
# transitions
|
51
|
-
#
|
52
|
-
#
|
53
|
-
#
|
54
|
-
#
|
55
|
-
# level of model specification in line with the present day unifying Petri net
|
56
|
-
# frameworks. YPetri also integrates other dichotomies: timed / timeless and
|
57
|
-
# stoichiometric / nonstoichiometric.
|
56
|
+
# Many extended PN types have been defined. YPetri implements a universal PN
|
57
|
+
# abstraction designed to subsume and integrate the dichotomies of the common
|
58
|
+
# extended PN types. YPetri unifies discrete and stochastic modelling of timed
|
59
|
+
# transitions at the level of model specification in line with the present day
|
60
|
+
# unifying Petri net frameworks. YPetri also integrates other dichotomies: timed
|
61
|
+
# / timeless and stoichiometric / nonstoichiometric. The idea is to save the
|
62
|
+
# Ruby-based modeller the work of researching different PN types and provide a
|
63
|
+
# single abstraction and the DSL to rule them all.
|
58
64
|
#
|
59
65
|
module YPetri
|
60
66
|
class << self
|
data/y_petri.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["boris"]
|
10
10
|
spec.email = ["\"boris@iis.sinica.edu.tw\""]
|
11
11
|
spec.summary = %q{Systems modelling and simulation gem. Biologically inspired, but concerns specific to biology and chemistry have been purposely separated away from it, so it is a general-purpose model specification and simulation DSL. Dynamical systems are specified by a specific universal type of a hybrid Petri net which YPetri implements and which allows description of any kind of dynamical system whatsoever.}
|
12
|
-
spec.description = %q{YPetri is a gem for modelling of dynamical systems. It is biologically inspired, but concerns of biology and chemistry have been purposely separated away from it. YPetri caters solely to the two main concerns of modelling, model specification and simulation, and it excels in the first one. Dynamical systems are described under a Petri net paradigm. YPetri implements a universal Petri net abstraction that integrates discrete/continous, deterministic/stochastic, timed/timeless and stoichiometric/nonstoichiometric dichotomies of the extended Petri nets, and allows efficient specification of any kind of dynamical system. Like Petri nets themselves, YPetri was inspired by problems from the domain of chemistry (biochemical pathway modelling), but is not specific to it. Other gems, YChem and YCell are planned to cater to the concerns specific to chemistry and cell biochemistry. These future extensions of YPetri are not developed yet. A lower-level extension of YPetri is currently under development under the name YNelson. Its usage is practically identical to YPetri, so any YPetri user can now consider using YNelson instead. YNelson covers additional concerns: it allows relations among nodes and parameters to be specified under a zz structure paradigm (developed by Ted Nelson) and it is also aimed towards providing a higher level of abstraction in Petri net specification by providing commands that create more than one Petri net node per command. YPetri documentation is avalable online, but due to formatting issues, you may prefer to generate the documentation on your own by running rdoc in the gem directory.}
|
12
|
+
spec.description = %q{YPetri is a gem for modelling of dynamical systems. It is biologically inspired, but concerns of biology and chemistry have been purposely separated away from it. YPetri caters solely to the two main concerns of modelling, model specification and simulation, and it excels in the first one. Dynamical systems are described under a Petri net paradigm. YPetri implements a universal Petri net abstraction that integrates discrete/continous, deterministic/stochastic, timed/timeless and stoichiometric/nonstoichiometric dichotomies of the extended Petri nets, and allows efficient specification of any kind of dynamical system. Like Petri nets themselves, YPetri was inspired by problems from the domain of chemistry (biochemical pathway modelling), but is not specific to it. Other gems, YChem and YCell are planned to cater to the concerns specific to chemistry and cell biochemistry. These future extensions of YPetri are not developed yet. A lower-level extension of YPetri is currently under development under the name YNelson. Its usage is practically identical to YPetri, so any YPetri user can now consider using YNelson instead. YNelson covers additional concerns: it allows relations among nodes and parameters to be specified under a zz structure paradigm (developed by Ted Nelson) and it is also aimed towards providing a higher level of abstraction in Petri net specification by providing commands that create more than one Petri net node per command. YPetri documentation is avalable online, but due to formatting issues, you may prefer to generate the documentation on your own by running rdoc in the gem directory. For an example of how YPetri can be used to model complex dynamical systems, see the eukaryotic cell cycle model which I released as "cell_cycle" gem.}
|
13
13
|
spec.homepage = ""
|
14
14
|
spec.license = "GPLv3"
|
15
15
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: y_petri
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- boris
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -113,7 +113,9 @@ description: 'YPetri is a gem for modelling of dynamical systems. It is biologic
|
|
113
113
|
providing a higher level of abstraction in Petri net specification by providing
|
114
114
|
commands that create more than one Petri net node per command. YPetri documentation
|
115
115
|
is avalable online, but due to formatting issues, you may prefer to generate the
|
116
|
-
documentation on your own by running rdoc in the gem directory.
|
116
|
+
documentation on your own by running rdoc in the gem directory. For an example of
|
117
|
+
how YPetri can be used to model complex dynamical systems, see the eukaryotic cell
|
118
|
+
cycle model which I released as "cell_cycle" gem.'
|
117
119
|
email:
|
118
120
|
- '"boris@iis.sinica.edu.tw"'
|
119
121
|
executables: []
|