These constraint-oriented systems
are especially popular for simulation design, in which a programmer models physical objects as objects in
the visual environment which are subject to constraints designed to mimic the behavior of natural laws,
like gravity.
Constraint-oriented systems have also found application in the development of graphical user
interfaces.
Thinglab and ARK, both primarily simulation VPLs, stand out as quintessential examples of
constraint-based languages [Smith 1986, Borning 1981]. A few VPLs have borrowed their visualization and programming metaphors from spreadsheets.
These languages can be classified as form-based VPLs. They
represent programming as altering a group of interconnected cells over time and often allow the programmer
to visualize the execution of a program as a sequence of different cell states which progress through
time [Burnett & Ambler 1992]. Forms/3 is the current incarnation of the progenitor of this type of VPL,
and it will be covered in detail below.
It is important to note that in each of the categories mentioned above,
we can find examples of both general-purpose VPLs and languages designed for domain-specific applications.