|The GPSE (graphical programming & structure editing) framework targets at easing the definition,
implementation and integration of data-specific (graphical) editors. It is based on a new OO-technique
named Directly-Linked-ViewAndEdit (DLVaE) for handling interactions between data and graphic objects,
including editing-possibilities. The DLVaE concept is synthesized from a newly introduced design pattern
as well as from numerous existing ones. In contrast to the usual Model-View-Control (MVC) paradigm it
easily allows an abitrary number of visualisations/editors according to a model. In this context it guarantees, and
not just enables, the simultaneity of changes. Changes occur fluent and are not managed with separated generating
steps which are common in most MVC-implemented IDEs (e.g. sourcecode is generated from UML-diagrams).
Furthermore any overlapping of the different (editable) views can be selected. So for each model-detail a
switch-over to a more comfortable view is possible at any time. If an appropriate view/editor is not available,
it can be implemented and added, then becoming useable for all (suitable) data models. In addition, high-order
edit-functionalities like cut-copy-paste, undo-redo etc. can be defined just on one view without any knowledge of the
underlying data, carrying on the WYSIWYG-principle. This is almost impossible with MVC. If a new data model is applied
to a so-called view-and-edit, the functionalities are automatically inherited by the model and all other
view(-and-edit)s of that model (e.g. a cut-copy-paste implemented for one view works on the model and the other views).
This and the fact, that a new data model can be quickly adapted and attached to existing views, brings an improved
reuse of implemented components. The advantages of DLVaE reveal most when dealing with visualising/manipulating highly
structured data or having more than one view for a model.
The current gp-version (v0.1), implemented in JavaTM, includes a model for syntax trees of generic OO-programs. The
framework offers four configurable, an immutable text-based and three editable graphic-based, visualisations, that suit
the task of imperative programming or similar tasks. The only OO-concept that lacks a graphical counterpart is
dereferencing, but this is under development. Obfuscation is a disadvantage of many graphical systems. This is
annihilated by making the three graphic views dynamic or somewhat browser-like, so the user is not stunned by
'seeing everything in one picture'. She/he is instead able to focus on objects of interest. The existing visualisations
have been configured and new data models have been implemented for two additional prototypes: a RNA (ribonucleic acid)
analyse tool and an editor that allows to define the valid input format for a multi modal system (see screenshots).
Features such as auto-mapping initial view(-and-edit)s to a model or graphical methods for specifiying a syntax
(maybe XML) to interchange data are further aspects that arise from the DLVaE-technique. There are also plans to
augment the editor catalogue with a 3D-editor, a generic graph editor (spiderweb) and an editable text editor that does
otf-parsing. First tests on adapting standard GUI widgets (AWT, Swing) to DLVaE have also been successful. More on
these topics can be found on the project page.