Sha256: 57e4e1a60cedc63376a2e55289861c657721fecf648bdf46518f03d576bc00e5

Contents?: true

Size: 1.46 KB

Versions: 4

Compression:

Stored size: 1.46 KB

Contents

# 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:
```ruby
  require 'y_nelson'
  include YNelson
```
`YNelson` DSL includes aspects of `YPetri`. It means, that it has the same
abilities as `YPetri`. See `YPetri` gem
[for Petri net aspect usage examples](https://github.com/boris-s/y_petri).

## 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](https://github.com/boris-s/y_petri). 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 in alpha stage at present.

## 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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
y_nelson-2.0.6 README.md
y_nelson-2.0.5 README.md
y_nelson-2.0.4 README.md
y_nelson-2.0.3 README.md