YNelson

YNelson is a domain model and a simulator of Nelson nets. A Nelson net is a Petri net, whose elements (places and transitions) have at the same time the aspect of cells of the Zz structures described by Ted Nelson.

Petri net aspect

YNelson provides a domain specific language (DSL), that can be loaded by:

  require 'y_nelson'
  include YNelson

YNelson DSL includes aspects of YPetri. It means, that it has compatible interface with YPetri DSL. See YPetri gem for Petri net aspect usage examples.

Zz structure aspect

YNelson places and transtitions are both objects (or "cells", using Ted Nelson's terminology) of a Zz structure. They exist in a multidimensional space, where they can have at most 2 sides -- posward and negward -- in each dimension. Zz structure aspect in general is defined in yzz gem. In addition to this, YNelson automatically creates Zz connections in parallel to arcs of a Petri net. This way, places and transtions of a Petri net, whose relations are normally captured by arcs, can also have other relations defined, captured by Zz dimensions. Zz structure aspect is still under development.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request