=Paper=
{{Paper
|id=Vol-18/paper-8
|storemode=property
|title=Representing Capabilities of Problem Solving Methods
|pdfUrl=https://ceur-ws.org/Vol-18/8-swartout.pdf
|volume=Vol-18
}}
==Representing Capabilities of Problem Solving Methods==
Representing Capabilities of
Problem Solving Methods
Bill Swartout Yolanda Gil Andre Valente
USC USC USC
Information Sciences Institute Information Sciences Institute Information Sciences Institute
4676 Admiralty Way 4676 Admiralty Way 4676 Admiralty Way
Marina del Rey, CA 90292 Marina del Rey, CA 90292 Marina del Rey, CA 90292
swartout@isi.edu gil@isi.edu valente@isi.edu
MacDermott 1988; Breuker and Van de Velde 1994].
Abstract Rather than building a system from scratch, as is
current practice, system builders would assemble a
In order to develop and use shared libraries of knowledge based system from reusable components
problem-solving methods, it is of paramount drawn from shared ontologies and libraries of problem
importance to provide adequate descriptions of solving methods. By reusing components, this
their capabilities and competence. Methods approach should allow knowledge-based systems to be
must be indexed and organized based on their constructed more rapidly. Further, the resulting
capabilities so that they can be retrieved when systems should be more error free since they will be
their capability is adequate for the task at constructed from existing (and presumably debugged)
hand. This paper describes the approach taken resources. Finally, because the emphasis in system
in EXPECT for representing method construction will be on assembling existing
capabilities and argues that it has important components, rather than building things from scratch,
features that should be used for describing it should be possible for less experienced individuals to
methods in shared libraries. EXPECT’s build knowledge based systems successfully.
capability representation is tightly coupled
with the domain ontologies in the knowledge But how should these libraries of problem solving
base, can express task-related parameters methods be organized? How can the capabilities of
explicitly, and is based on case grammars. problem solving methods be represented? This
This representation allows the system to approach to system construction will only work if
reason about the capability descriptions people (and machines) can easily find the methods that
through class subsumption and reformulation. are capable of addressing the problem at hand. Other
The benefits of this approach include self- approaches, such as CommonKADS, use a functional
organizing method libraries, reuse, and specification of method capabilities. However, the
support for explanation. The representation has matching of these capabilities with problem goals in
already been used extensively within e.g. the CommonKADS Library [Valente et.al., 1998]
EXPECT to express a wide range of method are meant to be done by a human that analyzes a semi-
capabilities, ranging from abstract to specific, formal method description. The library is organized
small to large, and domain-dependent to “by design”, for example using typologies of methods
general-purpose methods. The paper also and explicit collections of related decompositions.
discusses some of the additional features that
we anticipate will be useful to structure shared In contrast, our approach aims to build a library of
method libraries. problem-solving methods that is self-organizing, in the
sense that we can automatically find the right place for
a new method in the library and have tools that can use
1 Introduction the library to build a problem solver for a specific
Libraries of problem solving methods could facilitate problem. We believe such a library will enhance
the construction and adaptation of knowledge based reusability. Also, we want to have capabilities that are
systems [Chandrasekaran 1986; Eriksson et al. 1995; amenable to produce explanations – both of the
methods and the systems constructed using these
methods. To achieve these goals, we need a rich and
The copyright of this paper belongs to the papers authors. expressive specification of method capabilities that
Permission to copy without fee all or part of this material is granted allows the system to reason about the capability
provided that the copies are not made or distributed for direct
commercial advantage. descriptions through class subsumption and
Proceedings of the IJCAI-99 workshop on Ontologies reformulation.
and Problem-Solving Methods (KRR5) Stockholm,
Sweden, August 2, 1999 In this paper we describe the approach we have been
(V.R. Benjamins, B. Chandrasekaran, A. Gomez-Perez, N. using to represent problem solving method capabilities
Guarino, M. Uschold, eds.) in EXPECT, our knowledge based system framework
http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-18/
Swartout, Gil, Valente 8-1
Expectation-based Tools for Knowledge Acquisition
KB expectation agenda
modifiers builder manager
Knowledge Bases
Ontology
and Domain-
Factual K specific
KBS KBS Execution
Compiler Trace
Problem
Solving
User
Knowledge Interaction
(strategies) Interdependency LISP Manager/
Model code Interpreter Explainer
(Design History)
Automatic
Method
Instantiator
Figure 1: EXPECT Architecture
that supports knowledge acquisition [Swartout and Gil the details of the implementation. Figure 1 shows the
1995; Gil 1994; Gil and Melz 1996]. We begin with a architecture of EXPECT.
brief overview of the EXPECT framework, followed by
a discussion of a set of desiderata that motivated the EXPECT uses Loom [MacGregor 1991] to represent
design of our representation for method capabilities. domain facts and the domain ontology. Loom is a
We then discuss the representation we use in detail. description logic-based representation. Like other
description logics, Loom is based on a semantic
network approach to knowledge representation.
2 The EXPECT Framework Concepts in Loom are descriptions of objects (which
A major goal of the EXPECT framework is to allow may or may not actually exist) while Loom instances
domain experts to change and add knowledge to a represent objects that do exist. Concepts can have roles
knowledge based system. EXPECT keeps track of the which may be used to specify attributes of the concept.
interdependencies in a knowledge based system, such A distinguishing feature of description logics like
as what factual knowledge must be present to support Loom is that they provide a way of precisely defining
the problem solving methods that the KBS uses, and the meaning of a concept, that is, what it denotes.
how factual knowledge is used in problem solving. For Loom provides a classifier, which is a reasoner that
instance, in a configuration system that uses propose- uses concept definitions to determine whether one
and-revise as its problem solving method, each concept subsumes another concept. Specifically, a
constraint must have one or more associated “fixes” concept A is said to subsume a concept B if all the
that are used in problem solving to resolve a violation possible entities that could be described by B are also
of the constraint when it occurs. This is an example of necessarily described by A. For example, ``a man who
a dependency that arises between the domain only drinks beer'' subsumes ``a man who only drinks
representation of constraints and the problem solving imported beer.'' The classifier can determine whether
method. EXPECT captures such dependencies in an all the instances that could possibly be described by
interdependency model which is specific to each one concept are also necessarily described by another
knowledge based system built in EXPECT. When based on the definitions of the two concepts. As a
new knowledge is added to a knowledge based system, result, it is possible to automatically organize concepts
EXPECT examines the interdependency model to into an AKO (a kind of) lattice based only on their
determine what additional knowledge must be provided definitions.
to make the new knowledge usable by the problem
solving methods currently employed in the system. In EXPECT, a goal represents a task to be done or a
Similarly, if one of the problem solving methods is problem to be solved. Problem solving methods are
modified, EXPECT rederives the interdependency used to accomplish these goals. Each problem solving
model to determine if any of the dependencies have method has a capability description which describes
changed. If so, it will request the needed additional the kinds of problems the method can solve and a
information from the user. In this way, EXPECT method body which consists of step(s) for achieving the
helps a user modify and adapt a knowledge based method’s capability. These steps may include
system while freeing him from the need to understand subgoals. Figure 2 shows an example of a problem-
Swartout, Gil, Valente 8-2
CAPABILITY
(compute (obj ?d is (spec-of LinesOfComm-distance))
(for ?coa is (inst-of coa)))
RESULT-TYPE (inst-of distance-value)
BODY
(if (equal (obj (count (obj (r-locations ?coa)))) (to 1))
then
(take (obj (spec-of maximum)) control constructs
(of (find (obj (spec-of distance))
(between (set-of (spec-of geoloc)))
(in ?coa))))
else subgoal posting
(take (obj (spec-of maximum))
(of (find (obj (spec-of distance))
(from (r-locations ?coa)) retrieval of facts
(to (r-locations ?coa))))))
Figure 2: An EXPECT Method
solving method in EXPECT. The method computes outline the desiderata that led to EXPECT’s
the distance of lines of communication in a course of representation for capability descriptions and goals.
action (COA).
• A representation tied to the domain ontology. We
As we described above, EXPECT’s interdependency wanted a representation that was tied to the
model captures part of the design of the knowledge ontologies used in EXPECT so that goals could be
based system. EXPECT creates an interdependency defined using terms from the domain. Further,
model for a knowledge based system by synthesizing integrating the representation for capability
the system from a set of abstract problem solving descriptions and goals with the domain ontology
methods and knowledge about a domain. As it assures us that the semantics of the two
synthesizes the system, EXPECT records how different representations will be consistent.
parts of the system depend on each other in the
• A broad spectrum representation. Some problem
interdependency model.
solving methods are very general, while others are
especially tuned to work in highly specialized
EXPECT uses a form of partial evaluation and
situations. We believe that problem-solving method
hierarchical decomposition to create a knowledge based
libraries need to include both kinds of methods.
system. Starting with an initial high level goal that
General methods will provide broad coverage and
specifies what the knowledge based system is supposed
allow us to build robust systems, while highly
to do, EXPECT looks for a method whose capability
specific methods will substantially enhance
description matches the goal. When a method is
efficiency in specific situations. We wanted a
found, its method body is instantiated by replacing
representation that would allow us to describe the
variables in the method with corresponding instances
capabilities of both very general and highly domain-
in the goal. The instantiation of the method body may
specific methods.
result in the posting of subgoals, in which case the
process recurs. If no method can be found for a goal, • Support for “loose coupling” between goals and
EXPECT attempts to reformulate the goal into a new method capabilities. Reuse of problem solving
goal or set of goals that are semantically equivalent to methods will be increased if the capability
the original. It then attempts to achieve these new descriptions of the methods don’t have to match
goals, as we describe below. During this entire goals exactly. We wanted a representation that
process, EXPECT records in the interdependency would allow the system to find methods that could
model how specific factual information is used in work for a particular goal, even if they did not match
expanding the problem solving methods, thus it exactly.
capturing how different parts of the system depend on • Support for reformulation. Loose coupling and
each other. reuse can be further increased if goals can be
reformulated. Reformulation involves mapping a
3 Desiderata for the Representation of goal into a new goal or set of goals that is
semantically equivalent to the original goal.
Capability Description and Goals Reformulation allows the system to find a way of
Linking up goals and problem-solving methods is a achieving a goal even if a problem-solving method
critical part of EXPECT’s approach to knowledge could not be matched against the original goal. To
acquisition, and it places a number of demands on the be able to automatically reformulate a goal, the
representation of goals and the capability descriptions semantics of the individual terms that comprise the
of problem solving methods. In this section we goal must be well specified so that they can be
Swartout, Gil, Valente 8-3
mapped into new terms to create equivalent goals. are not strictly necessary to perform the computation
• Understandable by users. Since a goal of the itself. The fact that roles can be used both to specify
EXPECT effort is to support knowledge acquisition the parameters or objects that will be involved in a task
from domain experts, we wanted a representation that and to further describe or specify the task itself is one
could be easily understood or paraphrased into of the key capabilities that our representation supports,
English. providing us with a rich language for specifying goals.
• Self-organizing. In our view, problem solving Roles can be a type of an instance, as in:
method libraries are likely to become quite large in divide OBJ (inst-of number) BY 2
the future. Further, both AI experts and non-experts
will contribute to these libraries and use methods This results in a generic goal that can be instantiated
from them. For these reasons we felt it was with any elements of that type.
important to have a representation for method
capabilities that would support self-organization, Roles can also be filled by extensional sets as in:
that is, that would allow us to organize the methods
into a hierarchy automatically based on their find OBJ (spec-of maximum)
capability descriptions. This would allow either a OF (42 2 99)
machine or person to find methods that were
or they can be filled by intensional sets, where the set
applicable to a particular problem easily.
is described by a concept:
In the next section, we describe our representation for find OBJ (set-of
goals and method capabilities that helps us achieve the (spec-of
desiderata outlined above. violated-constraint))
IN (inst-of configuration)
4 Representing Goals and Capabilities Finally, it is possible to use descriptions (which are
EXPECT uses a structured representation for goals that similar to the definitions of Loom concepts) in roles:
arise during problem solving and the capabilities of estimate OBJ support-personnel
methods that can be used to achieve those goals. Goals IN (and location
and capabilities are represented as verb clauses using a (exactly 0 seaports))
case-grammar style formalism [Fillmore 1968]. Each
goal consists of a verb, which specifies what is to be This is a goal to estimate the support personnel in a
done, and a number of roles, or slots, which specify the location with no seaports.
parameters to be used in the action. The parameters use
terms that are defined in the domain ontology. For This approach provides us with a rich language for
example, the goal of estimating the closure date of specifying behaviors. The use of a case grammar
particular transportation movement would be specified formalism makes it relatively straightforward to
roughly as: paraphrase the goals into natural language helping to
estimate OBJ closure-date OF make them more understandable [Swartout et al. 1991].
transportation-movement-1
Here, estimate is the verb, and the roles are indicated in Capability descriptions for methods are specified in a
upper case. Roles are filled by Loom concepts and similar way, except that variables may appear in the
instances taken from the ontology, which couples our capability descriptions. These are bound when the
representation with the ontology. capability descriptions are matched with goals. Figure
2 shows an example of a method and its capability.
In EXPECT, roles can be filled in several different
ways, which allows considerable flexibility in As we just showed, EXPECT’s language to describe
specifying a task to be done. A role can be filled by a goals and capabilities is very expressive. An important
specific instance: aspect of EXPECT is how it reasons about method
add OBJ 3 TO 5 capabilities with this representation, exploiting
which allows us to specify particular instances that are subsumption and reformulation as we describe next.
to be used in an action. A role can be filled by a Further details can be found in [Swartout and Gil 1995;
concept: Gil and Gonzalez 1996].
compute OBJ (spec-of factorial) of 7
4.1 Creating LOOM Descriptions of Goals and
Capabilities
In this case, the concept factorial is used to We described earlier how EXPECT relies on LOOM’s
specify the kind of task that is to be done. The data classifier to automatically organize concepts in an AKO
required to perform the computation are specified as lattice. EXPECT also relies on the LOOM classifier to
parameters (in this case the number 7), while these reason about what goals and capabilities subsume
additional task parameters allow us to express what others. This is achieved by turning goals and
needs to be done with that data in an explicit way and capabilities into LOOM descriptions. EXPECT has a
Swartout, Gil, Valente 8-4
method OBJ
hierarchy cargo
move
WITH
vehicle
method-1
Method capability:
(move OBJ
(OBJ (inst-of cargo)) cargo
move OBJ
(WITH (inst-of aircraft))) WITH cargo
method-2 aircraft move
WITH
Goal: method-3
ship
(move
(OBJ (inst-of cargo))
(WITH C-140)) OBJ
cargo
move
WITH
goal-1 C-140
Figure 3: Translating Goals and Capabilities to Loom to organize and retrieve methods
core set of Loom definitions that are used for this, and them in a lattice, where more general definitions
include action name (its subclasses are essentially subsume more specific ones. Notice that this
verbs), action role (its subclasses are OBJ and any subsumption reasoning uses the definitions of the
parameter name), goal, and capability. Action roles domain terms and ontologies that are part of
are relations whose domain is an action name, and EXPECT’s knowledge bases. As a result, the
whose range can be any existing concept in the domain capability of a method to “move cargo with a vehicle”
(ex: ship, number) qualified by its parameter type (set will subsume one to “move cargo with an aircraft”,
or element, concept or instance, extensional or because according to the domain ontologies vehicle
intensional). For example, the goal to compute the subsumes aircraft. This is illustrated in the method
factorial of a number is expressed in EXPECT as: hierarchy shown in Figure 3. As a result, EXPECT’s
methods are automatically organized according to their
(compute capabilities, and their capabilities can be compared
(obj (spec-of factorial) based on their place in the lattice.
(of (inst-of number)))
4.3 Matching Goals and Capability
The corresponding Loom definition that is created is: Descriptions
(defconcept CM20 EXPECT also exploits the representation of goals and
:is (:and compute capabilities for matching method capabilities with the
(:the obj (:and concept-desc goals that arise during problem solving. EXPECT’s
factorial)) matcher first translates the posted goal into a Loom
(:the of (:and instance-desc concept, and then invokes the Loom classifier in order
number)))) to find methods whose capability descriptions subsume
the posted goal. Figure 3 illustrates this matching
LOOM’s classifier is now able to reason with this
process for the goal of moving some cargo with a C-
definition. Every term used in the parameters have
140 (which is a particular kind of aircraft).
their own definitions, provided in the ontologies, and
LOOM will use them in reasoning about goal
Once the match has been made using the Loom
subsumption. Notice that these terms and their
representation for the goal and capabilities, the original
definitions can be domain independent (e.g., violated-
representation is used to bind parameters in the goal to
constraints, maximum) or domain dependent (e.g.,
corresponding variables in the capability description.
location, closure-date).
This is necessary since Loom does not support
variables in concepts.
4.2 Self-Organizing Method Libraries
Using the techniques just described, EXPECT creates 4.4 Reformulating Goals
Loom definitions for the capabilities of all the methods
When a goal is posted while EXPECT is synthesizing
that are defined in the knowledge base. Loom’s
a knowledge based system and no method can be found
classifier reasons about these definitions and places
with a matching capability, EXPECT attempts to
Swartout, Gil, Valente 8-5
support personnel estimate support personnel
PARTITION COVERING
REFORMULATION
unloading personnel
seaport estimate unloading personnel
support personnel
estimate seaport support personnel
airport
support personnel estimate airport support personnel
Figure 4: A covering reformulation
reformulate the goal by transforming it into a new goal possible ways to accomplish it. Goal reformulations
(or set of goals) that is equivalent to the original goal, also illustrate how method libraries can leverage from
but expressed in different terms. EXPECT then tries to domain ontologies and their structure.
find methods for achieving these new goals. This
automatic reformulation allows EXPECT to reuse
methods in a broader range of circumstances than would 5 Related Work
be possible if EXPECT required an exact match for
Several groups have proposed approaches for
goals and methods. EXPECT supports several types of
representing PSM capabilities. In CommonKADS
reformulations.
methodology and related work [Schreiber et al 1994,
• A covering reformulation is a form of divide Valente et al 1998], method capabilities are represented
and conquer. It transforms a goal into a set of goals in a functional way, i.e., by specifying inputs and
that partition the original goal. If all the goals in outputs, plus the knowledge used in the process (called
the set are achieved, the intent of the original goal is static knowledge). Part of the semantics was also
achieved. Figure 4 shows an example covering expressed by relating the method to an element of a
reformulation. A goal of estimating support typology of methods, typically at the lowest grain size
personnel has been posted, but no applicable level (the so-called canonical inferences, see [Aben,
methods have been found. Because EXPECT’s 1993]) or at the highest grain-size level (e.g. the suite
ontology (as shown on the left in Figure 4) indicates of problem types by [Breuker, 1997]). Despite the fact
that the concept support personnel is partitioned into that EXPECT also models inputs and outputs of
unloading personnel, seaport support personnel and methods, there are many differences between the two
airport support personnel, EXPECT can reformulate approaches. First, EXPECT uses the case frame
the original goal into three new goals as indicated on representation to establish a hierarchy of types of goals,
the right in Figure 4. while there is no such notion in CommonKADS.
• A set reformulation is like a covering Second, because the EXPECT framework is based on
reformulation except that it involves a goal over a the idea of deriving or finding what knowledge is used
set of objects which is reformulated into a set of by a method in the construction of a problem solver, it
goals over individual objects. is able to derive (instead of requiring the user to
• An input reformulation is somewhat similar to specify) the static knowledge used by a method. Third,
the support that some languages provide for while the terms used in specifying the input and output
polymorphic operators. This kind of reformulation roles in CommonKADS are basically arbitrary,
occurs when a goal is specified with a general EXPECT relies on an ontology to find interrelations
parameter and no single method is available at a between them and reason about them in constructing a
sufficiently general level to handle the parameter. In problem solver. In this regard, the EXPECT approach
that case, EXPECT attempts to reformulate the goal is closer to the approach used in the Role-Limiting
into cases based on the subtypes of the parameter Methods or in PROTÉGÉ, where there is a method
given in the ontology. EXPECT also creates ontology that characterizes input, output and static
dispatching code so that once the knowledge based knowledge of a method. An interesting difference,
system has been synthesized and is being run, the however, is that EXPECT does not force the user to
code will dispatch to the appropriate subcase based separate the method ontology from the domain
on the actual type of the parameter that is passed in ontology, because the system is able to find out
at runtime. automatically what knowledge is referenced by the
method capability specifications. In summary,
Goal reformulations allow us to state the description of EXPECT finds the roles that knowledge will play when
method capabilities more independently from the the knowledge-based system is derived by the method
statement the descriptions of the goals that are posted instantiator, while these roles are pre-specified by most
by other methods or by the user. The benefit is a more other approaches.
loosely coupling between methods and tasks, i.e.,
between what is to be accomplished and what are Another important line of research about representing
Swartout, Gil, Valente 8-6
method capabilities is the work on specifying method works (as opposed to informal or formal
assumptions of PSMs [Fensel et al, 1996]. EXPECT descriptions created separately from the actual code).
represents some assumptions in the way the Loom
knowledge base is put together. For instance, it can We are planning several extensions to our current
represent a completeness assumption about descriptions approach in order to make it more suitable for
of ports by defining them to have at least one berth. describing capabilities of methods in shared libraries.
This is exploited by the Loom reasoning engine: if an
instance of port does not have a berth, Loom will One set of extensions is motivated by our work on
classify it as incoherent because it contradicts the representing role-limiting methods in EXPECT [Gil
definition of the concept port. Other assumptions are and Melz 1996]. We find that the knowledge roles used
derived during the matching process. For instance, in the method should be expressed explicitly, and that
assumptions about knowledge availability can be EXPECT can derive them automatically by looking at
derived by analyzing a method and concluding that, for interdependencies that it derives. We found the need for
example, the capacity of the C-140 needs to be known an extensive range of types of knowledge roles,
so that the method can calculate whether it can move a including classes to be defined in the domain ontologies
certain cargo using a C-140. and method stubs to be mapped to domain-dependent
methods. We would like to be able to express
additional types of parameters in goals and method
6 Summary capabilities, such as relations and method classes.
Finally, we would like to be able to express how
We have described the approach that is used in methods work together to form larger macro-methods.
EXPECT to describe and reason about goals and
method capabilities. The main features of the approach Another set of extensions is motivated by our
are: participation in DARPA’s High Performance
• the method representation is tightly integrated with Knowledge Bases Program [Cohen et al. 1998], where
ontologies as a model of the objects that the one of our goals is to develop with others a shareable,
methods reason about. Ontologies may be distributed library of implemented problem-solving
domain-specific or high-level ontologies. methods that can be used in conjunction with large-
• a wide range of parameter types, including scale ontologies to rapidly create knowledge based
intensional sets and generic instances systems. In order to organize these method libraries, in
• method capabilities state explicitly information addition to their capability we would like to represent
about the type of computation that the method and reason more explicitly about the assumptions that
does, not just which data it uses. they make on ontologies, the subtasks that they pose,
• a case-frame representation is used that is the submethods that they use, and other information
understandable by users and supports explanation. about the method’s implementation.
• a broad spectrum of methods can be represented,
ranging from small domain-specific methods to
very general domain-independent methods (such as Acknowledgements
propose-and-revise) We would like to thank all the past and present
• goals can be reformulated into more specific members of the EXPECT project for their
subgoals by using domain knowledge stated in the contributions to this work. We gratefully acknowledge
domain ontologies. the support of DARPA with contract DABT63-95-C-
0059 as part of the DARPA/Rome Laboratory
There are several advantages of this approach that Planning Initiative and with grant F30602-97-1-0195
method libraries can benefit from: as part of the DARPA High Performance Knowledge
• a loose-coupling between goals and Bases Program.
method capabilities, which facilitates reuse.
• self-organizing method libraries, where key Bibliography
features of the method (in our case their
capabilities) are used to automatically determine [Aben 1993] Aben, M. “Formally specifying re-usable
how they relate to one another. knowledge model components”. Knowledge
• understandable by users, since they are Acquisition, 5:119--141, 1993.
structured as case frames that can be easily [Breuker 1997] Breuker, J. “Problems in indexing Problem
paraphrased. Solving Methods”. In R. Benjamins and D. Fensel,
editors: Proceedings of the IJCAI'97 Workshop on
An important additional feature of EXPECT is that the Problem Solving Methods, 1997.
method body, i.e., the description of the procedure and [Chandrasekaran 1986] Chandrasekaran, B. “Generic tasks
subtasks that accomplish the method’s capability, is in knowledge-based reasoning”. IEEE Expert , 1(3):23-
also expressed explicitly. This is important for reuse, 30, 1986.
since it allows adaptation of the methods by using [Eriksson et al. 1995] Eriksson, H., Shahar, Y., Tu, S. W.,
EXPECT’s knowledge acquisition tools. It is also Puerta, A. R., and Musen, M. A. “Task modeling with
important because it allows users to look at the method reusable problem-solving methods”. Artificial
body and get first-hand information about how the Intelligence 79(1995):293--326.
[Cohen et al. 1998] Cohen, P.; Schrag, R.; Jones, E.;
Swartout, Gil, Valente 8-7
Pease, A.; Lin, A.; Starr, B.; Gunning, D.; and Burke, M.
“ The Darpa High-Performance Knowledge Bases
Project”. AI Magazine, 19(4), 1998.
[Fensel et al, 1996] Fensel, D and Benjamins, R.
“Assumptions in Model Based Diagnosis”. In Gaines, B.
and Musen, M., editors: Proceedings of the 10th Banff
Knowledge Acquisition for Knowledge-Based Systems
Workshop. Banff, 1996.
[Gil and Gonzalez 1996] Gil, Y. and Gonzalez, P. “Using
Description Logics to Match Goals”, In Proceedings of
the 1996 International Workshop on Description
Logics (DL-96), November 2-4, 1996, Boston, MA.
[Gil and Melz 1996] Gil, Y., and Melz, E. “Explicit
representations of problem-solving strategies to
support knowledge acquisition”. In Proceedings of the
Thirteenth National Conference on Artificial
Intelligence (AAAI-96), 1996.
[Gil 1994] Gil, Y. Knowledge Refinement in a Reflective
Architecture. In Proceedings of the National Conference
on Artificial Intelligence (AAAI-94), 1994.
[MacGregor 1991] MacGregor, R. “The evolving
technology of classification-based knowledge
representation systems”. In Sowa, J., ed., Principles of
Semantic Networks: Explorations in the Representation
of Knowledge. San Mateo, CA: Morgan Kaufmann.
[Marcus 1988] Marcus, S. “SALT: a knowledge-acquisition
tool for propose-and-revise systems,” in Automating
Knowledge-acquisition for expert systems S.Marcus
(ed), pp. 81-121. Kluwer Academic Publishing. 1988
[McDermott 1988] McDermott, J, “Preliminary steps
toward a taxonomy of problem solving methods,” in
Automating Knowledge-acquisition for expert systems
S.Marcus (ed), Kluwer Academic Publishing. 1988
[Musen 1992] Musen, M. A. “Overcoming the limitations
of role-limiting methods,” Knowledge Acquisition,
4(2):165--170. 1992.
[Musen and Tu 1993] Musen, M. A., and Tu, S. W.
Problem-solving models for generation of task-specific
knowledge acquisition tools. In J. Cuena (Ed.),
Knowledge-Oriented Software Design, Elsevier,
Amsterdam, 1993.
[Schreiber et al,1994] Schreiber, A., Wielinga, B.,
Akkermans. J., Van de Velde, W. and de Hoog, R.
“CommonKADS: A comprehensive methodology for
KBS development”. IEEE Expert, 1994.
[Swartout and Gil 1995] Swartout, B. and Gil, Y.
“EXPECT: Explicit Representations for Flexible
Acquisition”. In Proceedings of the Ninth
KnowledgeAcquisition for Knowledge-Based Systems
Workshop (KAW’95) Banff, Canada, February 26-March
3, 1995.
[Swartout et al 1991] Swartout, W. R., Paris, C. L., and
Moore, J. D. “Design for Explainable Expert Systems”.
IEEE Expert 6(3):58-64, 1991.
[Valente et al, 1998] Valente, A., Breuker, J. and Van de
Velde, W. “The CommonKADS Library in Perspective”.
International Journal of Human-Computer Studies, 49:
391—416, 1998.
Swartout, Gil, Valente 8-8