Beruflich Dokumente
Kultur Dokumente
Qinwei Zhu
Jiunwei Chen
Contents
What is a VPL?
Motivations
Examples
Advantages / Disadvantages
Brief Survey of VPLs
VPLs in Detail
Prograph, VIPR
VPL Issues and Classifications
References
What is a VPL?
A programming language that uses a visual
representation (such as graphics, drawings,
animation or icons, partially or completely)
A visual language manipulates visual
information or supports visual interaction, or
allows programming with visual expressions
[Golin 90]
Any system where the user writes a program
using two or more dimensions [Myers 90]
A visual language is a set of spatial
arrangements of text-graphic symbols with a
semantic interpretation that is used in carrying
out communication actions in the world
What are NOT VPLs?
o Ambit o Grail
o AutoProgrammer o Query by
o Plan2D Example
o Tinker o Pygmalion
o Outline
Visual Systems: 1981-1990
ML-like VL o Prograph
Pict o GAL
Formal o PIGS
SmallStar o Show and Tell
Hi-Visual o Tinker Toy
PC-Titles o C^2
ThingLab o SunPICT
ARK o NoPumpG
Modern Systems: 1991-
o Cube o Forms/3
o Cantata o AVS
o Hence 1.4 o Mondrian
o SchemePaint o ChemTrains
o CODE 2.0 o HyperPascal
o Iconicode o Vampire
o Viasvis o VIPR
o MViews o SPE
VPLs in Detail
Input Output
Transform
X
A
Y
C
Z B
Prograph Components
Sections
Analogous to Java packages
Classes
Attributes/methods
Single inheritance support
Prograph Components
Methods
Basis for control flow
Contains the “meat” of the program
Operations
Basic executable component
Operates on input, produces output
Root
Terminal
HelloWorld Example
Method
case
Operations
Controls
Attached to operations in order to control
the flow of execution
Contains two aspects
The action to be taken
Whether or not the action is a success or a
failure
Allows the next case to be executed, or
the current case terminated, etc.
Procedural Abstraction
High-level vs. Low-level
Levels of abstraction, granularity
Data Abstraction
Similar to the notion of data
abstraction in conventional languages
Control Flow
Data-flow model
Message passing model
… or others
Classifications
1. Purely visual languages
• Icons or other graphical representations are
manipulated
e.g. Cube, VIPR, Prograph, …
4. Constraint-oriented systems
• Popular for simulation design
e.g. ThingLab, ARK
5. Form-based systems
• Uses a spreadsheet metaphor
e.g. Forms/3, NoPumpG
References
http://www.cs.washington.edu/homes/jpower/vpl/vpl_
home.html
http://www.wi.leidenuniv.nl/CS/SEIS/vislang/VLcourse.
html
http://www-lsi.upc.es/~rbaeza/cursos/vp/todo.html
http://www.cs.berkeley.edu/~maratb/cs263/
http://www.efd.lth.se/~d87man/EXJOBB/MSC.html
http://www.ecs.soton.ac.uk/~tal00r/vlangs.html