YPetri is a DSL (domain-specific language) 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, 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. 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. As for the user manuals, there are currently 3 documents applicable for both YPetri and YNelson, whose master copies are stored in the YNelson source directory: 1. Introduction to YNelson and YPetri (hands-on tutorial), 2. Object model of YNelson and YPetri, 3. Introduction to Ruby for YNelson users. These manuals are written to allow beginners, including those unfamiliar with Ruby, to start working with YPetri and/or YNelson. 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.

Rubygem y_petri

Total Downloads
Current Version
2016-07-13 00:00:00 UTC
First Release
2013-04-28 00:00:00 UTC
Depends on following gems
Depending Gems

Github boris-s/y_petri

Development activity
Less active
Last commit
2016-03-11 16:48:09 UTC
First commit
Top contributors


There are no comments yet, be the first to write one!

Post a comment

Markdown supported

In order to continue, you must be signed in using your Github account.

If you're signing in using this account for the first time Github will ask for your permission to give access to your public user data to the Ruby Toolbox.

Although the Github Authorization page does not mention it, the request includes read-only access to your verified email address (user:email OAuth scope). This is neccessary so there's a way to notify you about comments, information about your accepted project edits and the like. You can review your notification settings on your account page once you're signed in.