Type alias for the edge type of the scalax.collection.Graph backing the petri net.
Type alias for a colored petri net.
TODO
TODO
Incorporate the upper bounds of type parameters into this type
Place color: C Transition input: I Transition output: E
That way we can define different types of Petri nets:
Uncolored petri nets, where C is Unit Non interactive nets, Where I is Unit Nets without State & Event sourcing, Where S & E are Unit
Type alias for a single marked place, meaning a place containing tokens.
Type alias for a marking.
Some convenience method additions to work with Markings.
Type alias for the node type of the scalax.collection.Graph backing the petri net.
An edge from a place to a transition.
A Place in a colored petri net.
A transition in a Colored Petri Net
A transition in a Colored Petri Net
The input type of the transition, the type of value that is required as input
The output type of the transition, the type of value that this transition 'emits' or 'produces'
The type of state the transition closes over.
An exception handler function associated with a transition.
An (asynchronous) function associated with a transition
TODO:
TODO:
This is not much of a DSL yet.
Insight:
Since each transition is different in what kind of in/out places & edges it can take we should probably not create a general connectivity DSL based on the base trait Transition.