HTC

Reusable Object-Oriented Architecture for Graphical Editors


The figure below is an example of a portion of a reference software architecture captured in an object-oriented architecture style. This architecture, which is the architecture used in the Domain Modeling Environment (DoME), has been used to develop several graphical (boxes and arrows) editors for a variety of graphical modeling notations (e.g. IDEF, ExpressG, Petri nets, and the graphical editing tools for the ControlH and MetaH architecture specification languages). This particular style makes use of a class hierarchy and inheritance, and the figure shows the class hierarchy. Knowledge of this architecture is embodied in a tool called MetaDoME, which accepts a description of a graphical language and automatically generates an editor for that language. To use a metaphor, MetaDoME is a yacc that accepts graphical syntax specifications. An important characteristic of this architecture is that it provides a careful separation of the automatically generated portions of an editor from the inevitable hand-coded portions, making use of a methodology of defining subclasses and inheriting methods for this purpose.

DSSA for GN&C Home Page