Problem-Solving Methods in Cyberspace V. Richard Benjamins1 2 ;
1
Arti cial Intelligence Research Institute (IIIA), Spanish Council for Scienti c Research (CSIC), Campus UAB, 08193 Bellaterra, Barcelona, Spain,
[email protected], http://www.iiia.csic.es/~richard 2 Dept. of Social Science Informatics (SWI), University of Amsterdam, Roetersstraat 15, 1018 WB Amsterdam, The Netherlands
Abstract
The World Wide Web opens the way to scaling up reuse of software components enormously. This paper sketches an approach to remotely con guring a problem solver using reusable libraries of problem-solving methods that reside in cyberspace. Two research issues are involved: (1) how to con gure PSMs from dierent libraries for a speci c application, and (2) how to deal with the distributiveness introduced by situating reuse on the digital highway.
1 Introduction Since the rst days of The Wold Wide Web, researchers in Arti cial Intelligence (AI) have been keen on using the Web to apply their research (Van de Velde, 1995). Today, the Web is present in many sub elds of AI. One of the areas that received attention is that of making existing knowledge-based systems (KBSs) accessible through the web for remote users (Eriksson, 1996; Riva et al., 1996). Another area is distributed AI, where existing KBSs communicate remotely with each other to solve a problem (Finin et al., 1992; Zdrahal and Domingue, 1997). One of the reasons for this boost of the use of the Internet is improved standardisation which enables the required interoperability between software at dierent sites. In this paper, we focus on a speci c AI topic in relation to the WWW: the con guration of a KBS, based on a library with reusable problem-solving methods. This library is available on the Web, and we describe the dierent parties involved, including an intelligent broker, and their responsibilities in this distributed reuse process. Imagine a medium sized company, called TICLO, that designs and manufactures timeclocks (those horrible machines that register your working hours). TICLO's time-clock is a hybrid device integrating mechanical parts, computer hardware and software. TICLO has sold many of these time-clocks, and has a hard time in handling all the calls to the administration with complaints and sending out the technicians to solve the problems. TICLO's situation is a typical case where a diagnostic KBS could alleviate the problem. Such a KBS would use a model of the time-clock in terms of the behaviour, the structure and the functionality of the components3 (Abu-Hanna et al., 1991; Chandrasekaran, 1991). The model is reasoned about to locate faults and can be used to explain the result. In current practice, a KBS is either developed by a company's inhouse R&D department, or by a hired software company. With the WWW becoming omni-present, this Nowadays, designing an artifact is done using dedicated software tools (e.g., CADCAM). The digital information generated by such tools can be used to represent the structure, behaviour and function of the device (van Soest, 1993). 3
practice might change: KBS technology can be brought closer to the people who need it, by intelligent brokers. In this paper, we sketch an Intelligent Internet Service that could solve TICLO's problem. The minimum requirement is that TICLO needs access to the Internet and a browser (e.g. Netscape). In a nutshell, the solution works as follows: TICLO calls a dedicated intelligent broker which goes out on the Web, and plug-and-plays a diagnostic reasoner from reusable libraries with diagnostic problem-solving methods (PSMs). The result is a diagnostic reasoner applicable and ne-tuned for the time-clock device, which is then instantiated for the time-clock domain and down loaded to TICLO's site. From that moment, TICLO has its own KBS for diagnosing faults in time-clocks, which can assist the sta to help its customers better. If the customers themselves also have Internet access, TICLO could consider to make the KBS remotely accessible. The contribution of this paper concerns the integration of knowledge engineering techniques, Internet techniques and recent standardisation eorts to enhance interoperability. Its practical aim is to make knowledge engineering techniques for reuse more widely available, and thereby reduce the costs of constructing KBSs. We will discuss the issues for one speci c library for solving diagnostic problems (Benjamins, 1993). At the end of the article, we will discuss how the approach scales up to dierent libraries at dierent locations and in dierent languages. Rather than presenting a completely worked out approach, the paper identi es the issues involved and points to relevant work. We will also sketch an example scenario of distributed reuse. In Section 2, we discuss the notion of a problem-solving method and present the library used in this paper. Section 3 discusses how the library can be made available on the Internet. Next, in Section 4, we discuss the parties involved and their respective responsibilities in con guring a coherent diagnostic problem solver. In Section 5, we discuss the communication between the dierent parties. Section 6 provides an example of the TICLO situation, and in Section 7, we discuss how the approach scales up to more complex situations. Finally, in Section 8, we provide conclusions.
2 Problem-Solving methods A problem-solving method (PSM) describes the reasoning steps and the types of knowledge needed to perform a task in a domain- and implementation-independent manner. The notion of (PSM) is present in many current knowledge engineering frameworks such as Generic Tasks (Chandrasekaran et al., 1992), Role-Limiting Methods (Marcus, 1988), CommonKADS (Schreiber et al., 1994b), the Method-to-Task approach (Musen, 1992), Components of Expertise (Steels, 1990), GDM (Terpstra et al., 1993). Libraries of PSMs are described in Benjamins, 1995; Breuker and van de Velde, 1994; Chandrasekaran et al., 1992; Puppe, 1993. A PSM de nes how the goal of a task can be achieved. It has a competence description, inputs and outputs, and decomposes a task into subtasks and/or primitive inferences. In addition, a method speci es the data ow between its constituents. Control knowledge determines the execution order and iterations of the subtasks and inferences of a PSM.
2
2.1 The architecture of a PSM
A PSM consists of three interrelated parts. These parts are illustrated in Figure 1 along with the context: a task goal to achieve and domain knowledge used to reason about (Fensel and Straatman, 1996; Benjamins et al., 1996). Task goal matches
Problem-solving method
Competence is-realised-by Operational specification (inf1;inf2)* data1
inf1
data2
inf2
data3
has Domain requirements
satisfied-by Domain knowledge
FIGURE 1: The architecture of a PSM, and the context: a task goal and domain knowledge.
Competence The competence of the PSM is a declarative description of its input-output
behaviour and describes what can be achieved by the PSM. Domain requirements The domain requirements of the PSM describe the domain knowledge needed by the PSM to achieve its competence. Example of such requirements include the availability of a causal domain model in causal diagnosis, or the existence of symptom-cause relations in heuristic diagnosis. The requirements describe what a PSM expects in return for the functionality it provides. Operational speci cation The operational speci cation speci es the reasoning process that realises the speci ed competence, if the required domain knowledge is provided. It represents the link between the competence and the knowledge requirements of a method, and consists of inferences and the knowledge and control- ow between them. The inferences specify the reasoning steps and are described by their input/output relation. Inferences can either be achieved by a PSM (which means that a PSM can be hierarchically decomposed) or are primitive (atomic reasoning steps which are not further decomposed). The knowledge ow takes place through data stores, which act as the input and output of inferences. Finally, the control of a PSM describes the execution order of the inferences. 3
2.2 A library of problem-solving methods for diagnosis
The library of PSMs that we provide through the Web contains PSMs for diagnosis and has been discussed and used in Benjamins, 1993; Benjamins and Jansweijer, 1994; Orsvarn, 1995; Benjamins, 1995; Speel and Aben, 1996. The library covers many dierent strategies described in the literature, and is applicable to a whole range of dierent domains (ranging from technical to medical). The time-clock used in this paper, only serves as a concrete example. For the aim of this paper, it suces to know that the structure of the library is a task-method structure where a task can be realized by dierent methods and a method decomposes a task in subtasks, as illustrated in Figure 2. The library contains 36 PSMs where each PSM has the architecture as shown in Figure 1. Part of the library is illustrated in Figure 2. hypothesis generation model-based hypothesis generation
find contributors
prediction based filtering
transform to hypothesis set
trace-back
prediction
set covering
cardinality minimality set covering
subset minimality intersection set covering
find upstream
simulate
set cover
cardinality minimality cover
subset minimality cover
corroboration
fault simulation
intersect
delete
select random
select simulate compare fault model hypothesis
keep
FIGURE 2: A subpart of the library for diagnosis. The relations between tasks (ellipses), methods (rectangles), and inferences (rounded rectangles). Dashed lines denote that methods are alternatives for realizing tasks. Solid lines decompose a method into subtasks and/or inferences.
3 PSMs on the Internet Making the library remotely available on the web, introduces distributiveness: the client, who needs components from the library, is not located at the same place as the library. Moreover, an intermediate party is involved to mediate between the client and the libraries. The library has two faces on the WWW: one to be accessed by persons and one by software brokers. Brokers need to be able to access the library to select PSMs (based on their competence and domain requirements). Persons need to be able to browse the library to see what kind of PSMs are available and what they do and, if so wished, select a PSM4 . Behind these faces there is the implementation of the PSMs, but this is not visible The ultimate goal is to develop a broker that takes care of everything and does not require human intervention. However, for the moment that remains science ction. 4
4
for the library user (person or software broker).
3.1 The interface to a human
For the human user, the library of PSMs will be represented as an HTML document that can be easily browsed through. PSMs will be represented in CommonKADS' Conceptual Modelling Language (CML, Schreiber et al., 1994b; Schreiber et al., 1994a). Each PSM is also depicted graphically, in accordance with Figure 1. The conceptual level is meant for easy understanding by human users. CML is supported by the VOID tool5 that can generate HTML format from CML. VOID can also read Ontolingua. Figure 3 gives an example of the fault-simulation PSM in CML.
psm: fault-simulation-method; competence "hypotheses that pass, explain the abnormality and are consistent with the normality observations."; input: hypothesis-set: "A set of set of components"; output: hypothesis-set: "A set of set of components"; operational specification sub-tasks: select-random, select-fault-model, simulate-hypothesis, compare, keep; control-structure: " REPEAT select-random(hypothesis-set -> hypothesis) WHILE unprocessed fault-models AND so far all comparison data are "equal" DO select-fault-model(hypothesis -> fault-model) simulate-hypothesis(fault-model -> expectation-set) compare(abnormality-observation-set, normality-observation-set, expectation-set -> datum) keep(datum, hypothesis, hypothesis-set -> hypothesis-set) OD UNTIL all hypotheses tried" ; domain requirements: "complete fault models fault models represented in device model"; end psm fault-simulation-method;
FIGURE 3: CML representation of the fault-simulation PSM.
3.2 The interface to the broker
Although for a human user an HTML document suces to extract the information he or she needs, for a software broker this is not enough. As the broker is concerned with reasoning about competences and verifying domain requirements, we will add speci c tags to the HTML document that give the broker access to the relevant information. Actually, 5
See http://www.swi.psy.uva.nl/projects/void/roadmap.html
5
what we do is to give a precisely de ned meaning to these tags so that when the broker reads the tag, it puts the tag's content into its internal knowledge base. We will need tags to express the competence and domain requirements of PSMs and that a PSM realises a task. Adding semantics to HTML is pursued in the SHOE approach (Simple HTML Ontology Extension Luke et al., 1996; Luke et al., 1997). SHOE augments HTML pages with tags that have a de ned meaning in an ontology. In principle, everyone is free to de ne its own ontology. However, currently the only relation in a SHOE ontology that supports inference is the ISA-relation (inheritance). Another related approach dealing with the meaning of HTML documents is Guha's Meta Content Framework (MCF, Guha, 1996). MCF aims to provide an adequate language for representing a wide range of information about content.
3.3 Behind the interface
We see implemented PSMs as (distributed) objects where each PSM is a class with a public interface. This public interface is the only thing to be considered for executing the PSM. The implementation of PSMs is not visible for the broker or user that accesses the library, and it can be changed freely, as long as its public interface remains the same. There are dierent possibilities to implement the PSMs. The rst, and most ambitious one is to make them CORBA compliant (Orfali et al., 1996). This means that we have to write the PSM's I/O speci cation and its access to the knowledge base in CORBA's Interface De nition Language (IDL). This approach is explored by Gennari et al., 1996. The advantage is that one can use any implementation language, as long as it is CORBA compliant. So, it could be possible to use Noos (Arcos and Plaza, 1995). Another possibility is to use Java. Java runs under WWW browsers such as Netscape, and everybody with access to the WWW has such a browser.
4 The parties involved Having put the PSM library on the Web, we can now identify the dierent parties involved and their respective responsibilities in the process. Actually, the Web does make PSM reuse not fundamentally dierent from reuse without the Web. The same issues will play a role as before: PSM selection, veri cation of domain requirements, combining PSMs together, mapping them to domain knowledge. The main dierence is caused by the introduced distributiveness. This implies that each party/agent involved needs to be assigned a clearly determined task, and that communication between the dierent agents needs to be established. In our TICLO example, the problem is to con gure a problem solver able to diagnose faults in the time-clock. TICLO, the client, sends its request via its agent to the dedicated broker. The request might be something like \We need a problem solver for diagnosing faults in a time-clock, a hybrid device integrating mechanical parts, hardware and software." Figure 4 shows the parties involved: the client, the client's agent, the broker and the PSM library. All of them reside at the WWW. Basicly, the broker is an intelligent autonomous agent that interacts with both the client's site and the library's site. In the following, we describe the role of each party involved, along with the knowledge needed. 6
PSM library
software agent part
Client
Client’s KQML/KIF agent
Broker
KQML/KIF
human part
PSM competence PSM domain requirements
FIGURE 4: The parties (agents) involved.
The client's site At the client's site the following is required to be available. A knowledge base with the relevant domain knowledge about the device to be diag-
nosed. An ontology describing this knowledge base. An interface of the client to the Web, i.e. an agent that formulates the client's request for the broker, that is able to provide additional information to the broker if needed by the other agents, and that is responsible for presenting the information received from the broker to the client. As will become evident in the rest of the paper, some responsibilities of the agent can be assigned to a software agent, while others require a person (see Figure 4).
The intelligent broker The broker receives the request of the client's agent and, based
on that, accesses the library to select methods that can contribute to the request. The following is needed:
Knowledge about the organisation structure of the library for diagnosis (Orsvarn,
1996), if any. Knowledge about how competences of PSMs can be combined into more complex competences (Benjamins and Jansweijer, 1994). For each potential PSM, the corresponding domain requirements have to be veri ed in the time-clock domain. Since the client and the library are not located at the same location (URL), veri cation of the domain requirements of candidate PSMs requires interaction between the broker and the client's agent about characteristics of the time-clock domain. The PSMs that turn out to be applicable to the time-clock domain, need to be plugged together into a coherent problem solver. This requires considering the input and output of the various PSMs, and the combination of their control structures to yield the overall control knowledge of the problem solver. Finally, the con gured problem solver needs to be mapped onto the speci c domain, in our case the time-clock. This is done in an interaction process between the broker and the client's agent. For this process, we might use so-called \adapters" (Fensel, 7
1997), which can bridge the gap between generic PSMs and the application. In the end, everything runs at the client's site. Note thus that the broker reasons at two dierent levels: (i) at a meta-level about the competence and the requirements of the PSMs; and (ii) at the PSM I/O level when it has to plug the dierent PSMs together and to map the result to the speci c domain. In our example scenario, the \plug" action is trivial, since all PSMs reside in one library and are designed to work together. However, if we scale up the problem to dierent libraries, this becomes an issue (see Section 7).
The provider's site The provider's site contains a library of PSMs for diagnosis. We assume the following:
Each PSM is associated with a description of its competence and domain requirements. The PSM library is organised as a task-method decomposition structure.
5 Languages and communication There are dierent levels for which languages are needed.
Reasoning about PSMs The broker has to reason about the competence and domain requirements of PSMs. We plan to use KIF (Knowledge Interchange Format, Genesereth and Fikes, 1992) to represent those. KIF is a logic-based language whose aim is to be an intermediate between dierent knowledge representation languages. Currently many existing languages can be translated into KIF using the Ontolingua server (Farquhar et al., 1996). By choosing KIF, we enhance the possibility that our broker can manage many dierent languages. Note that the broker itself does not have to reason with KIF, it only has to accept it as input and produce it as output.
Interoperability When dierent components from the libraries are selected to work
together, they have to be compatible with each other. We are investigating CORBA's Interface De nition Language (IDL) (Orfali et al., 1996) for this purpose. IDL constitutes the syntactic interface (I/O constraints) while the KIF expressions provide the semantics (competence). Note that both KIF and CORBA would be used for speci cation purposes of static knowledge only, and not for speci cation of reasoning processes.
Communication between the agents Finally, we need a language for communication between the dierent agents in the process. We plan to use KQML (Finin et al., 1992) for communication. KQML is a language designed for agent-based programs. A KQML message is a performative, in the sense that a message is intended to perform some action when sent. A KQML message is an ASCII string composed of xed parameters with values. There are dierent types of performatives, such as informative performatives (tell, deny, untell), database performatives (insert, delete), basic responses (error, sorry), eector 8
performatives (achieve, unachieve), etc. Each performative can have several parameters, including content, language, ontology, receiver, sender, in-reply-to, reply-with. For the case presented in this paper, KQML might seem an overkill. However, if we want to scale up the situation to multiple, heterogeneous libraries, KQML becomes an interesting candidate. In our example, we only need a small subset of KQML's performatives, including ask-if and evaluate. For example, the broker can send the following message to the library: (ask-if :content(explain the symptoms, while being consistent with the correct observations) :language English :reply-with diagnostic-PSM :sender broker :receiver PSM-library )
In this query, the broker asks the PSM-library whether there is a PSM with the competence as given in \content", which matches with the competence of the model-based hypothesis generation method. In the message shown above, the language (of the content) is English, but it should be in KIF. The broker needs to verify whether the domain requirements of the PSMs are satis ed in the time-clock domain. One of the domain requirements is that the connected-to relation is symmetric, which the broker asks the client's agent to verify by sending the following message. (evaluate :content(symmetric-relation(connected-to)) :language KIF :reply-with symmetry :sender broker :receiver TICLO's agent )
6 An example scenario The aim of this section is to provide the reader with some concrete insight in the process that the dierent parties are involved in.
The client's knowledge base Figure 5 shows a simple device model of the time-clock, which consists of a card reading device, a computer and a printer6.
The client's request TICLO's request is formulated in natural language as follows:
\the hypotheses should explain the abnormality observations (symptoms) and be consistent with the normality observations." TICLO's agent (the human part of it), has to 6
This model is too simplistic to be a real model of the time-clock, but for illustration it suces.
9
card
card reader
data
correctly stored data
computer
connected-to
print printer
consists-of
hardware
software
domain model component(card-reader) component(computer) etc. consists-of(computer, [hardware, software]) connected-to(card-reader, computer) connected-to(computer, printer)
behaviour(card-reader, [input(card), output(data)]) behaviour(computer, [input(data), output(correctly-stored-data)]) etc. fault-model(card-reader, [input(card), output(no-data)]) fault-model(computer, [input(data), output(no-data)]) fault-model(computer, [input(data), output(incorrect-data)]) etc.
case data normality-observation(data(yes))
abnormality-observation(print(no))
FIGURE 5: A simple domain model of the time-clock, which constitutes the content of the knowledge base. The bottom part represents case data, that represent an actual problem.
translate this into a formal expression that can be understood by the broker7 : ( [ H
M
`
Oab
) ^ ( [ H
O
:ab [ M
6`?)
where are the hypotheses, the abnormality observations (symptoms), : normality observations, and the device model ( includes at least the connected-to, the fault-model, and the behaviour predicates of Figure 5). This should be read as the conjunction of (1) the union of the device model and the hypotheses entail the symptoms, and (2) the union of the hypotheses, the normality observations and the device model is not inconsistent (in Benjamins and Aben, 1997, we provide a formalisation of such a diagnostic reasoner). H
Oab
O
M
ab
M
Selecting PSMs from the library Based on the formulation of the request, the broker
accesses the PSM library and starts a reasoning process in order to relate the request with the competences of the PSMs. The broker needs knowledge about diagnostic competences in order to perform such reasoning. In particular it needs to know about how competences of speci c PSMs can be combined to form competences of more general PSMs. Based on the task-method structure of the library and on knowledge about diagnostic competence (Benjamins and Jansweijer, 1994), the broker selects, among others, the model-basedhypothesis-generation method, the trace-back method, the set-covering method and the fault-simulation method, which respectively have the following competences: 7
Actually, this should be written in KIF.
10
model-based-hypothesis-generation method: ( [ ` ) ^ ( [ trace-back method: ? ( ) set-covering method: \ 6= ; fault-simulation method: ( [ ` ) ^ ( [ : [ 6`?) H
contributes H
M
Oab
H
O
:ab [ M
6`?)
to c; oab
C
Hf
M
Oab
Hf
O
ab
M
The selected PSMs correspond to the greyed-out part of Figure 2. It represents the task-method structure of a hypothesis generator, which is the result of selecting the modelbased-hypothesis-generation method, the trace-back method, the set-covering method and the fault-simulation method.
Verifying domain requirements Most domain requirements of PSMs stem from their constituting inferences and sub-PSMs (Benjamins and Pierret-Golbreich, 1996). Some of the domain requirements of the PSMs involved in our example are shown in Table 1. Problem-solving method Domain requirement model-based-hypothesis-generation non-intermittency trace-back relation(connected-to) irre exive-relation(connected-to) set-covering independence of causes fault-simulation fault behaviour fault models are complete TABLE 1: Some domain requirements of the PSMs concerned.
The broker will try to check these requirements in interaction with TICLO's agent. Looking at the knowledge base (Figure 5), we see that the requirement \relation(connected-to)" is ful lled. With little reasoning, the broker can nd out that the connected-to relation is irre exive (no component is connected to itself). The other requirements cannot be checked automatically and have to be ask to the client, or represented explicitly in the knowledge base.
Plugging the PSMs together Due to the organisation of the library (task-method
structure) and the fact that we consider only one library, the plug action is almost trivial. The nal reasoner implied by the selected PSMs consists of inferences. The greyed-out PSMs of Figure 2 bottoms out in the primitive inferences: nd-upstream, set-cover, selectrandom, select-fault-model, simulate-hypothesis, compare, and keep. Inferences have inputs and outputs and can be connected based on shared inputs and outputs (Schreiber et al., 1993) resulting in an inference structure. An inference structure only speci es data dependencies and not control dependencies. The inference structure implied by the generated method tree is shown in Figure 6 (thick lines denotes sets, thin lines elements).
Generating control knowledge As explained in Section 2, each PSM has control knowledge specifying the execution order and iteration of its inferences and/or subtasks. The control knowledge of the generated inference structure is constituted by the combination of the control structures of each contributing PSM. This combination is achieved by 11
C device-model
find upstream
M
contributor
set-cover
c
abnormality observation oab
hypothesis set
O
H’
normality observation
o
H
compare
datum
select random
H
keep
hypothesis
d
ab
h
element expectation set
set
simulate hypothesis
E
fault-model
hf
select fault-model
device-model
M
FIGURE 6: The inference structure of the hypothesis generator.
expanding the control knowledge of PSMs in a top-down manner. In this way, we get the following control knowledge for Figure 6. The abbreviated input and output names that are used, appear in Figure 6 at the inputs and outputs.
For each
abnormality observation o
find the contributors c
ab
accumulate c in C set-cover the contributors C in H
For each
hypothesis h in H
randomly select a hypothesis h
Repeat
select fault model h
f
for h
simulate the fault model h
f
to get the expectation set E
compare E with the observation sets
Oab
and
Until d = equal or all hf 's have been processed If d is equal Then keep the hypothesis h in the set H Else delete the hypothesis h from the set H
O:ab
to get a datum d
The process starts with nding contributors ( : a set of components) for each abnormality observation (o ) ( nd-upstream) by tracing the device model structure in an upstream manner starting at the abnormality observation. Note that when there are multiple abnormality observations, multiple contributors are generated by the control structure. Next, hypotheses ( ) are constructed that cover the contributors (set-cover): a hypothesis has a non-empty intersection with any of the contributors. Hypotheses are kept in c
ab
h
12
a hypothesis set ( ). For each hypothesis, fault-models ( ) are selected one at a time (select-random). The fault model is simulated (simulate-hypothesis) and the expected results ( ) are compared to the observations (compare). To simulate a fault model of a hypothesis means to instantiate the fault models for the components corresponding to the hypothesis (while leaving the other components of the device model in the correct mode), and then calculating the consequences. The compare inference compares the set of expectations ( ) to the abnormality and normality observations. The sets are considered equal if all abnormality observations are as expected (i.e., they are a subset of the expectations), while the normality observations are not contradicted by the expectations. In this case, the produced datum ( ) will be \equal". Next, keep decides whether a hypothesis is kept or discarded from the hypothesis set: if is equal, then is kept, otherwise it is deleted. Thus, if none of the fault models of a hypothesis satis es the comparison, then the hypothesis can be discarded. H
hf
E
E
d
d
h
Map problem solver to time-clock knowledge base The generated problem solver
has to be related to the domain knowledge it will reason with. In other words, we need to map the reasoner illustrated in Figure 6 with the time-clock model illustrated in Figure 5. The mappings are given in Table 2. Establishing such mappings is a dicult problem which cannot be automated in general. However, it is possible to provide dedicated support. Problem solver device-model 7! contributor 7! hypothesis 7! hypothesis-set 7! fault-model 7! abnormality-observation 7! expectation-set 7! normality-observation 7!
time-clock knowledge base connected-to, behaviour set of components set of components set of set of components fault-model print(no) f print(yes), print(no), data(yes), data(no) g data(yes)
TABLE 2: Mappings from reasoner onto the time-clock model (see also Figure 5).
7 Scaling up The situation can be scaled up in various dimensions (Figure 7). One way to scale up the process is to consider distinct PSM libraries at dierent sites and in dierent languages. In this case, the broker has to access the dierent libraries, select candidate PSMs, and plug them together. If we require that all libraries have a common structure and language to express the competence and domain requirements of the PSMs, then this should pose no extra burden on the broker. However, the libraries might be structured in dierent ways (e.g., other than as a task-method decomposition). Moreover, each library might be implemented in a dierent language (C++, Prolog, Lisp, Noos, OCML, etc.). To enable the broker's plug action, interoperability has to be assured. We will consider emerging 13
standards such as CORBA/IDL (Orfali et al., 1996), OpenDoc, Javabeans (JavaSoft, 1996). PSM library1 Broker1 Client
Client’s agent
PSM library2
Broker2 PSM library3
FIGURE 7: Scaling up: the parties (agents) involved.
Another way to scale up the situation is to include several, competing or cooperating, brokers. To accommodate this situation, we have to use a communication protocol that speci es interactions such as the deal that the client makes with various brokers, the market mechanism regulating the way brokers interact (compete or cooperate), etc. (Rodrguez et al., 1997). The individual libraries can also be scaled up to cover various tasks and problem types. This requires to deal with the indexing problem (Breuker, 1997). Moreover, PSMs within one library might be implemented in dierent languages.
8 Conclusions We have sketched an approach to integrate existing knowledge engineering techniques in the World Wide Web. The heart of the approach is formed by an intelligent broker that accesses libraries of problem-solving methods, reasons about their competence and requirements and plugs them together. If the approach succeeds, reuse of software components, and of problem-solving methods in particular, will be brought closer to actual users. The approach considers knowledge engineering standards such as KIF, Ontolingua, and CML, Internet standards such as HTML and Java, distributed object standards such as CORBA/IDL, and communication standards such as KQML. In this paper we illustrated the issues involved by focusing on one speci c library. Although we anticipated scaling up to more complicated situations, further research is needed to demonstrate feasibility of the approach. One might argue that it is easier to develop a stand alone knowledge system for TICLO's problem without having to worry about brokering, WWW issues, etc., and then interfacing this system to the WWW. With the current technology available this is true. In particular because in several parts of the process human intervention is (still?) indispensable, and because the approach assumes the widespread availability of domain ontologies and PSM libraries which is not (yet) commonly the case. However, with an eye on the future, the rapid development in relevant technology areas and the increasing pervasiveness of the WWW, we think that the scenario sketched in this paper will eventually become reality instead of science ction. 14
In order to focus on the tasks the broker has to ful l, we deliberately simpli ed complex issues concerning diagnosis in this paper. The reader interested in diagnosis is referred to ten Teije, 1997; Console and Torasso, 1990; Davis and Hamscher, 1988.
Acknowledgement This research was partially supported by the Netherlands Computer Science Research Foundation with nancial support from the Netherlands Organisation for Scienti c Research (NWO), and by the European Commission through a Marie Curie Research Grant (TMR). I am grateful to Dieter Fensel, Enric Plaza and several reviewers for their comments.
References [Abu-Hanna et al., 1991]Abu-Hanna, A., Benjamins, V. R., and Jansweijer, W. N. H. (1991). Device understanding and modeling for diagnosis. IEEE-Expert, 6(2):26{32. [Arcos and Plaza, 1995]Arcos, J. L. and Plaza, E. (1995). Re ection in NOOS: An object-centered representation language for knowledge modelling. In Proceedings of IJCAI workshop on Re ection and Metalevel Architectures. [Benjamins, 1993]Benjamins, V. R. (1993). Problem Solving Methods for Diagnosis. PhD thesis, University of Amsterdam, Amsterdam, The Netherlands. [Benjamins, 1995]Benjamins, V. R. (1995). Problem-solving methods for diagnosis and their role in knowledge acquisition. International Journal of Expert Systems: Research and Applications, 8(2):93{120. [Benjamins and Aben, 1997]Benjamins, V. R. and Aben, M. (1997). Structure-preserving KBS development through reusable libraries: a case-study in diagnosis. International Journal of Human-Computer Studies, to appear. [Benjamins et al., 1996]Benjamins, V. R., Fensel, D., and Straatman, R. (1996). Assumptions of problem-solving methods and their role in knowledge engineering. In Wahlster, W., editor, Proc. ECAI{96, pages 408{412. J. Wiley & Sons, Ltd. [Benjamins and Jansweijer, 1994]Benjamins, V. R. and Jansweijer, W. N. H. (1994). Toward a competence theory of diagnosis. IEEE-Expert, 9(5):43{52. [Benjamins and Pierret-Golbreich, 1996]Benjamins, V. R. and Pierret-Golbreich, C. (1996). Assumptions of problem-solving methods. In Shadbolt, N., O'Hara, K., and Schreiber, G., editors, Lecture Notes in Arti cial Intelligence, 1076, 9th European Knowledge Acquisition Workshop, EKAW-96, pages 1{16, Berlin. Springer-Verlag. [Breuker, 1997]Breuker, J. (1997). Problems in indexing problem solving methods. In Proceedings of IJCAI workshop on Problem-Solving Methods. [Breuker and van de Velde, 1994]Breuker, J. and van de Velde, W., editors (1994). CommonKADS Library for Expertise Modeling. IOS Press, Amsterdam, The Netherlands. [Chandrasekaran, 1991]Chandrasekaran, B. (1991). Models versus rules, deep versus compiled, content versus form. IEEE-Expert, 6(2):75{79. [Chandrasekaran et al., 1992]Chandrasekaran, B., Johnson, T. R., and Smith, J. W. (1992). Taskstructure analysis for knowledge modeling. Communications of the ACM, 35(9):124{137.
15
[Console and Torasso, 1990]Console, L. and Torasso, P. (1990). Integrating models of the correct behaviour into abductive diagnosis. In Aiello, L. C., editor, Proc. ECAI{90, pages 160{166, London. ECCAI, Pitman. [Davis and Hamscher, 1988]Davis, R. and Hamscher, W. C. (1988). Model-based reasoning: Troubleshooting. In Shrobe, H. E., editor, Exploring Arti cial Intelligence, pages 297{346. Morgan Kaufmann, San Mateo, California. [Eriksson, 1996]Eriksson, H. (1996). Expert systems as knolwedge servers. IEEE Expert, 11(3):14{19. http://www.ida.liu.se/~her/npp/demo.html. [Farquhar et al., 1996]Farquhar, A., Fikes, R., and Rice, J. (1996). The ontolingua server: A tool for collaborative ontology construction. In Gaines, B. R. and Musen, M. A., editors, Proceedings of the 10th Ban Knowledge Acquisition for Knowledge-Based Systems Workshop, pages 44.1{44.19, Alberta, Canada. SRDG Publications, University of Calgary. http://ksi.cpsc.ucalgary.ca:80/KAW/KAW96/KAW96Proc.html. [Fensel, 1997]Fensel, D. (1997). An ontology-based broker: making problem-solving method reuse work. In Proceedings of IJCAI workshop on Problem-Solving Methods. [Fensel and Straatman, 1996]Fensel, D. and Straatman, R. (1996). Problem-solving methods: Making assumptions for eciency reasons. In Shadbolt, N., O'Hara, K., and Schreiber, G., editors, Lecture Notes in Arti cial Intelligence, 1076, 9th European Knowledge Acquisition Workshop, EKAW-96, pages 17{32. Springer-Verlag. [Finin et al., 1992]Finin, T., McKay, D., Fritzson, R., and McEntire, R. (1992). KQML{a language and protocol for knowledge and information exchange. In Fuchi, K. and Yokoi, T., editors, Knowledge Building and Knowledge Sharing. Ohmsha and IOS Press. http://www.cs.umbc.edu/kqml/. [Genesereth and Fikes, 1992]Genesereth, M. R. and Fikes, R. E. (1992). Knowledge interchange format, version 3.0, reference manual. Technical report, Logic-92-1, Computer Science Dept., Stanford University. http://www.cs.umbc.edu/kse/. [Gennari et al., 1996]Gennari, J. H., Stein, A. R., and Musen, M. A. (1996). Reuse for knowledgebased systems and CORBA components. In Gaines, B. R. and Musen, M. A., editors, Proceedings of the 10th Ban Knowledge Acquisition for Knowledge-Based Systems Workshop, pages 46.1{46.16, Alberta, Canada. SRDG Publications, University of Calgary. http://ksi.cpsc.ucalgary.ca:80/KAW/KAW96/KAW96Proc.html. [Guha, 1996]Guha, R. V. (1996). Meta content framework: A white paper. Technical Report http://mcf.research.apple.com/wp.html, Apple Research. [JavaSoft, 1996]JavaSoft (1996). The JavabeansTM 1.0 API speci cation. Technical Report http://java.sun.com/beans, Sun Microsystems. [Luke et al., 1996]Luke, S., Spector, L., and Rager, D. (1996). Ontology-based knowledge discovery on the world-wide web. In Proceedings of the Workshop on Internet-based Information Systems, AAAI'96. http://www.cs.umd.edu/projects/plus/SHOE/. [Luke et al., 1997]Luke, S., Spector, L., Rager, D., and Hendler, J. (1997). Ontology-based web agents. In Proceedings of First International Conference on Autonomous Agents, page to appear. http://www.cs.umd.edu/projects/plus/SHOE/. [Marcus, 1988]Marcus, S., editor (1988). Automating knowledge acquisition for expert systems. Kluwer, Boston. [Musen, 1992]Musen, M. (1992). Overcoming the limitations of role-limiting methods. Knowledge Acquisition, 4(2):165{170.
16
[Orfali et al., 1996]Orfali, R., Harkey, D., and Edwards, J., editors (1996). The Essential Distributed Objects Survival Guide. John Wiley & Sons, New York. [Orsvarn, 1995]Orsvarn, K. (1995). Case-study with Benjamins' library of diagnosis methods. In Gappa, U. and Voss, H., editors, Proc. of The Knowledge Engineering Forum 95, pages 83{94, Sankt Augustin, Germany. [Orsvarn, 1996]Orsvarn, K. (1996). Principles for libraries of task decomposition methods { conclusions from a case-study. In Shadbolt, N., O'Hara, K., and Schreiber, G., editors, Lecture Notes in Arti cial Intelligence, 1076, 9th European Knowledge Acquisition Workshop, EKAW-96, pages 48{65. Springer-Verlag. [Puppe, 1993]Puppe, F. (1993). Systematic Introduction to Expert Systems: Knowledge Representation and Problem-Solving Methods. Springer-Verlag, Berlin. [Riva et al., 1996]Riva, A., Ramoni, M., and Fassino, C. (1996). Accessing arti cial intelligence applications over the world-wide web. Technical report, Knowledge Media Institute, Open University. http://kmi.open.ac.uk/~marco/papers/kmi-tr-42. [Rodrguez et al., 1997]Rodrguez, J. A., Noriega, P., Sierra, C., and Padget, J. (1997). FM96.5 a java-based electronic auction hous. In Second International Conference on The Practical Application of Intelligent Agents and Multi-Agent Technology: PAAM'97. http://www.iiia.csic.es/Projects/ shmarket/publications-team.html. [Schreiber et al., 1994a]Schreiber, A. T., Wielinga, B. J., Akkermans, J. M., Van de Velde, W., and Anjewierden, A. (1994a). CML: The CommonKADS conceptual modelling language. In Steels, L., Schreiber, A. T., and Van de Velde, W., editors, A Future for Knowledge Acquisition. Proceedings of the 8th European Knowledge Acquisition Workshop EKAW'94, pages 1{25, Berlin/Heidelberg. Springer-Verlag. [Schreiber et al., 1993]Schreiber, A. T., Wielinga, B. J., and Breuker, J. A., editors (1993). KADS: A Principled Approach to Knowledge-Based System Development, volume 11 of KnowledgeBased Systems Book Series. Academic Press, London. [Schreiber et al., 1994b]Schreiber, A. T., Wielinga, B. J., de Hoog, R., Akkermans, J. M., and Van de Velde, W. (1994b). CommonKADS: A comprehensive methodology for KBS development. IEEE Expert, 9(6):28{37. [Speel and Aben, 1996]Speel, P.-H. and Aben, M. (1996). Applying a library of problem solving methods on a real-life task. In Gaines, B. R. and Musen, M. A., editors, Proceedings of the 10th Ban Knowledge Acquisition for Knowledge-Based Systems Workshop, pages 10.1{10.21, Alberta, Canada. SRDG Publications, University of Calgary. http://ksi.cpsc.ucalgary.ca:80/KAW/KAW96/KAW96Proc.html. [Steels, 1990]Steels, L. (1990). Components of expertise. AI Magazine, 11(2):28{49. [ten Teije, 1997]ten Teije, A. (1997). Automated Con guration of Problem Solving Methods in Diagnosis. PhD thesis, University of Amsterdam, Amsterdam, The Netherlands. [Terpstra et al., 1993]Terpstra, P., van Heijst, G., Wielinga, B., and Shadtbolt, N. (1993). Knowledge acquisition support through generalised directive models. In David, J.-M., Krivine, J.-P., and Simmons, R., editors, Second Generation Expert Systems, pages 428{455. Springer-Verlag, Berlin Heidelberg, Germany. [Van de Velde, 1995]Van de Velde, W. (1995). Reuse in cyberspace. In Musen, M. and Studer, R., editors, Reusable Problem-Solving Methods, Dagstuhl seminar. Dagstuhl. http://arti.vub.ac.be/~walter/papers/dagstuhl/short.html. [van Soest, 1993]van Soest, D. C. (1993). Modeling for model-based diagnosis. PhD thesis, University of Twente, Enschede, The Netherlands.
17
[Zdrahal and Domingue, 1997]Zdrahal, Z. and Domingue, J. (1997). The world wide design lab: An environment for distributed collaborative design. In International Conference on Engineering Design, ICED. http://kmi.open.ac.uk/techreports/papers/kmi-tr-45.ps.gz.
18