UC (UNIX Consultant) is an intelligent, natural-language interface that all
ows naive users to learn about the UNIX operating system. uc was undertaken
because the task was thought to be both a fertile domain for Artificial In
telligence research and a useful application of AI work in planning, reason
ing, natural language processing, and knowledge representation. The current
implementation of ve comprises the following components: A language analyz
er, called ALANA, that produces a representation of the content contained i
n an utterance; an inference component called a concretion mechanism that f
urther refines this content; a goal analyzer, PAGAN, that hypothesizes the
plans and goals under which the user is operating; an agent, called UCEgo,
that decides on uc's goats and proposes plans for them; a domain planner, c
alled KIP, that computes a plan to address the user's request; an expressio
n mechanism, UCExpress, that determines the content to be communicated to t
he user, and a language production mechanism, UCGen, that expresses uc's re
sponse in English. uc also contains a component called KNOME that builds a
model of the user's knowledge state with respect to UNIX. Another mechanism
, UCTeacher, allows a user to add knowledge of both English vocabulary and
facts about UNIX to vc's knowledge base. This is done by interacting with t
he user in natural language. All these aspects of uc make use of knowledge
represented in a knowledge representation system called KODIAK. KODIAK is a
relation-oriented system that is intended to have wide representational ra
nge and a clear semantics, while maintaining a cognitive appeal. All of uc'
s knowledge, ranging from its most general concepts to the content of a par
ticular utterance, is represented in KODIAK.