Package ist.palcom.hgraph

This package holds the Hierarchical Graph (henceforth abbreviated H-Graph) data structure.

See:
          Description

Interface Summary
Handler A Handler is the Hgraph functional equivalent to a provided method.
IHgraphNode The IHgraphNode is the key identity in relation to Hgraphs.
Invokator An Invokator is the Hgraph functional equivalent to a required method.
Listener Listeners provide the means for deploying a callback on a remote node.
 

Class Summary
AbstractHandler AbstractHandler implements the basics of the Handler interface, such as getname, and tostring
AbstractInvokator Abstractinvokator implements the basic functionality of Invokator, such as invoke and log
AbstractListener AbstractListener implements the basic functionality of the Listener interface
ChildSiblingReference ChildSiblingReferences act for a parent node as a mapping between refering and refered child nodes.
FuncFunc Functionality for H-Graph nodes.
FuncHandler  
GenericInvokator Generic invokator class, which by default is installed on all nodes.
HgraphEvent HgraphEvents are used for message passing in h-graphs.
HgraphNode The default implementation of H-graph Nodes as described by the IHgraphNode interface
LogIterator  
NodeHandler NodeHandler handles the basic node commands related to children and naming
Path The Path class is for representing paths in an Hgraph.
PrintHandler PrintHandler handles commands related to textual representations of the node (and its offspring)
SiblingFunc Sibling functionality for H-Graph nodes.
SiblingReference Sibling references act as a mainteneance structure for mapping between regular objec references and H-graph meta references.
Signature Signature class for manifesting the "method" signature of handlers and invokators in terms of returns, designation and requires
Value A Value is a work-around for representing and making non-hgraph entities inspectable.
ValueFunc Value functionality for H-Graph nodes.
ValueHandler ValueHandler handles commands related to the manipulation of node values
XML  
 

Package ist.palcom.hgraph Description

This package holds the Hierarchical Graph (henceforth abbreviated H-Graph) data structure. It has within Palcom been used to accommodate for primarily the inspectability experimentability qualities, but also to a certain extent others. The Palcom Open Architecture sports a pervasive use of it as a dynamic runtime data structure. The primary benefit and novelty of this comes not as much from the datastructure itself, more than it is a consequence of its use. As such, the use contains several perspectives. Firstly, the H-Graph is used for structuring and accessing/inspecting most non-transient elements of any process in a runtime environment. That is, both ontological functional entities as well as their data. Secondly, the H-Graph facilitates a simple message-passing and handling mechanism for inter-node messaging. Thirdly, the H-Graph act as a reflective mechanism facilitating, amongst others, inspection.

Package Specification

In general the intention is for H-Graphs to be used instead of inventing ad-hoc data structures. It is, as stated, a dynamic graph-esque runtime data structure. The ontology of H-Graphs is an extension of the ontology of standard object graphs used in object-oriented programs. It consists of the following elements: The notion of H-Graphs is historically tied to, the within Palcom previously used, concept of H-Maps (an abbreviation for Hirarchical Maps). Inspired by the Plan 9 OS from Bell Labs and the Linux /proc file system, the previously used Corundum framework uses a hierarchical map to support the implementation of palpable components, services and devices. In particular, the use of the externally accessible hierarchical map supports construction/deconstruction of assemblies of services, and visibility and introspection of services and applications. Although their historical relation, H-Graphs differ from H-Maps in several senses. Mainly, given their sibling reference concept and therefrom their secondary graph-like nature, the H-Graphs are not strictly hirarchical like H-Maps. Instead, they can be seen as hirerchically ordered graphs with a primary child-parent relationship and a secondary sibling relationship.