Forms/3 is a general purpose, declarative, spreadsheet-based Visual Programming
Language (VPL). Its goal is to provide computational and expressive
power in a language featuring a simple, concrete programming style with
immediate feedback.
Programming in Forms/3 follows the spreadsheet
paradigm; the programmer uses direct manipulation to place cells on
forms, and then defines a formula for each cell. Such a formula may
include constants, references to other cells, or references to the
cell's own value at a previous moment in time. Cells are referenced by
clicking on them. (In our current prototype, these references are
reflected textually in the formulas.) A program's calculations are
determined by these formulas.
Three Frequently Asked Questions
- Q: What is the best academic reference for the Forms/3 language?
A: The article "Forms/3: A First-Order Visual Language to Explore the Boundaries of
the Spreadsheet Paradigm," M. Burnett, J. Atwood, R. Djang, H. Gottfried,
J. Reichwein, S. Yang, Journal of Functional Programming 11(2), March 2001,
155-206. pdf.
- Q: What is the best write-up for actually using Forms/3 software?
A: The guided tour.
- Q: Do other publications exist about Forms/3?
A1: Yes. Most of my research until about 2004 used Forms/3 as a prototype, so almost all of my publications until then include information about aspects of Forms/3.
A2: Forms/3 was also a testbed for end-user software engineering research in portions of the EUSES Consortium research. We prototyped a number of end-user software engineering features in the Forms/3 environment and tried them out with end-user participants in our lab.
- Q: Is anything happening lately with Forms/3?
A: No, we switched to other kinds of end-user programming platforms in the mid-2000s.
Introduction
Recent and Current Research
-
What You See Is What You Test (WYSIWYT).
We are working on a variety of testing and debugging mechanisms for visual programming languages, with a special interest in the spreadsheet paradigm as used by end users. The primary testbed for this work is Forms/3.
-
End User Software Engineering
Software engineering for end-user programming languages, again with a particular emphasis on spreadsheets. This work is being further generalized as part of our involvement in the new EUSES Consortium.
Comments can be sent to:
burnett@cs.orst.edu
Originally authored by Herky Gottfried and JJ Cadiz, Dec '95.
Last updated by Margaret Burnett, Nov. 14, 2014.