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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 239c4dddde7ada1bfa2e144a288121a379c34743
4
- data.tar.gz: 2c26c3ea187bcf79e17138d71563e9708666785b
3
+ metadata.gz: 03a491cd0841c168ff4f4c6dd7a5913c83ffb6aa
4
+ data.tar.gz: 274b1435c30f466e2419c85e30347eb8b80a43e8
5
5
  SHA512:
6
- metadata.gz: 635b3fd5a762d22d6403d32b800b2adf568077587bb395a608a2ce5645d8574519949b8ffd154380bce68148d53c4d37cf48e926b6138105c905a30f5d0fd787
7
- data.tar.gz: 36ab0d70aee8e2d6e237c0b8567ce091b270502929a00c8d4736fd7df1187e31061cf950b51c27b55f18bf13e615a46e2462c50f22eb82b2071a7c6a6a8239ec
6
+ metadata.gz: 9501cf9b547552d5b0438f6a1f69fe7562a8bfbedf8104b15ead6e478c5ccc31e613f8e6537582ce412faea50c3552faf7ec2cc2174e8a7162d96786e0dc8fac
7
+ data.tar.gz: 34a3586dbc1e61a5811a0ef00406e19f1a4a60bb71b92314c4f765bd74fb7d68963335956e373d99a4445bcac26c43ccd8d6f3c503ecc19febfb7969668fe1ce
@@ -1,4 +1,4 @@
1
1
  module YPetri
2
- VERSION = "2.3.5"
2
+ VERSION = "2.3.6"
3
3
  DEBUG = false
4
4
  end
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 of
39
- # dynamical systems. YPetri module contains a collection of assets for Petri
40
- # net-based model specification and its simulation.
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
- # A Petri net (PN) is a bipartite graph with two kinds of nodes: places and
43
- # transitions. Places are visualised as circles, transitions as rectangles. Arcs
44
- # connecting places and transitions are visualised as lines, but these are not
45
- # considered first class citizens in YPetri abstraction.
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
- # During PN execution (simulation), transitions act upon places and change their
48
- # marking by adding / removing tokens as dictated by the prescription of their
49
- # operation. This can be done by attaching a function to the transition. Such
50
- # transitions are called functional transitions in YPetri. Borrowing more from
51
- # the functional terminology, YPetri defines keywords domain an codomain for
52
- # a PN transition in a way similar to the domain and codomain of a function.
53
- #
54
- # YPetri unifies discrete and stochastic modelling of timed transitions at the
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.5
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-30 00:00:00.000000000 Z
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: []