Formulate Project: End-User Programming Language
Project Award Date: 0000-00-00
The primary these forms have an associated physical representation eases the process of constructing, manipulating, and understanding the associated notation. For form-based systems, the restriction is that the equations must not lead to circularities in evaluation.
Form-based systems vary in how they enforce this restriction. Some enforce it by evaluating variable dependencies statically; others detect it dynamically. Some even allow finite circularity as a limited form of iteration. The form-based programming eliminates the many language concepts that are really comput er domain concepts. There is no notion of control sequencing other than the natural notion imposed by variable dependencies and no notion of assignment or other side-effects; however, there are notions of input, output, and persistent data.
Visual interfaces can improve our ability to express, view, edit, and interact with programs; but visual representations are multi-dimensional, unordered, and limited in resolution. Thus, visual programming languages must balance the usage of visual representations with textual representations.
In brief, programming in Formulate proceeds by using direct manipulation to construct forms, attach objects, and specify equations by which these objects obtain their values.
An equation can be a constant or it can contain (graphically represented) references to other objects composed with functions like, , *, etc., as well as user-defined functions which are themselves forms. Formulate has structured objects, arrays, lists, and database tables, as well as event-handling objects, buttons, text entry objects, and selection objects.
Development and execution modes are provided for building, and then executing applications.
For Formulate, viualness provides the means for direct manipulation of variables, making variables tangible and eliminating many conceptual issues associated with naming and scoping. Visualness also creates a concreteness through working with prototype values. In addition, as users develop programs, errors propagate, maki ng it possible to see where calculations fail. Forms representing screen images, scratch paper calulations, order forms, and documentation can easily be developed, facilitating our understanding and organization of information through Formulates's visual representation objects.
Primary Sponsor(s): ASE/CECASE