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