Copy Link
Add to Bookmark
Report
AIList Digest Volume 6 Issue 056
AIList Digest Friday, 25 Mar 1988 Volume 6 : Issue 56
Today's Topics:
Query - Software Wanted to Build a Mind,
Programming - AI and Software Engineering References
----------------------------------------------------------------------
Date: 23-MAR-1988 23:31:42 GMT
From: POPX@VAX.OXFORD.AC.UK
Subject: Software Wanted to Build a Mind
From: Jocelyn Paine,
Experimental Psychology Department,
South Parks Road,
Oxford.
Janet Address: POPX @ OX.VAX
SOFTWARE WANTED
-
TO BUILD A MIND
I'm trying to teach Oxford undergraduates an information-processing
model of psychology, by giving them a computerised organism (named P1O,
after the course) which has a "mind" which they can watch and experiment
with. To do this, I've depicted how a mind might be built out of units,
each performing a simpler task than the original mind (my depiction is
loosely based on Dennett's "Towards a Cognitive Model of
Consciousness"). Each of my units does some well-defined task: for
example, parsing, edge-detection, conversion of a semantic
representation to text.
Now I have to implement each unit, and hook them together. The units are
not black boxes, but black boxes with windows: i.e. I intend that my
students can inspect and modify some of the representations in each box.
The units will be coded in Prolog or Pop-11, and run on VAX Poplog.
Taking the parser as an example: if it is built to use a Prolog definite
clause grammar, then my students should be able to: print the grammar;
watch the parser generate parse trees, and use the editor to walk round
them; change the grammar and see how this affects the response to
sentences.
P1O will live in a simulated world which it perceives by seeing objects
as sharp-edged images on a retina. This retina is a rectangular grid of
perhaps 2000 pixels, each spot sensing either nothing, or a spot of some
particular colour. One of the images will be that of P1O's manipulator,
which can detect whether it is touching an object. P1O can also perceive
loud noises, which direct its attention toward some non-localised region
of space. Finally, P1O can hear sentences (stored as a list of atoms in
its "auditory buffer"), and can treat them either as commands to be
obeyed, statements to be believed (if it trusts the speaker), or as
questions to be answered.
P1O's perceptual interpreter takes the images on its retina, and
converts them via edge-detection and boundary-detection into hypotheses
about the locations of types of objects. The interpreter then checks
these hypotheses for consistency with P1O's belief memory, determining
the while which individuals of a type it's seeing. Hypotheses consistent
with past beliefs are then put into the belief memory, as Prolog
propositions.
The sentences which P1O hears are also converted into propositions, plus
a mood (question, command, or statement). This is done by generating a
parse tree, and then a propositional representation of the sentence's
meaning. Statements are checked for consistency with the belief memory
before being entered into it; questions cause the belief memory to be
searched; commands invoke P1O's planner, telling it for example to plan
a sequence of actions with which it can pick up the brown chocolate
button which it sees.
These action sequences then go to P1O's motor control unit, which moves
the manipulator. This involves positional feedback - P1O moves a small
step at a time, and has to correct after each step.
P1O's simulated environment is responsible for tracking the manipulator,
and updating the retinal image accordingly. Students can also update the
image for themselves.
At the top level, P1O has some goals, which keep it active even in the
absence of commands from the student. The most important of these is to
search for food. The type of food sought depends on P1O's current
feeling of hunger, which depends in turn on what it has recently eaten.
The goals are processed by the top-level control module, which calls the
other modules as appropriate.
Above, I've described P1O as if I've already built it. I haven't, yet,
and I'm seeking Prolog or Pop-11 software to help. I'd also accept
software in other languages which can be translated easily. I'll enter
any software I receive into my Prolog library (see AILIST V5.279, 3rd
Dec 1987; IKBS Bulletin 87-32, 18 Dec 1987; the Winter 1987 AISB News)
for use by others.
I think so far that I need these most:
(1) LANGUAGE ANALYSIS:
(1.1) A grammar, and its parser, for some subset of English, in a
notation similar to DCG's (though it need not be _implemented_ as
DCG's). Preferably with parse trees as output, represented as Prolog
terms. The notation certainly doesn't have to be Prolog, though it may
be translatable thereto: it should be comprehensible to linguists who've
studied formal grammar.
(1.2) As above, but for the translation from parse-trees into some kind
of meaning (preferably propositions, but possibly conceptual graphs,
Schankian CD, etc) represented as Prolog terms. I'm really not sure what
the clearest notation would be for beginners.
(1.3) For teaching reasons, I'd prefer my analyser to be 2-stage; parse,
and then convert the trees to some meaning. However, in case I can't do
this: one grammar and analyser which does both stages in one go. Perhaps
a chart parser using functional unification grammars?
(1.4) A morphological analyser, for splitting words into root, suffixes,
etc.
(2) VISION
(2.1) An edge-detector. This should take a 2-D character array as input,
and return a list of edges with their orientation. I'm content to limit
it to vertical and horizontal edges. It need not deal with fuzzy data,
since the images will be drawn by students, and not taken from the real
world. This can be in any algorithmic language: speed is fairly
important, and I can call most other languages from Poplog.
(2.2) A boundary-detector. This should take either the character array,
or the list of edges, and return a list of closed polygons. Again, it
can be in any algorithmic language.
(3) SPEAKING
(3.1) A speech planner, which takes some meaning representation, and
converts into a list of words. This need not use the same grammar and
other knowledge as the language analyser (though it would be nicer if it
did).
(4) WINDOWING
(4.1) Any software for allowing the Poplog editor VED to display more
than two windows on the same screen, and for making VED highlight text.
Alternatively, Pop-11 routines which control cursor-addressable
terminals directly, bypassing VED, but still being able to do immediate
input of characters.
(5) OTHER
(5.1) If I model P1O's mind as co-operating experts, perhaps a
blackboard shell would be useful. Does anyone have a Prolog one?
I'd also like to hear from anyone who has other software they think
useful, or who has done this kind of thing already - surely I can't be
the first to try teaching in this way? In particular, does anyone have
ideas on how to manage the environment efficiently, and what form the
knowledge in top-level control should take. I'll acknowledge any help in
the course documentation.
Jocelyn Paine
INFORMATION ON BULLETIN BOARDS WANTED
I already belong to AILIST: from time to time I see in it mention of
other boards, usually given in the form COMP.SOURCES or SCI.MED. Where
can I obtain a list of these boards, and how to subscribe?
Jocelyn Paine
[To reply, I think the following should work:
POPX%VAX.OXFORD.AC.UK%AC.UK%UKACRL.BITNET@CUNYVM.CUNY.EDU .
As for other bboards, different ones exist on different
networks. For a list of Arpanet bboards, write to
Zellich@SRI-NIC.ARPA. For Bitnet bboards, I think a message
containing the command HELP will get you started; just send
it to LISTSERV@FINHUTC (or @NDSUVM1). I don't know how one
gets the list of Usenet newsgroups. -- KIL]
------------------------------
Date: Wed, 23 Mar 88 19:49 EDT
From: LEWIS%cs.umass.edu@RELAY.CS.NET
Subject: AI & SE references
Since there were a large number of people who asked to see the responses to
my query on software engineering and AI, a list of them follows. I have
tried to edit out extraneous material and long discussions and abstracts.
Many thanks to all who replied!
I now have a new request. Does anyone out there have a design document for
an AI system they/their group built, that they would be willing to send me a
copy of? I'm interested in looking at how people approach planning for
change in AI research software. Let me say in advance: Yes, it's OK that you
didn't follow it/didn't keep it up to date/didn't finish it, or any of the
other things that happen in real life.
Thanks,
David D. Lewis CSNET: lewis@cs.umass.edu
COINS Dept. BITNET: lewis@umass
University of Massachusetts, Amherst
Amherst, MA 01003
*************************************************************************
FROM Wm. Randolph Franklin
Preferred net address: Franklin@csv..rpi.edu
Alternate net: wrf@RPITSMTS.BITNET
Papermail: ECSE Dept, Rensselaer Polytechnic Institute,
Troy NY, USA, 12180
Telephone: (518) 276-6077
Telex: 6716050 RPI TROU Fax: (518) 276-6003
W.R. Franklin et al, Debugging and Tracing Expert Systems, Twenty-First
Annual Hawaii International Conference on System Sciences, Vol III, ed.
B.R. Konsynski, Kona, Hawaii, USA, January 1988, pp. 159-167.
*************************************************************************
From: Shashi Shekhar <shekhar@ERNIE.BERKELEY.EDU>
May be a survey paper titled "Development Support of AI Programs"
in IEEE Computer magazine, Jan.1987 issue, would be useful to you. This
paper includes lots of relevant references to environments for AI etc.
More recent paper include one by P.Hart & Duda on SYNTEL, in IEEE Expert
magazine Fall1987 issue. This has one section on software eng. issues.
You may also find the special issue of Trans. on Software Engg., on AI and
SOftware Eng. (Nov.1986 ??) somewhat useful.
*************************************************************************
From: Cathleen Wharton <cwharton@boulder.colorado.EDU>
Readings in Artificial Intelligence and Software Engineering
Edited by Rich, C. and Waters, R.C.
Softcover
602 pages
Published by Morgan Kaufmann Publishers in August 1986
Average Price $20-25
*************************************************************************
From: IN%"france@vtopus.cs.vt.EDU" "Robert France" 23-FEB-1988 05:22
There were several very good papers in *IEEE Transactions on Software
Engineering* v. SE-11, #11 (Nov. 1985). For my favorite solution to the
probelm of coupling and cohesion within AI systems, you can do no better
than to check out Penny Nii's articles on blackboard systems in *AI
Magazine* v. 7 #1-2 (1986).
*************************************************************************
FROM:
Nancy Sliwa
NASA Langley
nesliwa%nasamail@ames.arpa
NASA has been researching this issue. Contact Chris Culbert at NASA Johnson
(cculbert%nasamail@ames.arpa), or Sally Johnson at NASA Langley (804/865-3681).
NASA Ames is also active here, but they will liekly see your posting and reply
in person.
*************************************************************************
From: Jorge Gautier <gautier@CS.WISC.EDU>
I have seen an article in the Fall Joint Conference (1977? I know it was
in Dallas, Texas) titled "Software Engineering for Rule-Based Systems."
The authors were at a naval center (NOSC, NUSC or something like that.)
The basic idea was to group rules according to the classes that they
affect in working memory, so it became easier to keep track of classes
and the state of WM whenever rules were added, deleted or modified.
*************************************************************************
From: munnari!basser.cs.su.oz.au!ray@uunet.uu.NET
One thing that comes to mind is the work by Tom Addis. He has extended
relational database theory and uses it as a knowledge representation
technique. Have a look at his book ...
Addis, T. R. "Designing Knowledge-Based Systems", Kogan Page, London, 1985.
*************************************************************************
From:
Mark A. Whiting
(Arpa c/o: erickson@lbl-csam)
Battelle Northwest Laboratories
PO Box 999
Richland, WA 99352
A paper I liked: Partridge, D. 1986. "Engineering Artificial Intelligence
Software" in _Artificial Intelligence Review_, Vol. 1, No. 1, 1986.
Partridge authored _Artificial Intelligence: Applications in the Future of
Software Engineering_, Horwood, 1986.
*************************************************************************
FROM
H A N S - L U D W I G H A U S E N
GMD Schloss Birlinghoven Telefax +49-2241-14-2889
D-5205 Sankt Augustin 1 Teletex 2627-224135=GMD VV
West GERMANY Telex 8 89 469 gmd d
E-mail hausen@dbngmd21.BITNET
Telephone +49-2241-14-2440 or 2426
P.S.:GMD (Gesellschaft fuer Mathematik und Datenverarbeitung)
German National Research Institute of Computer Science
German Federal Ministry of Research and Technology (BMFT)
Dear colleague, we have also employed AI techniques, rule
mechanisms in particualar, to model method and tool usage. Below,
you will find an abstract of our most recent paper.
KNOWLEDGE BASED HANDLING OF SOFTWARE VALIDATION METHODS AND TOOLS }
H.L.Hausen - H.J.Neusser
GMD, Schloss Birlinghoven, 5205 Sankt Augustin 1
1988-01-27
*************************************************************************
From: jacob@nrl-css.arpa (Rob Jacob)
Saw your message about software engineering techniques for expert
systems on the AIList. This may not be quite what you had in mind,
but, here at the Naval Research Laboratory Judy Froscher and I have
been working on developing a software engineering method for expert
systems. We are interested in how rule-based systems can be built so
that they will be easier to change. Our basic solution is to divide
the set of rules up into pieces and limit the connectivity of the
pieces.
R.J.K. Jacob and J.N. Froscher, "Facilitating Change in Rule-based
Systems," pp. 251-286 in Expert Systems: The User Interface, ed. J.A.
Hendler, Ablex Publishing Co., Norwood, N.J. (1988).
R.J.K. Jacob and J.N. Froscher, "Software Engineering for Rule-based
Systems," Proc. Fall Joint Computer Conference pp. 185-189, Dallas,
Tex. (1986).
J.N. Froscher and R.J.K. Jacob, "Designing Expert Systems for Ease of
Change," Proc. IEEE Symposium on Expert Systems in Government pp.
246-251, Washington, D.C. (1985).
R.J.K. Jacob and J.N. Froscher, "Developing a Software Engineering
Methodology for Rule-based Systems," Proc. 1985 Conference on
Intelligent Systems and Machines pp. 179-183, Oakland University
(1985).
R.J.K. Jacob and J.N. Froscher, "Developing a Software Engineering
Methodology for Knowledge-based Systems," NRL Report 9019, Naval
Research Laboratory, Washington, D.C. (1987).
*******************************************************************
From: lewis@cs.umass.edu (a couple others I found)
Gates, K.H.; Adelman, L.; Lemmer, J. F. "Management of AI System Software
Development for Military Decision Aids" in Proc. IEEE Symposium on Expert
Systems in Government, pp. 36-42, Washington, DC (1985).
Silverman, Barry G. "Reflections on Some Next Generation of AI Tools"
Proc. 2nd IEEE Symposium on Expert Systems in Government, pp. 426-427,
McLean, Virginia (1986).
*******************************************************************
...and from Jack Wileden, our seminar's original reading list:
Balzer,R.
{\sl A 15 Year Perspective on Automatic Programming},
{\bf IEEE Transactions on Software Engineering},
Vol.SE--11, No.11, Nov.\ 1985, pp.1257--1268.
Barstow,~D.,
{\sl Domain Specific Automatic Programming},
{\bf IEEE Transactions on Software Engineering},
Vol.SE--11, No.11, Nov.\ 1985, pp.1321--1336.
Bobrow,~D.,
{\sl If Prolog is the Answer, What is the Question? or
What it Takes to Support AI Programming Paradigms},
{\bf IEEE Transactions on Software Engineering},
Vol.SE--11, No.11, Nov.\ 1985, pp.1401--1408.
Bobrow,~D. and Stefik,~M.,
{\sl Perspectives on {AI} Programming},
{\bf Science}, 231, 1986, pp.951--957.
Doyle,~J.,
{\sl Expert Systems and the ``Myth'' of Symbolic Reasoning},
{\bf IEEE Transactions on Software Engineering},
Vol.SE--11, No.11, Nov.\ 1985, pp.1386--1390.
Erman,~L. and Lesser,~V.,
{\sl System Engineering Techniques for Artificial Intelligence Systems},
in {\bf Computer Vision Systems}, Riseman and Hanson, eds., Academic Press,
1978, pp.37--45.
Green,~C., Luckham,~D., Balzer,~R., Cheatham,~T. and Rich,~C.,
{\sl Report on a Knowledge-Based Software Assistant},
Kestrel Institute Technical Report KES.U.83.2,
Palo Alto, Ca., 1983.
Houghton,~R. and Wallace,~D,
{\sl Characteristics and Functions of Software Engineering Environments:
An Overview},
{\bf Software Engineering Notes}, Jan.\ 1987, pp.64-84.
Huff,~K. and Lesser,~V.,
{\sl A Plan-Based Intelligent Assistant that Supports the Process of
Programming}, COINS Technical Report 87-09, Sept.\ 1987.
Kaiser,~G. and Feiler,~P.,
{\sl An Architecture for Intelligent Assistance in Software Development},
{\bf Proceedings Ninth International Conference on Software Engineering},
Monterey, Ca., 1987, pp.180--188,
Narain,~S., McArthur,~D. and Klahr,~P.,
{\sl Large-Scale System Development in Several {L}isp Environments},
{\bf Proceedings of the Eighth International Joint Conference on
Artificial Intelligence}, Karlsruhe, Federal Republic of Germany,
1983, pp.859--861.
Osterweil,~L.,
{\sl Software Processes are Software Too},
{\bf Proceedings Ninth International Conference on Software Engineering},
Monterey, Ca., 1987, pp.2--13.
Partridge,~D. and Wilks,~Y.,
{\sl Does AI have a methodology different from Software Engineering?},
New Mexico State University Technical Report MCCS-85-53,
Las Cruces NM, 1985.
Ramamoorthy,~C., Shekhar,~S. and Garg,~V.,
{\sl Software Development Support for {AI} Systems},
{\bf IEEE Computer}, Jan.\ 1987, pp.30--40.
Sheil,~B.,
{\sl Power Tools for Programmers},
{\bf Datamation}, Feb.\ 1983, pp.131--144.
Simon,~H.,
{\sl Whether Software Engineering Needs to be Artificially Intelligent},
{\bf IEEE Transactions on
Software Engineering}, Vol.SE--12, No.7, July 1986, pp.726--732.
Smith,~D., Kotik,~G. and Westfold,~S.
{\sl Research on Knowledge-Based Software Environments at Kestrel
Institute},
{\bf IEEE Transactions on Software Engineering},
Vol.SE--11, No.11, Nov.\ 1985, pp.1278--1295.
Subrahmanyam,~P.,
{\sl The ``Software Engineering'' of Expert Systems:
Is Prolog Appropriate?},
{\bf IEEE Transactions on Software Engineering},
Vol.SE--11, No.11, Nov.\ 1985, pp.1391--1400.
Taylor,~R., Baker,~D., Belz,~F., Boehm,~B., Clarke,~L., Fisher,~D.,
Osterweil,~L., Selby,~R., Wileden,~J., Wolf,~A. and Young,~M.,
{\sl Next Generation Software Environments: Principles, Problems
and Research Directions},
COINS Technical Report 87-63, July 1987.
Teitelman,~W., {\sl A Tour Through Cedar}, {\bf IEEE Transactions on
Software Engineering}, Vol.SE--11, No.3, March 1985, pp.285--302.
Teitelman,~W. and Masinter,~L.,
{\sl The Interlisp Programming Environment},
{\bf IEEE Computer}, Vol. 14, No.4, April 1981, pp.25--34.
Walker,~J., Moon,~D., Weinreb,~D. and McMahon,~M.,
{\sl The Symbolics Genera Programming Environment},
{\bf IEEE Software}, Nov.\ 1987, pp.36--45.
Waters, R.,
{\sl The Programmer's Apprentice: A Session with KBEmacs},
{\bf IEEE Transactions on Software Engineering},
Vol.SE--11, No.11, Nov.\ 1985, pp.1296--1320.
Waters,~R.,
{\sl KBEmacs: Where's the AI?},
{\bf The AI Magazine}, Vol. VII, No.1, Spring 1986, pp.47--56.
Wile,~D. and Allard,~D.,
{\sl Worlds: an Organizing Structure for Objec-Bases},
{\bf Proceedings of the Second SIGSOFT/SIGPLAN Symposium on
Practical Development Environments},
Dec.\ 1986. (published as SIGPLAN Notices, Jan. 1987).
********************************************************************
------------------------------
End of AIList Digest
********************