The value of model-based approaches to support software development is well recognized. Modeling methodologies such as process modeling [4], behavioral analysis [19], and object-oriented analysis [11] among others, have been proposed to support conventional software development. While these approaches have a role to play in the development of knowledge systems, they do not directly address the knowledge-engineering bottleneck--the difficulty of incorporating large amounts of task-specific and search control knowledge. Furthermore, the development of knowledge systems is an ew)lutionary process. Being able to conceptualize and program using higherlevel models can significantly improve productivity. To accommodate these requirements, knowledge system developq n the sequel, we use the term mathematical models to refer to mathematical programming models. 2MFS currently represents only a subset of the kinds of knowledge listed. Its knowledge base is predominantly made up of detailed model construction knowledge related to the formulation of linear and integer programming models. ers have adopted models that describe a knowledge system at varying levels of abstraction. These range from the knowledge-level model (KLM), which provides an implementation-independent description of the system in terms of its goals, actions, and the knowledge it uses to select among its actions to the symbol-level model, in which implementation-specific commitments have been made [13]. The Soar architecture that we have employed to implement MFS provides three models that span this spectrum: the KLM, the problemspace-level model (PSM), and the symbol-level model. We will describe the KLM and the PSM of MFS. Using Soar to Develop Knowledge Systems Soar is a theory of how intelligent behavior can arise from a small set of cognitively plausible mechanisms. We do not cover the arguments for Soar's cognitive plausibility here (the reader is referred to [14]) so that we can concentrate on behavior and the mechanisms. If one describes an agent with the ability to affect its environment as having goals, knowledge, and a capability for taking action, then one is describing it at the knowledge level. This level abstracts from the details of the internal processing (i.e., the inference mechanism or how the knowledge is represented), to yield a specification of how the agent would act if it could utilize all its available knowledge to perform tasks. Beause they have limited resources, physically realizable agents such as humans and computers, do not function with such perfect intelligence in solving complex tasks. Thus knowledgelevel descriptions are usually approximations. Nevertheless, this type of approximation serves a useful purpose for designing systems, by specifying the ideal behavior to be implemented by structure described at lower levels. At the knowledge level, one specifies the environment in which the agent operates, the goals of the agent, the knowledge the agent possesses, the perceptions (input) to the agent, and the possible actions (output) of the agent. Two key principles of the knowledge level are then added to such a specification. The principle of rationality dictates that the agent will ! 3 8 September 1992/Vo1.35, No.9/COMMUNICATIONS OF THE ACM
[1]
Matthias Jarke,et al.
Domain-Specific Dss Tools for Knowledge-Based Model Building
,
1985,
Decis. Support Syst..
[2]
Ramayya Krishnan.
PDM: a knowledge-based tool for model construction
,
1991,
Decis. Support Syst..
[3]
Kenneth S. Rubin.
Object behavior analysis
,
1992,
CACM.
[4]
David E. Monarchi,et al.
A research typology for object-oriented analysis and design
,
1992,
CACM.
[5]
Srinivasan Raghunathan.
An artificial intelligence approach to the formulation and maintenance of models
,
1990
.
[6]
Pai-chun MA,et al.
Representing knowledge about linear programming formulation
,
1989
.
[7]
Ramayya Krishnan,et al.
MODFORM: A Knowledge-Based Tool to Support the Modeling Process
,
1993,
Inf. Syst. Res..
[8]
Frederic H. Murphy,et al.
An Intelligent System for Formulating Linear Programs
,
1986,
Decis. Support Syst..
[9]
Richard Reviewer-Granger.
Unified Theories of Cognition
,
1991,
Journal of Cognitive Neuroscience.
[10]
H. Simon,et al.
Perception in chess
,
1973
.
[11]
Allen Newell,et al.
Human Problem Solving.
,
1973
.
[12]
I PuhrGretchen,et al.
A research typology for object-oriented analysis and design
,
1992
.
[13]
Ramayya Krishnan.
A logic modeling language for automated model construction
,
1990,
Decis. Support Syst..
[14]
Allen Newell,et al.
SOAR: An Architecture for General Intelligence
,
1987,
Artif. Intell..
[15]
Todd R. Johnson,et al.
Task-structure analysis for knowledge modeling
,
1992,
CACM.
[16]
Allen Newell,et al.
Formulating the problem space computational model
,
1993
.
[17]
Bill Curtis,et al.
Process modeling
,
1992,
CACM.