SOFTWARE ARCHITECTURE
|
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.
|