Module: YNelson
- Extended by:
- YPetri::World::PetriNetAspect, YPetri::World::SimulationAspect
- Defined in:
- lib/y_nelson.rb,
lib/y_nelson/dsl.rb,
lib/y_nelson/version.rb
Overview
YNelson is an implementation of a cross between Ted Nelson’s Zz structure, and the functional Petri net (FPN). The resulting data structure, which combines the qualities of FPNs with those of relational databases, I refer to as Nelson net throughout this text.
A Nelson net, from a certain point of view, is as a genralization of a spreadsheet software. In his explanations of Zz structures, Ted Nelson makes wide use of metaphors well known from spreadsheets: cells, ranks, rows, columns, cursors, selections… Nelson net, as implemented here, adds “formulas” to the mix: Spreadsheet “formulas” are simply represented by FPN transitions.
Nelson net disposes of the arbitrary constraints on FPNs, and also extends the plain orthogonal structure of spreadsheet “cells”, as can be seen in the existing spreadsheet implementations:
-
Both places and transitions of the FPN take part in zz structure.
-
Formula-based transitions are upgraded to standalone FPN transitions.
The implications of the differences of a zz structure from ordinary hyperorthogonal structures have been, to a degree, explained by Ted Nelson himself. There is a growing body of literature on zz structure applications, including the applications in bioinformatics.
As for functional Petri nets, their power in computing is well recognized (eg. Funnel, Odersky 2000). FPNs are sometimes just called functional nets, because Petri originally described his nets as timeless and functionless. However, in special-purpose applications, such as biochemical applications, to which I incline, it is appropriate to honor Petri, who designed his nets specifically with chemical modeling in mind. In biochemistry, it is common to call functional nets Petri nets (Miyano, 200?).
Defined Under Namespace
Modules: DSL, Yzz Classes: Agent, Dimension, DimensionPoint, Net, Place, Transition, ZzPoint
Constant Summary collapse
- DEBUG =
false- VERSION =
"2.3.0"
Class Attribute Summary collapse
-
.dimensions ⇒ Object
readonly
Returns the value of attribute dimensions.
Class Method Summary collapse
-
.Dimension(*args) ⇒ Object
Convenience constructor.
-
.included(receiver) ⇒ Object
Allows summoning YNelson::DSL by ‘include YNelson’.
Class Attribute Details
.dimensions ⇒ Object (readonly)
Returns the value of attribute dimensions.
61 62 63 |
# File 'lib/y_nelson.rb', line 61 def dimensions @dimensions end |