VANISH's Software Architecture


INTRODUCTION

SOFTWARE ARCHITECTURE

VaPL LANGUAGE

EXAMPLE VISUALIZATIONS

PAPERS

FUTURE WORK

PERSONNEL

VANISH follows the Arch/Slinky metamodel of interactive software in dividing the software of an interactive system into 5 parts, as shown below:

These five parts are:

  • Presentation. VANISH currently supports the following presentation toolkits: Motif, OpenLook, Amulet, Mesa, Postscript, Xforms.
  • Logical Interaction. This is a layer, instantiated in VANISH as the C++ LPresentation class, that insulates Dialogue from particular toolkit dependencies.
  • Dialogue. The dialogue layer encodes the mapping from a semantic domain and a presentation. In VANISH, the dialogue is implemented in VaPL.
  • Functional Core Adapter. The Functional Core Adapater insulates the dialogue from particular semantic domain dependencies, and is instantiated in VANISH as the C++ BaseNode class.
  • Functional Core. The Functional Core is the semantic domain to be visualized. Currently, the following domains are supported: Unix file systems, RCS repositories, network management reporting, C++ classes, WWW sites.
Because of the separation of concerns enforced by the software architecture, adding new semantic domains and presentation toolkits is easy, as is re-using dialogue. This is because the three main components of the software architecture - presentation, dialogue, and functional core - are not directly dependent on each other. Their dependencies are filtered through the "bridging" layers of the logical interaction and functional core adapter.

Back to UW Computer Graphics Lab