Professional Documents
Culture Documents
. _ _
_ _
t6nas I k
~~~~ ~~
i
I I _
~A91 fl 1 U U
—
l f END
_ _
_ _ _ _ _ _
12-77
~ 28 ~ 25
::
:~ ~
~~~
,
, f~I~2.o
~ •
~
N
-. N’ f ’ i ‘hi
TECHNICAL REPORT SERI ES
~~~~~~~~
DDC
E~UMPUTEE 1
dI~1fUPJ1iRT~UI~1
SE1~E~1~!E
1 ESER
~ E1 1TEEI
OSU-CISRC—TR— 77~~
BY
David C . Brown
Stan C. Kwasny
________ J
~ ~~~)
I
PREFACE
The Computer and Information Science Research Center of The Ohio State
Universi ty is an interdiscip linary research organ ization consisting of staff ,
graduate students , and facul ty of many University departments and laboratories.
This repor t describes research undertaken in cooperation with the Department
of Computer and Information Science.
Dur ing the summer of 1976 when this research was performed , the two
authors were supported by the T.E. French Fellowship and the Department of
Computer and Information Science. These two sources also provided computing
funds and technical support.
Par ti al suppor t by Grant AFOSR 72—2351 , B. Chandrasekaran , Princ ipal
Inves tigator , is gra t e f u l l y acknowledged .
•
—
~2Ct ~Ofl
13
0
~~~ ~~~~
~~
H ii
ACKNOWLEDGEMENTS
• The authors would like to acknowled ge the help and support of the
following :
iii •
•
—~~ —--—-•-——-••— -——— - —- .•— ••—•—— -— • -•-•- —--—& - .
0. CONTENTS. PAGE
1. INTRODUCTION •
1.1 Overview
1.2 Examp le o f Dialogue
1.3 Motivation
1.4 Repor t Outline
iv
7. CONCLUSION 34
7.1 Sys tem Performance
7.1.1 General
7.1.2 Good Things
7.1.3 Bad Th ings
7.2 Ou tstanding Problem s
7.3 The Fu ture
7.4 Summary
8. REFERENCES 41
9. APPENDiCES 43
V
;.
—
I 1 ,~
I. INTRODUCTION
1.1 Overv iew
OK
*? CONNECT FRED AND (100 ,150)
OK
*? CALL THE CIRCLE BALL
OK
*? ERASE THE LINE FROM FRED
OK
*? ERASE FRED
OK
*? CALL THE 2 INCH LINE BAT .
OK
*? DRAW A CIRCLE
OK
*? NAME THE CIRCLE FACE
OK
*? WHAT DID YOU DRAW HERE <T> ?
a LINE called BAT
*? WHAT CAN YOU DRAW?
1.3 Mo tivation
The research being do n e by o u r gr ou p pro mi ses t o be o n e more s t ep
towards the goal of natural interaction between man and computer. Our
work is based on the belief that use of more than one mode of communica—
tion is required to achieve that goal. We have chosen to investigate the
comb ina ti on of na tu ral language and graph ics. A system using this combi-
na tion allows the use of l ingu ist ic , graphical , or mixed forms for both
input and output of information . Careful development of this idea would
pr ov ide prac t ical sys t ems wi th a h ig h degree of habitability.
Many ar t is ts and desi gners wh o are ( and wish to rema in) n aive abo ut
programming will be able to interact productivel y with a natural language
graph ics system and such a system would allow a much wider group of people
to use computers. Special subsets of both language and pictures can be
developed for various uses. We are advocating a form of natural language
programming , but with an additional (graphical) mode of communication.
We feel that the feedback provided by the graphics will assist the user
in detecting, and then interactivel y correcting, err ors d u e t o vagu eness
or ambiguity. In addition , the user is able to select the appropriate
method for input of information and , f or example , could prov ide a r ough
draw ing of an object with a description of additional details. These
te c h n i q u e s would be v iable in a v a r i ety of appl ica tion s areas , such as
Anima t ion , Architecture , Eng ineering, and Educa tion .
Na tural Language Grap hics (NLG) provides a framework for research in
several areas of computer science. It supp lies a do m ain t~ r the stud y of
linguistic p henomena and l anguage unders t anding sys tem des ign. Memory and
inference will play a large role in an NLG system and consequently
knowled ge represen tation and manipulation is important. Such systems
would als o lead t o new ideas abo ut Comp ut er Crpah lcs , help ing to l ibera t e
i t f r om it s presen t al gori thmic approach. Man—machine interaction studies
and Al sys tems organization will also need to be pursued .
There has been no sys t ema ti c s t udy o f t he combina ti on of lang uage
and graph ics , al thoug h t her e have been a few sys t ems w it h t h i s comb ina tio n
[Klrsch , Coles , S imm ons , Badler and Win ograd ] and some recent work on
graphical information [Sondheirner , Palmer , Agin , Neva tia and Minsk y].
-3
LIN EXEC
H LFTN J
[
~
LA GR
~~ ~~~K B ] ~~~~~
J
FIGURE SYS— i
System Organi zat ion
_
-- _ _
Each of the remaining eight modules has specific duties in the operation
of the system. The Initialization module (INIT) contains startup infor—
mat icn for NLG . If the system detects internal inconsistencies , the System
Err or module (ERR) is called to interact with the programmer in debugg ing.
Modules for graphical (touch) input (CI) and typed text input (IN)
provide preprocessed user input for language anal ysis. The Language
Analysis module (LA) parses the input , using an ATN gramma r , into a case— H
based semant ic structure. The Knowledge Base module (KB) develops a
semantic network from the input and creates instructions on how to update
the d isp lay screen. The Grap hics Output module (CR) uses these instruc—
tions to run a graphics program. Responses to the user are produced by
the Language Generation module (GEN) using a generative ATN grammar.
NLG is written in LISP 1.6 , except for the graphics primitive
routines which are coded in MA CRO—lO. As a debugg ing feat ure , the evaluat ion
of a LISP expression is permitted whenever the system prompts the user for
input by preced ing the expression with a dollar sign character ($).
Each module or collection of data used in building the system is
contained on a separate file. (A comp lete breakdown of the size of each
module appears in Appendix A.) In addition , a n as sembl y of utility
functions and functions useful in more than one module is kept on a
si ng le file. The ori ginal motivation for doing this was to facilitate the
dynam ic swapp ing of modules to maximize the use of memor y. Although the
mechanisms for this were implemented , processing t ime increased pr ohibitiv ely .
However , the comp lete separation of m odules in this fashion eliminated
many of the problems typ ically encountered in developing large systems .
,
~ ~~~
- I -s s ag e :: ( ~t o
- from . -~m a r k Irgs )
- to : := m o d u l e nam e
from :: m o d u l e name
~m .irk - ::= ~~~ or
- l rgs - ::= ( - irg )
The m o d u l e mimes used in t h e < t o ~- and < f r o m components must c o r r e s p o n d
to t h e names g i v e n in F i g u r e S Y S — l . The l i s t of ar g u m e n t s is not c h e c k e d
by EXEC , s i n c e each m o d u l e g e n e r a l l y protects itself f r o m bad d a t a .
M essages w i t h a q u e ry m ar k (;fl Q) a r e s e n t as m o d u l e c a l l s w h i l e thc , se
with .i r e s p ose m a r k (PR ) ar e r e t u r n e d as a v a l u e to t h e c a ll e r . Also ,
EX EC may he g i v en t h e m e s sa g e by c a l l i n g or r e t u r n i n g . T h is a l l o w s t h e
c o n v e y a n ce of m e s sag e s in f o u r ways , c o r r e s p o n d i n g to t h e m a n i p u l a t i o n of
the c a l l i n g leve l i n L I S P and t h e c a l l i n g leve l of NLC . The f o u r
possibilities are :
(i) c a b l i n g EXEC w i t h a i.Q message ;
(i i~ c a l l i n g EXEC w i t h a ~ R message ;
(ii i ) r e t u r n i n g a ~Q message t o EXEC ; and
(iv) r e t u r n i n g a ~ R message to EXEC.
The f i r s t c o m b i n a t i o n r e s u l t s in a c o n v e n t i o n a l m o d u l e c a b i w h i l e t h e l a s t
results in a c o n v e n t i o n al return. The second p o s s i b i l i ty is never used
in NL G . The t h i r d one a l l o w s m o d u l e i n v o c a t i o n in a manner s i m i l a r to
c o— r o ut in in g . LA a i d KB o c c a si o n a l l y c o m m u n i c a t e in t h i s f a s h i o n .
E XEC ’ s f i n a l d u t y is to a u t o m a t i c a l ly p r o d u c e a t r a c e of a l l s y s t e m
m e s s a ge s on t h e f i l e M E S S . L P T , i n c l u d i n g s t a t i s t i c s on t ime and space
u t i l iz at io n .
2. ~ The [r r r Module
The S y s t e m E r r o r m o d u l e ( E R R ) e x i s t s s o l e l y as a d e b u g g ing f e a t u r e .
If t h e message v a l i d i t y t e st c o n d u c t e d by EXE C f a i l s , t h e n ERR is c a l l e d .
I t d i s p l ay s t h e bad message an J i n t e r a c t s w i t h t h e u s e r to c r e a t e a new
one. Of c o u r s e , t h e d o l lar si gn ($) f e a t u r e w h i c h a l l o w s LISP e v a l u a t i o n
is supported allowing a k n o w l e d g e a b l e p e r s o n to comp l e t e l y investigate
the problem. ERR m -i v be c o n s i d e r e d an e x te n s i o n to EXEC , b u t has been
rar ely used .
2.5 The I n i t i a l i z a t i o n M o d u l e
The sy s t e m is a c t i v at e d w i t h a u s e r message to the mit i a l i z a t in n
module (IN I T) Here , a l l g loba l s y s t e m pa r a m e t e r s ar e in it L i i i zed , o u t p u t
—.
.
- - - - -- .- - - - - -
— - — - - -~~~~~ —~~~ - -- ~ --— .- -—
_ _ _
~~~~~~~~~
- rr rr,, t~~~~.w ra ~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
USER )
IN I T
~~ ~~~~
-
LA — KB GEN
~~ ~
/\
/
IN GEN GEN GR
GI
~p .
~~~~~~~ tL~~~~ ~~~
-. _
.
~
8
can either pass control to KB or return to INIT. The former happens for
commands and the latter for question—answering. When KB gets control ,
it concludes the processing by building memory structures and directing
CR to draw. KB then returns to INIT. GEN may be activated by either INIT ,
LA , or KB.
IN I T
r - - - - - -
ir
1
1 _ _
Con~ oI
H --- - MG
- ~~~~~~~~~~~~
I ATN
IN Parse r ~ qacaI~~ 4~ QA
- . -~~ L
/1
•1 ‘
“
~
‘
~~~~~~~
I
GI Grammar ‘Lexicon I
I 1~ ./
/ ~~~
-~~~~~~ LA ~~~~~~~
H KB -
FIGURE LA—i
LA O r g a n i z a t i o n
1 -1 9
Knowledge Base (KB), via the function QACALL , to retrieve other stored
knowledge as required. The parse results in a case—like structure called
a prototype which contains a representation of the ori ginal input (see
Section 3.4). If the input posed a question , the answer may then be
retr ieved from QA via the function QASK. For commands , the prototype
is passed as the argument in a message to the Memory and Grap hic s (MC )
mechan ism within KB. If the input commanded the system to stop, then a
return message is conveyed to INIT which stops the system.
2_ _ _ _ _ _
10
_ _ _ _ _
_ _
- - — —~~~~~.-~~~~~~ —
- -~~~~-- —-
--~~~~- - —
~~~~~~~~~~ -
~
11
proto type . It finds the verb near the front of the sentence and estab-
lishes the prototype . At state VP*HEAD , the post—verbial constituents are
expected. In most cases , a noun phrase will follow , but other possibilities
remain. For verbs like “connec t ” , a virtual object (ST—LINE) is implied .
This will be followed by an indication of what two things are to be connected.
Once at the state VP* , any of a number of constituents can be handled .
In particular , a touch is treated directly in the grammar in a manner
similar to noun phrases and prepositional phr ases. When the sentence has
been c omple t el y p a r s e d , the resulti ng prototype structure is returned as
the final value.
The touch network allows the parsing of a touch to the screen which
has been p r e p r oc essed b y CI , or equivalently, a specification in the input
string of a pair of screen coordinates. Either of these may be optionally
pr eceded b y “here” , “there ” , “this ” , or “ that ” . After a touch point has
be en parsed , the LISP dotted pair of x—y coordinates is returned as the
resul t. An arc has been provided at the accepting state of the touch
netwo rk to recognize multiple touches to the same point on the screen .
Th i s became necess a ry a f t er such a phenomenon was observed in oper at in g
the system . Of course , onl y one pa ir of coordinates is returned in such
cases.
The noun phrase network describes the processing of entities used
in the system as noun phrases. In addition to the standard noun phrase
consisting of the head noun with nominal modifiers , this network also
handle s:
(1) names — e.g., “the point 1°’ or simply “F ” ;
(2) the preposition “of” e.g., ~‘an ang le of 32 degrees ” or
—
~~~~~~~~~~~ --- -. --
. --, ~~ - -— ---- - ~~~~~~~
.
12
_ _ _ _ _
.
~~ --- . -
_
.— ~~~~- - -- - — -.. --- . -..- - -~~~-~~~~~~~~~~ .~~~~~~~~~~~~~~ .- -.-~~~~~~~~~~~~~~~~~~~~~~~~
~
S. . -
--- -.--- --———-—— - — — - - - --.-- - — — - -
-—-———- ,- ~~~~~~~~~~~~ - . - ~~ - -.—-- -- --- . .-
. .- .
~ -
p
14
form. At present , prototypes for draw , erase , and name are determined
in this way. They consist of exactly the same form , althoug h this need
not necessarily be the case. Other verbs , of course , appear in the
input string, but these are reduced to the canonical verb form so that
the reference to the prototype is always done correctly. The function
PROTO is used in the ATN gramma r to retrieve the proper prototype form.
As constituents are discovered and parsed by the ATN gr amm ar ,
they are slotted into the proper case positions. The function PROTOTYPE
changes the current prototype to reflect the value to be added . Normall y,
additions are made as they are discovered , but the HOLD mechanism
allows some of these decisions to be delayed until a later VIR arc can
find the proper positionin g of the constituent. This is particularly
useful in handling touches which are found out of p lace and f o r mov ing
prepositional phrases to the post—verbial position.
_ _ _ _ _
15
determining how a word is being used when no lexical entry can be found .
Conversions to system units are accomplished through the CONVERT
feature of QA. The onl y units recognized i n MC a r e screen u ni t s for
leng ths and degrees for angles. Any other scale must be converted to
these and the gramma r contains appropriate calls to QA to accomp lish this.
FINDDRAW is used to determine if a particular entity is drawabl e
o r erasable , and to retrieve the list of objects drawable by the system .
It s use is lim it ed t o a n swer i ng spec i f ic q u es tio ns like “Can y ou draw ... “
3.6 Problems in LA
A number of m inor problems continue to be a point of concern in the
lan g uage anal yzer. Of course , it is difficult to assess the ultimate limita-
t ions of the approach taken here , but hopefull y no maj or obs ta c l e s w ill
he encountered in the immediate future to impede the extendabi lity of the
system. A few problems are discussed below .
The adjectives “sm~’ll” and “l a r g e ” should be handled heuristically.
In doing this , the object must be considered and appropriate size cal-
culations must be made relative to its shape. The current approach is
adeq u a t e as a gu es s f o r av erage size ci r c les on t he scre en , hut a “one
inch d i ame ter ” small c i rcl e and a “four inch diameter ” lar ge c i rcle m ay
not always be appropriate. This problem is not unique to these two words.
C ons i der , for example , how to handle “n ear ” or other locativ e s such as
“above ” , “below ” , “b e h i n d ” , or “n e x t to ” .
— -~~ —- - --- _ - ---- — - ---- - — --. ---~~~~~~ - — — - --- — —-— ---- - - - ,--
16
,-
— - -- -.- - - - ~-
~~~~~~~~ ~~~~~~~~~~~
17
~~~~
--
-
~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ---— ~~~~~~ - -— -~~~~~~~~ -~~~ -
-- L
1.
18
19
Lf ~ KB
f ~ C T~ ty
~
‘
- /
~~ —-
‘
:~.-
~~~~~~~~~~~~~~~
L_ ,~ ~~ _
\ KS
P~~C(,I~ ’~ M
XE)’ :
1
~J . f
~
-
~~tt I~ .
L Is $~ ~~ C S S C
t
~~~
LI SP ~tt c ~cki~ to r’~~
— - —~~~~.
_ .z._____
?~~-tAcLI ,~e.tt
.. Co, ~tr o I / .l cw
Figure KB - i
-. - — *— -- -. — - .- - , . - -- , -
-
y 2 . .—. -t .. -
— a.7~ r-.r- -~ , -- - —--—-,—-. —
~ ~~~~~~~~~~~ ~~~~~~~ ~~~~~~~~~~
20
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__
.
- . .. : : : .r r..rc rnr.r ;rr: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ,‘ .—— . ,, ---—--..- - —
~~~ ~ ~ , — --.—
~~ ~~ ——
ME
~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ S E
Figure KB-2
b~~~~~~iP -r , ,~
‘-
~~~~~~
S. a - 9
:>~ET ‘r ’ ~ (i ~ t~ ~~
I ~~~~~ — -
-
~
\~‘-~ p ,4tS
~~F ’c ~
—
Figure KB - 3
~~~~~ r~~M Sc . Er ” E ’ o r ) r L
~ ~ I
- -— - .-- .
_____________
—
.
‘— ———
, ——-—
—. -= ‘ ‘ — ~--—~~~ -
rn
_ __. — - ,- . -5—- —— — — -.
5”
22
whi. h is O-, -.o - ia t , d with t h e -,,- PO SIT case in the Input prototype , and
.
5.2.2 Actions
There are three types of actions attached to the network: the
Structural action , the Default action , and the Todraw action.
The Structura ~ act is used to check pieces of network after they have
been b u i l t to the specification g iven in the input protot yp e. For example
t h e net b u i l t f o r the new c i r c l e in F i g u r e KB—4 is m i s s i nc s i z e i n f o r -
mation (i.e., Diameter , Radius , or Circumference). ACT— l9 (Sec Figure
KB—3) will detect this omission and will report that ti:. role of Radius
has not been instantiated. In general the structural art ‘knows ’ wha t
the minimum requirements are for drawing the o bj e c t , and w i l l return a
l i s t of t h o s e m i s s i n g . In t h e case of a c i r c l e , t h e requirements a r e
Locator and Radius.
The Default acts are activated if a non—null list is returned b y a
Structural act. In this case the a c t uscd is the one associated with
the node which has a Role link to Radius (i.e., ACT—22 ; see Figure KB—3).
The Default act will look to see whether there is a ny t h i n g in t h e n e t w o r k
which will allow the missing value to be cal cu lated (e.g., Radius calculated
from Diameter), and if not , w i l l provide a reasonable default value . When
it has a value , it builds an additiona l p iece of network and completes
the requirements of the Structur al act. A Default action is run for every
omission. In the implemented system only circles have default actions
The Locator defaults to a touch point s l i g h t l y to the right of the center
of th e screen , and the Rad ius defaults to 100 screen units (approximately 1.5
inches).
For s i m p l i c i t y , many imi ortant links are not shown in Fi gure KB—4 . Note
that this is t h e f o r m of t h e n e t w o r k pri or to defaul ts.
~
23
Draw a circle called Ball at (100, 200)
i? .I. LE S
~
1>#Iri-~
~“0
. . . .I
L O c A T ~~
I4T1 ,
~~
~ 2
EM .~~
F
:
~~~~~~~~~~~~~~~~~~~~~~~m
L •
-4
~
~~
>~
-‘- ,
IM ~~1 I ’
- •
•
• ~~
:
2CC .~
z
‘1
Figure KB-4
- —--—- - -- - -—- - .
.- - - -- . — - - --~~--
24
Once the item is full y specified the Todraw actio,~ can be used .
IL takes the piece of network representing the item to be drawn and
produces from i t a p r o g r a m f o r m w h i c h w i l l do t h e j o b . For e x a mp l e , t he
c i r c l e , with its center at the point (100 , 200) , and its defaulted
radius of 100 units , will pr oduce (F4CRCL 100 200 100). For a strai ght
line the Todraw act is a little more complicated as it has a choice
which depends on which combination of endpoint , midpoint , ang le , and l ength
has been specified . (See A ppendix P).
,- -
~~~~~~~~~~~~ -- .
~~~~~~~~~~ ~~~~~~~ — rn—— - —~~~~~~~~~~~ - - - - -
-
‘. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25
no o b j e c t t h a t c o r r e s p o n d s to t h e d e s c r i p t i o n t h e n t h e message “object
as s p e c i f i e d c a n n o t be f o u n d ” is o u t p u t to the user. In t h i s case , and
in the case where the object is found but there is no Inform ation corres-
ponding to the given keyword , the “ list ’ returned with the Keyword is
NIL , e. g., ( ( % P O S I T . NIL)).
26
5.4.2 Drawing
A f t e r f i n d i n g t h e set and concept nodes for the object to be
drawn , an item node is inserted into the network for this new object ,
and links are formed between it and the set and concept nodes. If a
name is given (e.g., “Draw a circle called Ball” ) this is added to the item
node , otherwise a name is generated by the system as previously described.
The orientation , position , and size information is extracted in turn
from the prototype , and appropr iate ATTR , VAL and INSTANTIATES links are
set up. Note that the positional information may include a
(NODE . <node identifier> ) form , due to sentences such as “connect P
with (100 .200) where P is the name of a point , and the node identifier is
that of the item node for the point .
The Structura l act is used to check the structure , as p rev iou s l y
described , and if necessary , default values are inserted in the network.
Once the net for the item is properl y spe ci f ied , the TODRAW action is used
to produce a program form for inclusion in a message which is then sent
to the GR module. This message contains a modified form of the prototype
that was sent to the KB module (Appendix P). After the drawing is
completed , the screen model is adjusted , and a message is sent to the
INIT module to indicate successful comp le tion.
5.4 .3 Erasing
If the screen is to be erased , then the screen model is altered to
mark all items as erased , and a message is sent to the CR module to erase
the screen. On return from CR , the KB module itself sends a successful
completion message . If an object is to be erased , and if that object has
not been directl y spec i f ied , then the network is searched for all items
that match the prototype . If more than one is found the items are checked
and al l those which have alread y been erased by the user are deleted from
t h e list. From the items remainin g, one is chosen to be erased. If the
object has been specified then the form (NODE . < node identifier ) will
be used. This removes the necessity for a n y further searching, and th at
o b j e c t can be erased d i r e c t l y . The TODRA W act i s used to p r o d u c e a program
Note that the positional information may include TOUCH forms . These
will ma tch both ENDPOINT and LOCATOR during the search.
-. L~~~~~~~~
28
5.4.4 Naming
No te that “naming ” in this sy s t e m r e f e r s to t h e n a m i n g of o b j e c t s
drawn on the screen , and does not mean the naming of groups of ob~ -.
~cts
(e.g. , four straight lines being called a square). The first action is to
r emove t he (%NAM E . < name> ) pair from the nrototvp e . and then use the
new prototype to search for all items that match that descri ption.
Here , as b e f o re , t h e positional information may include TOUCH forms .
Those that already have u s e r g i v e n names a r e d i s c a r d e d , and one item is
p icked from the resulting list. That item node is deleted from the net
and a new node is inserted having tile same links , except for the name
link which points to the new name . Finall y a message is sent to the
INIT module to indica t e s u c c e s s f u l c o m p l e t i o n .
5.5 P r o b l e m s and E x t e n s i o n s
5.5.1 Moving
There are three types of oper ations of this type that we would
consider adding to the system.
i. Draw in the same p lace with no change after a prior erasure .
e.g. , “Draw Li. ” (a null move)
ii. Draw in a different p lace with no e r a s u r e of o l d object.
e.g. , “Copy the circle here <touch > .”
iii. Draw in a different place with erasure of the old object.
e.g., “Move Li to here <touch ; .”
It would be nice if the mechanism which handles these c o u l d also provide
changes in t h e values of other cases on request (e.g. , “Draw LI here hut
at 45 degrees and •in i n c h sma 11cr ”). Many of these deta i h s have been
worked out , but have not been imp lement ed . One reason for not imp lementin g
th is was our susp icion that In the worst cases the prot otvp.- mi ght need
sli ght revisions . To do t h e above o p er a t ions at all rt’qu I r,’s spec ial
29
5.5.2 Remembering
We c o ns idered imp lementing an action that would allow the user to
‘remember ’ the ob j e c t s tha t h e had drawn by hav ing a l l or par t of the
semantic net dumped to a file. A ‘re ca l l ’ function could be used to
read back information from specified files (i.e., those created by th e
remember func tion) and re—establish it as the semantic net. This pair
of act ions could be used to maintain a record of the state of an interaction ,
and to save complete or partially completed drawings between sessions.
Reme m bered p ic tu res could also be d isp layed , after appropriate preprocessing,
on other devices such as a plotter or a CRT . In addition , it may be
usef u l to hav e a ‘f orget ’ function which could be used to permanentl y
erase ne t s t ruc t ures represe nti ng a l l , or p a r t , of some i t e m or items .
This could be used if a m i s t a k e had been made , or if some object was
no longer requ ired. It could be argued that the erase action should
remove the item from the network. However , this would remove the possibilit y
of redraw ing a named object after it had been erased .
5.5.3 Defaults
A si
m ple ex t ensio n of t he defa u lt m e c hanism w ou ld be to m ark al
l
p ieces of the net which were buil t as a result of default acts. This
would allow the system to recognize the difference , and enable the system
to remind the user of exactly what he had specified for an object. In
addition , defa ults could be provii4ed for all of the primitives , whereas
at present , only circles have default actions. The only additions
required would be to slot the default and structural acts into the code for
KB , and create links from the appropriate nodes of the concepts to the
act names. The activation mechanism will work for all defaults in the same
way .
Structural acts return a list of those roles which need to be i n s t a n -
tiated before the Tod raw act can function correctly. It may he the case
that t h e D e f a u l t a c t i o n s s h o u l d he e x e c u t e d in a p r e f e r r e d o r d e r so as to
make maximum use of the information given and to minimize the n u m b e r of
defa ults.
For a better treatment of defaults , two ex tra C cchn I qucs won Id hay .
to he used . The present Implementat ion of defa~i lts is essentiall y context—
fre e , and merely uses b u i l t - I n values. There w i l l he situations when th l ~
:i.
~~~-
~ — - - — —~~- - -. -. - ~~~~~~~~~~ - — ~~~~~ —-- .— - - - — -— -- - - --- ~~ --—
~ -
- -——-- - — -
~~~~~~~~~ — --—-- ~~~~~ _ _
30
__ _ __ _
~~~~. -,— -~~~~~~~~~~~
-- ~~~~~—~~~~~--
31
5.5.8 Functions
For positional indications such as “near ” , “ it ’, or “c e n t e r ” we
w ill probably need to have words that tri gger functions in tile KB modul e .
This has not been careful ly worked o u t v e t , b u t we feel tha t forms such
as (%POSIT . (NEAR (TOP #SCREEN)) ) or (LEFT
~tSCREEN )) could be ( U P PER
used . In line with our general princip le that as much informa t ion as
possible should be extracted from a sentence before KB gets to act on
it , w e feel t ha t QA w ou ld pr ob ably he the correct p lace to imp lement
such function handling. This would allow LA to pass areas or coordinates
to the MG section .
6. T Il E GRAPHICS MODULE
6.1 Introduction
T h i s m o d u l e a c c e p t s messages c o n t a i n i n g s c r e e n a I t e r , it Ion commands
and e x e c u t e s t h e m . F i r s t t h e message is inspected to see wha t t h e a ct ion
Is , and a m a r k e r i s set depending on whether it Is draw or e r ase . Then C lit ’
argument part of the message is exe c lit ed one step it a t ime . In the
current system onl y one step is present in each message (see- Appendix P
5 11 5 11 j K
~
x i -
. ic , ,
_.
~ II
~~~
511 511
~ ~‘ ‘~~ ‘ Us ’- . ~ f~
I,’ - ‘4
~~~ In- I1R .
~
F I G I ’R E C R —I
__________ _______ — — -. —- — . — ‘--
33
6.3 P r o b l e m s and E x t e n s i o n s
The c i r c l e r o u t i n e is less t h a n p e r f e c t a t t h e moment , b u t t h e
authors arc aware that there are better circle drawing techniques that
c o u l d be used i f n e c e s s a r y . Because of t h e l a r g e n u m b e r of v e c t o r s
used in drawing a circle , and because of their frequency, the circle
drawing routine suffers occasionally from transmission errors , as the
panel is connected remotel y to the DECSystem 10. It may be that using
increment mode for circles would improve this.
—--- - - — -
~
-. , --
~~~ --~~~--
-- -
- .- - ------- - - - -~~-
• ‘ r , ,, —r. . .- -
. ‘T~~~
~~~
-~~~~~~~~~~~~~~ ,---r .flT
~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~ ~~ ~~~r ~~~~~~~~~~ !. ~~~~
34
7. CONCLUSION
7.1 System Performanc e
7 . 1. 1 General
35 ii
I
The use of the INFO function in the QA section of KB allowed the user to
specif y o b j ec ts b y using a partial descri ption. We f e e l t h a t t h i s is a power—
f ul techni que , and contributes a grea t deal to the ease of interaction with
the system .
An overrid ing problem with the system was tha t , desp ite our best efforts ,
it tend ed to grow on its own . Some unplanned—for problem s inevitabl y occurred ,
and were solved , but due to constraints on tine and effort were not necessaril y
solved in tile best way. As usua l , there are hits we would like to rewrite.
It is not clear whether the simp listic world of lines , point s , and circles
truly prov ides a basis for assertions about more comp l icated worlds. ln
i d 1 i t i o n , we were a little suprised that even with just lines , p oints , and
c i :c les , and drawing and e r a s i n g , t h e system had to deal with qut te complicat e d
situations. Th is may be partl y a reflecti on of our own naiveté , and p a r t l y a
strong indication thla t even the 3imp l e s t of A l systems should not he u n d e r —
e S t im a t e ( h .
It would be d i f f i c u l t f o r us to c l a i m t h a t o u r w o r k r e s u l t e d in a
p r a c t i c a l sy s t e m . From a h a r d w a r e p o i n t of v i e w , a m a j o r w e a k n e s s is t h i t
t h e t o u c h panel does not a l l o w v e r y f Inc r e s o h u t i o n , and c o n s e q u e n t l v , p r ec i s e
p l a c e m e n t of o b j e c t s m u s t be done u s i n g c o o r d i n a t es . The sv ~- ’tem also lacks
rii nv of the t h i n g s t h a t one would expec t in a ( ‘input C r Gr ;ip hi i c s system , i , ,w
. - ‘-—-— —- — —-
.- —— -‘,---—
-_ -- -- - - -•-- - ------ ..
.- _ _ j
~~~~~
_ _ _
_
_
t- s ---
~~~~ .a~ ~~~~~~
LrurJvr . r..
rz ~~7 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ — ~~~~~~~ .
36
More extensive modes of grap hical input would certainl y enhance the
communication in a graphics environment. Specificall y, one often would like
to simply sketch out an object rather than verball y describe it. Develop-
ment of a representation which would model the essential characteristics of
ske tches wo uld grea tly aid such an effort.
The physical management of the screen need s some improvement. Since the
user is permitted to draw anywhere on the screen , text and pictures often over-
lap. Providing a division in the screen between the drawing area and tile
area for text seem s to be the best solution . The text area could be at the
bottom of the screen showing onl y the last input and response.
The limited syntax of the pilot system is too prohibitive. A response
of “p leas e rephras e” doesn ’t prov ide the user with many clues as to wha t was
wrong with his input [Weischedel 977]. Certainly, an intelligent system
would at least be able to say that it had no knowled ge of squares i f asked to
draw one . Likewise , if the input contained all of the essential parts to
s p e c i f y d r a w i n g an o b j e c t , b u t t h e grammar d i d n ’ t p e r m i t the f o r m , t h e s y s t e m
s h o u l d o v e r r i d e t h e grammar .
We felt tha t as a tool for m anipulating kn owl ed ge MENTAL was at too low
a level. In a d d i t i o n to t h i s , the Brachm an—li ke formalism adopted for KB
uses fairly comp lex structures. This meant that a sim p l e insert or change
involved several o p e r a t i o n s . If we c o u l d s t a r t a g a i n , we would b u i l d a h i g h e r
level of language over MENTAL and use that for net manipulation [Bobrow 197611 .
We a r e aware that MENTAL has evolved , and t h a t newer v e r s i o n s may be s i g n i f i c a n t l y
e a s i e r to w o r k w i t h [ S h a p i r o 1976] .
Languag e g e n e r a t i o n , as i t e x i s t s in t h e p i l o t NLC sy s t e m , i s qu i t e
weak. Althoug h the foundation has been laid b r developing th!s module , l i t t l e
e fort has been given to t h i s . N e v e r t h e l e s s , some v e r y s imp i e mechanisms h a v e
p r o v e d q u i t e e f f e c t i v e in a l l o w i n g an adequate leve l of communication. Lan—
guage is generated under the guidance of an A TN generative network w hich
sii ~~~~.s t s a tmp
e l a t e and a l i s t of substitutions. Thus , o u t p u t is l i m i t e d in
f o r m to p r e s i or e d temp l a t e s . T h i s r e q u i r e s tha t a l l sy s t e m r e sp o n s e s he a n t i c i -
to some extent when the templates ar
pated
~ designed . Also , th e knowled ge base
_ __ _ . •-
~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~ ~~~~
..
,-- .--
- —.~
37
r emains inactive during generation , u nlike in la nguage anal ysis. GEN should
he able to use the QA inter face to obtain additional informat ion to use durin g
g eneration , and it should also h ave a c c e s s to t h e luxicon used by LA.
There ar e a number of interesting but outstanding problem s connected with
th e KB module. Thle fir s t has alre ady been alluded to slig ht lv: that of
developing a full action history and model of the screen. The ability to refer
to past actions and their ordering in tine would allow a whole new range of
questions to be asked . It would also hlel p with reference problem s , as in ,
t I
f o r exam p le , “Now connect the other ends ” , or “Draw another ” . The screen
model , if it can in fac t be built , would allow heuristic p lac i ng of ob j e c ts
and use of heuristics such as those for “near ” , or “beside ” without undue
-
calculation.
¶
t
-
/ ‘
\
-
.7\
_ _ _ _ - -~ -- . . . —~~~~ ---—______
38
Th is would involve some geometric calculation , and would leave parts of de-
fined parts of objects to be represented . This may be a representationa l
problem . A n o t h e r p r o b l e m o c c u r s if the user requests tha t the Inside tri-
ang le be erased :
7 .3 Th e F u t u r e
,- - - - -~~~~~~ - - -~~~~~ . - •- --
~~~ — - -- ~~~ - ~~~- - - - - - - •- - - ---- - - ~~~~~~~~~~~~ - -- ~~~~~
39
7.4 Summary
Thi s r epor t has de sc r ibed a successful exper imen tal program for manipu-
lating simp le p ic tures on a computer graphics terminal. Natural language and
touch input can be used to give commands to draw , erase and name , and to pose
questions about the objects on the screen and the capabilities of the system .
We are confident tha t w i t h a robust and p owerf ul lang uage anal y z e r ,
m ...~tures of language and pictures for both input and output , s t ored knowledge
about the pictures being manipulated , and an inference capabil it y t o assis t
the user , we l
wl
i have a prod u c t ive res earch and app lica tions tool. Natural
L ang uage Grap hic s provides a fer t ile area f o r signif icant research and larger ,
more general NLG systems should result from our work.
.-
—- -~~~~~~~~~
41
~~
. REFERENCES
Badler , N.I .(February, 1975) “Temporal Scene Anal ys is: Conceptual Descriptions
of Object Movements ” , TR—8O , Depar tm en t of Compu t er Sc ience , Universi ty
of Toronto.
Brach man , R.J. (Oc tober , 1976) “Wha t ’ s in a Concept: Structural Foundations
for Semantic Networks ” , BBN Report No. 3433.
Neva t ia , R. (1974) “Struc ’ured Descriptions of Comp lex Curved Objects for
R ec og n i tion and Vi sual Mem or y ” , Memo A IM—250 , Stanford Al Project.
Quam , L.H., & Diffie , W., “Stanford LISP 1.6 Manual ” , SAIL Oper ating Note 28.7.
Shap iro , S.C. (December , 1976) “An Introduction to SNePS ” , Technical Report Nc’ .
31 ( re v i sed), Indiana Univ e rs it y, Bloomington , Ind iana .
S immons , R.F., & Benne t—Novak , C. (1975) “Seman t ically An a lyz ing an Eng lish
Subs et for the Clown s M icrowor id” , American Journa l of Computationa l
LinguIstics , m icrofiche 18.
—~~- -~ - - -- ~~~- -
-- - - ---
~~~ ~~ —— -~ ------ - -- - ..
-- -- . —---— _ _ _
42
W oods , W.A. (1973) “An Exper ime ntal Pars ing Sys tem for Transition Network
Grammars ” , in: R. R u s t i n ( e d . ) Natural Language Processing, A lgor it hml cs
Press.
-4
43
4. APPENDICES
A. Module Sizes
B. S y n t a x of ATN G r a m m a r Sp e c i f i c a t i o n
C. Inpu t Vocabulary
D. Partial Lexicon
E. Sentence—Level Grammar
J
F. Touch Grammar
C. Noun Phrase Grammar
H. Prepo sitional Phrase Grammar
I. Question Grammar
J. Samp le Sen t e nces a nd t he ir Parse T im es
K. Descr iption of tile P r o t o t y p e
L. Lang uage Generation Temp la tes
M. Generat ive ATN Grammar
N. List of Ac t ions used in Semantic Network
0. KBNET — Initial State of KB Network
P. Tile CR Module Interface
Q. Syntax of Calls to the QA Section of KB Module
— f t M .rp .v :—1 rn t1 - rj - - - .
~~— — — — ~~~~~~~~~~~~~ ~~~ n r i i r ~ , ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ . _ •
~~~~~ ~~~~~~~~~~ ~~~~~~ ~~~
I1
44
Words (Decimal )
ERR 26
EXEC 158
GEN
Tem p la te s 80
ATN N e t w o r k 359
LISP Code 199
GI 23
CR 297
IN 233
INIT 112
KB
MENTAL Fu nct ions 1153
I n i t i a l Network 3500
LISP Code 7000
LA
ATN Ne t w ork 5668
Lexicon 1927
LISP Cod e 2017
Misc . F u n c t i o n s 517
-E
45
AT N 2 timn o r Sp e i t h ps
— -
~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ - -
~~ — ~~~~~~~~~~~~~~~ -~~~ - — ——— — - -
~ ~~~~~
—‘
~~~~~~ ~~~~~~ --
-
~ ~~~~~~~~~~~~~~~~~~~~~~~~
46
A FOUR OR
AN FROM PLEASE
AND HALT POINT
ANGLE HAS POINTS
ARE HAVE PUT
AT HERE RADIAN
BETWEEN HORIZONTAL RADIANS
CAL L HOW RADIUS
CALLED HUNDRED SCREEN
CAN INCH SEVEN
CENTIMETER INCHES SEVENTY
CENTIMETERS IS SIX
CENTIMETRE JOIN SIXTY
CENTIMETRES KIND LY SMALL
CIRCLE LARGE STOP
CIRCLES LENGTH STRAIGHT
CIRCUMFERENCE LINE TEN
CM LINES THAT
CONNECT LONG THE
CONSTRUCT MAKE THEN
COULD MANY THERE
DECREE NE THING
DEGREES MILLIMETER THINGS
DIAMETER MILLIMETERS THIRTY
DID MILLIMETRE THIS
DO MILLIMETRES THREE
DOES MM THROUGH
DRAW NAME TO
EIGHT NAMED TWENTY
EIGHTY NAMES TWO
ENDPOINT NINE UNIT
ENDPOINTS NINETY UNITS
FRASE NOW V ERTICAL
FIFTY OBJECT CIIAT
FIRST OBJECTS W }IJ :RE
FIVE OF WHICH
FORTY ONE WITH
Append Lx C: input V o c ab u l a r y
47
/ = -~
= ~— -:
~~ ~
:
-
\0 +~~ -
~~~~~~ ~~
-
~ r -~~~~ ~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I
_ _
ANGLE
~~ N~~~~~~~~ -~~~~ ~~~~~~~~~~~~~~~ - -- ~~~ I
_ _ _ _-
I (‘1~ -~I T )
~~~
-
N i— - - lIRI (
~ SIZE) - - ~~~~~~~~~~~~~~~~~~
LINE -1 _ _ _ _
-
~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
r
— —
III DECRFE C R11 NT
~ 1 IR I( \ ~I
:- — r
1~~~~~ - — - — ~~—-
I I ( _ ItI I
~ ~ —I 8 -
:
i:
- - -
i ~~i~~ï : ~~ :i
: 11
-
:
~~
T~~~~~ : TI_
~
~~~ E R~~ f -j } r
~~n~~~T n , N~~~~~~
- HFIJ
-
- T
r ———
( I’ c H l )
~~— 4—
—
~~~
— ~~~~~~~
—-
- —— — t
-
——— r
r -- _ _ _ _ _
t _ \I)\’
-~~~~~— —— - - -
FbI -:
— —
- — -
~~~ ~~~~ -
~~~~
_÷
( I:- i )
-
.I N I
~~~~~~~~~~~~~
II- ~~~~~~~~~
~
eH — - -
~
I 1
.
— — ——- —
-
el ( ‘I
- - — -
~ ~~ ‘ ~ ~~~~-
~ ~~~~~~~ ~~
III lb
I
--
Pb .> I N - N — - - - J_
- - I
— —
-
lb - I ~~~ (cIRCiT5~ - ~~
< -I
- ~~~
l J ) I
~~~~~~~~~~~~~~ _
‘~
- -
~ I
Ii i _ \ l l)( 1I
- — t0-I I) - - - -
—
I Ii CI I C5~ I
~~ I I ~~ I
T\l lI It\ I ) T (~~~~
~0 I~~~~ I I
~ 11 ( 1
4- - - . - - -
~~~~~~
N\ I I ) -
~
_ H I FJ _ ii —_-- :_
( -D I D
- - -
IlFi - 1. >I ) E F I — - -
4
-
~( l Zi FN DI ’oI N T ’ -
-
-
— ---- —
I
Apj ie-nd ix D: Part i a 1 [cxi c-oil
--
— --—-.----- ---- ----—- - ,—,-
-— ~~~~“
r~~~~~~~ ’”~~~ —-V r~ t c — ---
,
‘ ‘ -
,
~~ ~~~~~~~~~~~~~~
48
P U S H P U S H
T O U CH
JUMP _ _ _ _
-r ~~~~~ A NV
J
TO P H A L T
~~~~~~~~ M~~~~~~~~~~~~~ S ST P
‘
STOP ’
WRO PUSH
ME PP
R OB J E C T
V P C
VI
VP HEA
c c
I I
0 PB U U L D
TST $ 40
PUSH .) 1k
NAME Q
TOUCH
PUSH v Ip ~~~~
p p
VP C NP
PB UI LO
V P C c
_ _ _
— -----~~~~~ n -taL~~.
r~~~!~ ? ’
- -
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ‘~~~~~~~~~~~~~~~ —-—- - -- —- -- - - - . _ -- _;.;_ _
~ ~~~ ~~ —
49
TOUCH
V
; ~
t ~
ME M ((
TOUCHI ~~~~J TLEFT
-4
U)
-4
0
~
-o C
-I
( T ~~~~~)
TV
E T T
f 3 f
- _ _ _ _ _
- -~~~ - ---~~~~~~~-— ~~~ ~~~~~~~~~ ‘
50
A p p e n d i x C: Noun P h r a s e Gr am m ar
(
~~~~~~~~~~~~~ Th4 7.
NPDETI
—1,
->
1~
NPDET
I —I
NPORD
C,
-4 -~
z
rJP NUM
-n
-4
-n
0 CAT
2. 1
a N P ADJ
U) 3 Mi
I-
2
2 CAT
)
CN N PR ‘
CLASSF
0
z
E
NP NP
0
L
c
0
Q
P0 S
NP b E NP N PI TB T NI A
COMP
a
NP
-- --
---
-- ----- _ _ -_ -a -
—— --— —--—---__ - — ‘ — - —-- - ----- ---- --- —— -‘ — — c- - -=- —
— ~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
51
~~ ( P P. P )
C C
U) ID
I I
P P C 2
U C
0
I
‘
P P P P
P P P P1
0
V
I
CASE PREP NP
- — — - -- - — - — --
~~~ pppII
IIIIIIIIUIIUUIIUUIUIUUIUIIUIIUIWmrr .’‘ _ _
- - - ~~~~- -- .
--
~ :rt .. cfl&. . —.—_————---—--— — — --———
— —— --—-=-—.---- —
~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~
[ S Q4]
~~~~~~~~~~~~~~~~~~~
CSQID (~~~ Q2 çJ
@2 V01J)
*
cIi~3r
\
~
5, coP3 @THER ~~)
dl ~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
r’QPO P
~
I
( Q AS I ( R EO S )
~~~~
)PUSH NP
ç DCLPDI)
V
DC L ~~~~~~~~CL ~~~~~~~ DCL
~~~~~ ~ ~~
p p o To
_ _ _ - - - - -
~~~~~
--
~~~~~ - ---- -
-- --- - --—--
r , .e -w -,r,s
~ r r .rif l r - -- - - j- —~ . .aene. -
~~
~~
54
55
TEMPLATE
NUMBER TEMPLATE
TO 0
Tl (OK)
T2 (Thanks * for the session)
T3 ( N a t u r a l Language G r a p h i c s s y s t e m )
T4 (NLG — P i l ot Sys t em — summer , 1976)
T5 ( P l e a s e r e p h r a s e the s e n t e n c I
T6 (Object as s p e c i f i e d c a n n o t be t~~und )
T7 (*)
T8 (yes)
T9 (no)
Tl0 (I don ’ t know)
Tll (*)
Tl2 (* and *)
Tl3 (* * , F n d *)
T20 (at *)
T21 (* has no name)
T22 ( a * named *)
T23 (a *)
- - --
~~~~~~~~ --
—— -
—
~~~~~~~~~~~~~~~~~~~~~
— -- ---------—-----—
~
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56
M
S € MB IG ESH
~~~~~~~~~~~~~ ~~~~~~~ ~~~~~~~~~~~~~
F 0 P M S
ENA
~~ ~~~~
C-
C
TEMPLATE SUBS
~~~~~~~- -
-- - - - - ----~~ - - - -~~—~~~~~~~ -- - - - _— - - - - - - --
- “_ _-- - - - - -
.— -- c-,-- -r-nr ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !
~~~~?~~~~~~~ tr ~ - - -‘~~~~~~~~~~r -— - rar -
~~~ - ~~~~~~~~~~~~~~ ~~~~~~~ — ~- -- - - -
-
57
Appendix N: L i s t of A c t i o n s Used in S e m a n t i c N e t w o r k
~~~
58
Ap p e n d i x 0: KBNET — Initial S t a t e of KB N e t w o r k
((DEF INE
SUBSETOF SUBSETOF—
ELMNTOF ELMNTOF-
NAM E NAME-
TYPE TYPE—
ELMNTDESCR ELMNTDESCR—
DATTR DATTR-
ROLE ROLE—
RESTR RESTR —
ACTION ACTION-
ATTR ATTR-
INSTNCOF INSTNCOF—
VAL VAL—
CASE CASE—
NUMBER NUMBER—
OBJECT OBJECT—
ERASED ERASED—
STRUCTURAL STRUCTURAL-
1NSTANTI/eTES INSTANTIATES—
))
((BUILD TYPE SYSTEM NAM E SCREEN N ODEL))
((BuILD NAME OBJECTS TYPE SET)= XX)
((BUILD NAME LINES TYPE SET SUBSETO F *XX)= XY )
( (BU ILD NAME P R I M I T I V E S TYPE SET SUBSETOF *XX) = XZ )
((BUILD NAME DEFPOINTS TYPE SET SUBSETOF *XX ))
((BUILD NAME ANGLES TYPE SET SUBSET OF * X x ) )
((BUILD NAM E DISTANCES TYPE SET SUBSETOF * x x) )
((BUILD NAME CURVES TYPE SET SUBSETOF *XY))
((BUILD NAME ST—LINES TYPE SET SUBSETOF *XY SUBSETOF *xz))
((BUILD NAME POINTS TYPE SET SIJB SETOF *~~~~~ SUBSETOF (FIND NAME DEFPO INTS )
_ _ _ _ _ _
_________________ _
- -— —- — — -——-- — — - - --—.-~~~~~ — .- . — —-- ——- —--—
~~~~~~~~~
-
~
—
~
- .: ----------
~~
— —: — — ---- - -
iuI!IIII
~
1
( ( B U I L D NAME ANGLE
TYPE CONCEPT
ELMN TDESCR- (FIND NAME ANGLES)
STRUCTURA L ACT— 17
))
( ( B U I L D NAME POINT
TYPE CONCEPT
ELMN TDESCR — ( F I N D NAME POINTS)
aIRUCTURAL ACT— l 3
DATTR (BUILD ROLE LOCATOR
TYPE DESCRIPTION
CASE %POSIT
RESTR (FIND NAME DEFPOINTS)
))
((BUILD NAME ST—LINE
TYPE CONCEPT
ELMNTDESCR- (FIND NAME ST-LINES)
STRUCTURAL ACT—2
DATTR (BUILD ROLE ENDPOINT
TYPE DESCRIPTION
RESTR (FIND NAME DEFPOINTS)
))
—U - ~~~~
-
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~
—
~~~~~~~~~~~~~
----
~~~~~~ - -
~~~~ ~~~ ~~~~~~~~
‘
-- —- — ----—--- — -- -,---- ----
~~
—
-
- -- - ------- -- -
60
))
Note: The inverses of the links are indic a ted by the addition o a dash.
~
Note: The above descri ption is in t h e f o r m read by t h e MENTAL i n t e r p r e t e r .
- - -------
- -- --
~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ~~~-= --
-- ~~~~ — ~~~ ~~~~~~~~ --
61
62
A p p e n d ix Q
The Sy n t a x of C a l l s to t h e QA S e c t i o n of t h e KB Module
~~~
7--~ii
~~~~~~~~~~ ~~~ . - N i VT
// ~ ~~~ ~~~
2\T ~~~1~~~’~-7
~~~~
~~~
-
~~~~~~~~~~~~~~~~~~~~~~~ ~~~~
— —— ~~~~~~ r C O F
-
4. T iT L E - ,ot I S u h t , t i ~~) -
Ct E t>~O~R~ T S CR130 C C ,
_ _ _ _ _ _ _ _ _ _ _ _ ~~~~~~~~~~~ C H -; -T
~~~~~~~~~~~~~~~~~~ /
1- AU C — o -~
- \/.\ - 7 ~~ 23~~
- i d C / ~~~ n~ ,
I
f~~~
I
;
~~
~~ ‘s j- ‘
-
s. p -H tT~ T;T ~ H - - s u NA M E
~~~~~~~~~~
AND ADD RE SS
~~ ¶0. PROGRAM P5 EI TA > (
~~~- ‘t at e~ H.
LE N .
~
~ L ~~
n i v~~~~
er sitv AREA A n o~~
s ,c LOI T
~~~~ ~~
N . 0 5B E N
~-
Computer & I nfor mat ion Science Re >ca r ch Center 6 11C2F -
1/
-
C o l u m b u s , ~~l 1 L32 10 --
~
-
-. ~~~~~~ /
~~~~~~~~
-
23 OLJ A 2
I C-N ’ S’ O L LI NG O F F I C E N° M E A N D A D D R E S S
~~ ~~!
~~~~~~~~
D AT E
~~~~~
-
¶
e ii
- - - -
[3~~ i i i n i ~ tt i)i - ~~~~~~~~~~~~~~~~~~~~
— -- •-
_ _‘ - -
~ ,—
~~~~ \
U N C L \ S S I F 1 LI
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SCHEDULE
5 U I C C u I R I IT I O N S T A T E M E N T ‘o f t h i s Re po rt )
A p p r o v e d f o r p u b l i c r c l c ) 1 s e ; I l i s t r i b u t i o n u n l i n .j t e d .
- -
~~~4 T
2) -~~- - 0- - -
~~~
I S r i -p o r t dt- ~;c r i h - s in o;- .~ ”- I I - :- - tit - ii svi-i t en I or dr aw l si op Ic
l et ti r e-s 011 ,i i i l ilt I - - r cr ;l ph i c ; mu u s I ni~ n i tin II I - iui ~ . t t i I C I
~~
flhI
SVS Ciii Is ,i .ihle Of ‘ hi I ;c iii I 0~~~C po in t ~ • 0:1 I c I (ii Ofl I - ‘01 10.1 id r cii hi -
i-; ,-r , i-s wi I i~ i On- ;w inc quest b u s ih - ’ o1t -, .Ite:-1 &.hI I i % I it t i N .101 ob ~~ -e -
~
DD 1473
“ ~
r ii , IN O~ ¶
~~~~~~~~~ - O ’ S O L E T F
~~~~~~~~~~~~~
I • —
~~~~~~~
~ I~~ 1)
I 7:-
~~~~~ ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~
— - - _ i11 j
—I- - ~~~~~~~~~~~~~~~~~~ .3 ~~ ~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ —
i .
S E C U R I T Y C L A S S I F I C A T I O N OF T H I S P A O E . Cf7 eo f~ . ’ . di
2~~. ,- \ B S T L A C I —
I :
~~ E .-‘,S~— I I- I l- i)
SCCU RITY CLA$$IFICATIO Or .C P A c ~E ’W h e n Data EnI.r.dO
- - _______