Index

A
abstract class 255
abstract coupling 259
abstract data type 4, 170
abstract method 255
abstract methods 258
abstract processor, implementation of 213, 214
abstraction 211, 212, 214, 225
active cookbook 254, 255, 256, 257, 264, 265
activity-focused model 192
admissible solution 118
alias 207, 212, 221
animated display of execution 50
animation 116, 175, 191, 192
     in dynamic visualizations 88
Animus 116
appearance 175
AppKit 254
application framework 201, 255
attribute 50, 51, 52, 54
attributed graphical rules 132

B
binding 55
BITPICT 72
Blue algorithm 119, 122
Borning 73
building block 200, 2Ol, 203, 208, 215, 225, 255
Burnett 73
Bush 70

C
CalcRate 258
Calculator 259, 263, 264, 265
call
     by reference 77
     by value 77
case studies, software development with a VPL 29-33
Cerno 242
change-and-update 215
characteristics of visual programming languages (VPLs) 163
ChemTrains 73
class 5, 50-52, 54, 69, 78
     browsers 71
     inheritance 69
color 141
comic strip metaphor 100
comment 56, 64
comparator 119
complexity 201, 211, 225
components 116
composition 6
composition metapattern 260
compound processor 203, 204, 214
computer-aided design (CAD) 28
concreteness 11, 185-187, 191, 192, 198
conditional execution 51
connectedness 87
connection 203, 206, 207, 213, 215
consistency 239
constraint 114, 136
     graph 116, 122
     hierarchy theory 118
     interpreter 116
     satisfier 114
     prefered 118
     required 118
containment 87
continuation parameter 77
continuation passing 91
contract 256
control constructs 57-59
controlflow 151
cookbook recipe 257
coupler processor 207, 209, 210
Cox 73

D
data abstraction 166, 169
data and program unified 72
data driven execution 51, 54
data processor 209, 210
data representation 50, 64
data structure visualizers 71
dataflow 114
diagram 26, 36
diagram paradigm 24, 33, 35, 46
debugging 60, 61, 242
decision tables 24
declarative 166
defining subclasses spatially 69
DeltaBlue algorithm 121, 122
design
     book 254, 255, 256, 262, 265
     hypertext editor 264
     hypertext link 263
design method 207, 208
design pattern 201, 215, 256
     catalogs 256
direct engagement 191
direct manipulation 97, 201, 203
documentation 241, 244
domain-specific execution visualizations 71
Duisberg 116
dynamic binding 213, 214
dynamic dispatch 69, 82, 83

E
editor 137, 140, 143
     Prograph 46, 50-64, 73, 201
efficiency 216
encapsulation 29, 78, 186, 204
end user 96
entity-relationship diagram 246
environment 47-51, 59, 91, 230
     support 86
error detection 60
ET++ 254
event 166, 176
     handling 176
executable specification 74
explicit 83
     representation of dynamic dispatch 91
     representation of information 90

F

Fabrik 117
fallback scheme 204
feedback bandwidth 117, 118, 124
Finzer 73
formal goodness metric 119
Forms/3 73, 163
Foundation Classes 264
framework 9, 204, 214, 254, 255
     cookbook 257
     definition 254, 255
     examples 254      instance variables 78
frozen spot 259


G
Garnet 11
GetName 258
Gould 73
graphical rewrite rules 69, 72, 74, 91
graphical substitution 77
graphical transformation rules 74

H
Haarslev 71
hierachy of objects 261
Hierarchical Constraint Logic Programming 120
Hierarchical Input Process Output (HIPO) charting 24
high-level programming 166, 168, 169
history variable 116
HI-VISUAL 12
hook
     class 259
     method 257, 258, 259
hot spot 254, 256, 258, 259, 264
HotelRoom 258

I
implementation of reactive systems 201
incremental algorithm 117
incremental constraint satisfier 120
I-network 206
information hiding 29, 78, 166, 173, 202, 212
Ingalls 117
inheritance 6, 51, 69, 82, 166, 178, 205, 213, 214
inheritance multiple 64
input port 203, 204, 206, 209, 219, 220, 222
instance 5
InterfaceBuilder 264
interpreter, Prograph 60, 61
Iteration 51, 57

K
Kahn 72
Kahn's Pictorial Janus 69

L
LabVIEW 23, 24, 25, 26, 28, 29, 31, 32, 33, 34, 37
large-scale programming 69
latency 117, 118, 124
Lisp 71, 72
list of constraints 117
liveness 11, 163
locally-predicate-better 119, 120, 121
logic gate language 146
logic programming 119
low-level programming 166, 168, 169

