



Jeffrey D. McWhirter
The approach taken is to provide a rich substrate
that is applicable to a broad range of visual languages
and provides deep system support for those applications.
Features of this substrate include: a highly functional editing module;
generalized constraint mechanisms; and a structured graphics package.
FIGURE 1: GrandView Specification Environment
A specification environment, GrandView,
is used by the developer to define the constructs and characteristics of
a target visual language. Visual language constructs are characterized as
entities and relations and are specified through the
Class View, shown in
Figure 1.
GrandView supports the specification of other characteristics of visual languages and
applications including the attributes, graphical representation and
constraints associated with the basic language constructs.
Language construct specifications
may be prototyped in the Prototype View which
allows for instant feedback as to the state of the specification.
The language specific software modules of an application can then be generated
from the GrandView specification and combined with the Escalante substrate
to realize a working application.
Abstract
The development of dynamic graphical applications is a difficult
and time consuming task. This difficulty stems from the
complexity of the
applications as well as the lack of adequate development tools.
Escalante is an environment that supports the visual specification,
rapid prototyping and generation of complex graphical
applications. Using Escalante, one can rapidly construct a broad range of
highly functional applications with a minimal amount of manual programming.
Keywords:
User interface development environments,
visual languages, graph editors.
Introduction
The applications within the domain of
Escalante(McWhirter, 1994) can be considered as visual language applications.
These systems support the creation and manipulation
of complex and dynamic information structures through
pictorial representation.
Escalante provides a high level of support to developers and
enables the rapid development of visual language applications with minimal
manual programming.
EXPERIENCES
We now present a set of example applications constructed using Escalante
including some quantification of the effort required to construct each example.
FA
Figure 2
shows FA, an application that supports the
exploration of regular languages and their closure properties.
This application lets one create a number of
Machine elements which may contain either a finite state automata
or other Machines. One can define a Word and animate the process of
a Machine accepting or not accepting the string defined
by the Word (e.g., ``abbba''). This application was constructed in two days with
300 lines of manual programming.
FIGURE 3: Boolean Circuit Application