PSOAMetaViz Explained: The PSOA RuleML Metamodel in a GUI for Dynamic Visualization

Harold Boley, Alexander Kienzle, Scott Bateman

Faculty of Computer Science, University of New Brunswick, Canada

17 July 2018 (Revised: 12 October 2019)


Some background for the software PSOAMetaViz can be found in the document PSOABridgesGraphRelDBs. PSOAMetaViz visualizes the PSOA RuleML metamodel by a wireframe-like cube. The PSOA metamodel's three orthogonal dimensions of "Dependency", "Variety", and "OID" are mapped to three Cartesian axes. PSOAMetaViz in "3D" mode focuses the cube in the three switchable projections of Dependency, Variety, and OID. Alternatively, PSOAMetaViz can also be used in "2D" mode, where each focus becomes a corresponding set of rectangular slices. In both modes, the projections or slices constitute a scaffold for unit cubes or cells. In the ensuing 3D-projection or 2D-sliced systematics, each unit characterizes one kind of atom in PSOA RuleML.

PSOAMetaViz creates a dynamic user experience as follows (cf. PSOAMetamodelGrailogWedding.pdf):

  1. Units point to characterizing 'cards', each containing
  2. Informed by 1., users can navigate from the current unit to any other unit, thus facilitating pairwise comparison of atoms
  3. Iterating 2., users can traverse metamodel paths, e.g. for exploring the PSOA RuleML design space and preparing atomic-fact interoperation by rules

Visualization Principles

In addition to the 3D and 2D geometries, the following conventions (mnemonics in parentheses) are employed in the 3D mode of PSOAMetaViz:

Dependency = color
  independent = red (cf. 'negative amount', reminiscent of "-" in presentation syntax)
  dependent = green
  independent+dependent = blue
Variety = texture
  tupled = horizontally striped (length-oriented, positional information)
  slotted = vertically striped
  tupled+slotted = digonally striped
OID = surrounding-line style
  oidless = dashed surrounding lines ("- - ... - -" indicates there is no OID)
  oidful = solid surrounding lines

We refer to the boundary segments of the three dimensions in the three projections of the 3D cube as follows:


Switching between the projections of the same cube results in the following focus transformations (the colors of the Dependency-focused entry screen help to keep track also of its transformations for the Variety focus and the OID focus):

Dependency focus:
left = oidless
top = tupled
front = independent

Variety focus:
left = oidless
top = independent
front = tupled+slotted  

OID focus:
left = independent
top = tupled
front = oidful

Software Use

The two menus in the upper-left corner can be used to separately choose the Dependency, Variety, or OID focus and the 3D or 2D mode. With any focus and mode, each of the eighteen units can be selected to view its card (a new focus/mode choice resets any unit selection). The "?" button in the upper-left corner opens a new browser tab with this PSOAMetaVizExplained.html document.

Software Realization

A structured exposition of the JavaScript/JSON-based realization of PSOAMetaViz v1.03 is given in the devNotes.txt document. The GitHub source is in the metaviz project.


Since it is lightweight and easy to use, PSOAMetaViz has become a practical GUI for gaining 'user meta-experience' about the fundamentals and ramifications of PSOA RuleML's metamodel. This open software comes without any warranty. Please send comments and suggestions to the first author above.