The abstract class
defines the functionality that any DAG implementation is expected so support.
This includes the possibility to extend the DAG structure, to define labels for both nodes and edges,
abd to influence the appearance of nodes and eges via integer-encoded states.
Unlike in the
edges are directly modeled as objects with an ID space of their own.
Any class implementing
KahinaDAG can be visualized
KahinaMemDAG is the reference DAG implementation which implements
the functionality in a straightforward manner. It is not useful for more than medium-sized DAGs
because the entire data is stored in memory (hence the name).
KahinaDAGEvent are used internally to
communicate changes to a DAG model. Every
KahinaDAGEvent is of one of the types
being the only event type which is currently implemented.