M
MacApp 254
maintenance 35
message 5
message passing 204, 216
metapattern 256, 257, 265
     browser 257
     1 Connection 260, 263, 264
     N. Connection 260, 261
     N. Recursive Connection 261
     recursive composition 262
     Unification 260, 262
method 50, 51, 53, 78, 114, 204, 206, 212, 220
Microsoft 264
Model-View-Controller 115
modifying 1 30
module compiler 118
Moeller 71
Morley 71
multiparadigm language 200, 202
multiple inheritance 82
multiple simultaneous views 194-197
MVC 17, 115, 215, 254, 256

N
nested rings 74
network 202, 203, 204, 206, 207, 209, 214, 220, 222
NeXT 264

O
object encapsulation mechanism 1 14
object interface, specification 212
object-based language 5
object-flow 46
object-focused model 185, 186, 188-194
object-oriented 4
     language 204, 215
     programming 200, 201, 202, 213
Objectworks 202, 217
ObjectWorld 12, 73
Objex 7, 8
OO design
     documentation 257
     visualization 257
output port 203, 204, 206, 209, 219, 220, 222

P
paradigm 202
parallel 51, 55, 57, 58
parts ban 117
Penz 73
physically hiding information 89
Pictorial Janus 72, 74, 88
pipe 76
plan 117
polymorphism 6, 69, 82, 166, 178, 213 1
Ponder 70
port 220
predictability 49
primitive Things 116
principle
     of availability 186-188, 194, 198
     of immediacy 187, 188, 190, 198
     of liveliness 186-188, 196, 198
     of primacy 187, 188, 192, 193, 198
PrintInvoice 258, 260
PrintInvoices 261
private processor 205
processor 203-207, 212, 213, 214, 220
processor register 212, 220
productivity 33, 36, 38, 201, 215
program continuations 69
Programming by Demonstration(PBD)
programming environment 202, 212, 213, 223
Prograph 46, 50-64, 73, 201
prototype 170, 204, 216, 225
pseudo-instances 80
PT 11
public processor 213, 216
Pursuit 96, 99, 100, 101, 102, 103, 104, 105, 108

R
rapid applications development (RAD) 24
reactive system 201, 202, 207-209
     design 208
     specification 208
readability 34, 216
register 212
Rehearsal World 73
RentalItem 258, 259, 260, 262, 263
RentalItemManager 260
representation of objects 188-193
reuse 211
Robertson 88
Rogers 73
rules 132

S
safety 216
Saraswat 69, 72
scalability 86
scaling-up problem 18
scope 48, 81
Seity 187, 188, 191, 193, 196, 197
Self 186, 187, 188, 191, 193
semantic break 202
semantics of execution 74
separation of interface and implementation 212
sequencing 166
signal processor 208, 210, 214, 215
signal token 203
simple processor 203, 204
single inheritance 82
Smalltalk 202, 203, 205, 206, 212, 214, 215, 216, 220
Snart Programming Environment 230
software engineering 200, 201, 202, 211
software reusability 254
spatial inclusion 82
SPE 230
specification
     of object interface 211
     of reactive systems 201
state modification 166
statically scoped 74
statically typed 74, 78
stay constraint 120
StdRateCalculator 265
Steele 71
strand of fiber 78
subclass 5, 7
substitution 204, 213, 216
superclass 5, 7

T
template 244
     class 259
     method 257, 258, 259
terminal 206
text 164
textual names 88
textual variable names 88
thermo-alarm processor 216-224
ThingLab 73
Things 116
time dimension 167
token 203, 204, 206, 207
     passing 203
tools
     object-focused 197
     view-focused 192, 193, 197
top down development 60
topological relationships 87
traceability 239
transformational system 202, 207-209
type 142, 211, 213, 215, 225
     inference 179

U
UIMS 62, 63
undo/redo 240
UNIX 207, 214
update records 239
user interface 102
     builder 217
     construction 114

V
VamPtct 151
Vampire 73, 130
variable 48
VEE 24, 26, 28, 29, 32, 33, 34, 37
view 8-13, 193-197
view-focused
     model 187
     tools 192
Vista 200, 202, 203, 208, 211
     design of 211, 224
     documentation 211
     hybrid nature of 204
     intention of 200, 202, 203, 208
visual
     abstract data types 170
     complexity 86
     environments 11
     language 200, 202, 212, 215
     metaphor 91
     multiparadigm language 200
     pipes 103
     programming 10
     programming language 10, 200
     shell 96, 97
Visual Engineering Environment 23
visualizatlokn of execution 37

W
walkabout strength 121
weakest coupling 214, 215
WeekendRateCalculator 265

X
X-network 206, 221

Y
yo-yo problem 68, 178