Ad Code

Responsive Advertisement

Open Research Online

 Open Research Online

The Open University’s repository of research publications

and other research outputs

The Unified Problem-Solving Method Development

Language UPML

Journal Item

How to cite:

Fensel, Dieter; Motta, Enrico; van Harmelen, Frank; Benjamins, V. Richard; Crubezy, Monica; Decker, Stefan;

Gaspari, Mauro; Groenboom, Rix; Grosso, William; Musen, Mark; Plaza, Enric; Schreiber, Guus; Studer, Rudi

and Wielinga, Bob (2003). The Unified Problem-Solving Method Development Language UPML. Knowledge and

Information Systems, 5(1) pp. 83–131.

For guidance on citations see FAQs.


c 2003 Springer-Verlag

Version: Accepted Manuscript

Link(s) to article on publisher’s website:

http://dx.doi.org/doi:10.1007/s10115-002-0074-5

Copyright and Moral Rights for the articles on this site are retained by the individual authors and/or other copyright

owners. For more information on Open Research Online’s data policy on reuse of materials please consult the policies

page.

oro.open.ac.uk

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

1.10

1.11

1.12

1.13

1.14

1.15

1.16

1.17

1.18

1.19

1.20

1.21

1.22

1.23

1.24

1.25

1.26

1.27

1.28

1.29

1.30

1.31

1.32

1.33

1.34

1.35

1.36

1.37

1.38

1.39

1.40

1.41

1.42

1.43

1.44

The Unified Problem-solving Method Development

Language UPML

Dieter Fensel1, Enrico Motta3, Frank van Harmelen1, V. Richard Benjamins4, Monica Crubezy7, Stefan

Decker2, Mauro Gaspari5, Rix Groenboom6, William Grosso7, Mark Musen7, Enric Plaza8, Guus Schreiber4,

Rudi Studer2, and Bob Wielinga4

1 Division of Mathematics & Computer Science, Vrije Universiteit Amsterdam, De Boelelaan 1081a,

1081 HV Amsterdam, NL, {dieter,frankh}@cs.vu.nl

2 University of Karlsruhe, Institute AIFB, D-76128 Karlsruhe, Germany,

{dfe,sde,studer}@aifb.uni-karlsruhe.de

3 The Open University, Knowledge Media Institute, Walton Hall, MK7 6AA, Milton Keynes, United Kingdom,

e.motta@open.ac.uk

4 University of Amsterdam, Department of Social Science Informatics (SWI), Roeterstraat 15, NL-1018 WB

Amsterdam, The Netherlands, {richard,schreiber,wielinga}@swi.psy.uva.nl

5 Department of Computer Science, University of Bologna, Italy

gaspari@cs.unibo.it

6 University of Groningen, Department of Computer Science, P.O. Box 800,

NL-9700 AV Groningen, NL, rix@cs.rug.nl

7 Knowledge Modeling Group at Stanford Medical Informatics,

Stanford University, 251 Campus Drive, MSOB X-215, Stanford, California, USA

crubezy@SMI.Stanford.Edu, grosso@SMI.Stanford.Edu, musen@SMI.Stanford.Edu

8 Spanish Council of Scientific Research (CSIC), Artificial Intelligence Research Institute (IIIA), Campus

UAB, 08193 Bellaterra, Barcelona, Spain, enric@iiia.csic.es

2

2.1

2.2

2.3

2.4

2.5

2.6

2.7

2.8

2.9

2.10

2.11

2.12

2.13

2.14

2.15

2.16

2.17

2.18

2.19

2.20

2.21

2.22

2.23

2.24

2.25

2.26

2.27

2.28

2.29

2.30

2.31

2.32

2.33

2.34

2.35

2.36

2.37

2.38

2.39

2.40

2.41

2.42

2.43

2.44

Abstract. Problem-solving methods provide reusable architectures and

components for implementing the reasoning part of knowledge-based systems.

The Unified Problem-solving Method description Language UPML has been

developed to describe and implement such architectures and components to

facilitate their semiautomatic reuse and adaptation. In a nutshell, UPML is a

framework for developing knowledge-intensive reasoning systems based on

libraries of generic problem-solving components. The paper describes the

components and adapters, architectural constraints, development guidelines, and

tools provided by UPML. UPML is developed as part of the IBROW project;

which provides an internet-based brokering service for reusing problem-solving

methods.

1 Introduction

Knowledge-based systems are computer systems that deal with complex problems by

making use of knowledge. This knowledge may be acquired from humans or automatically

derived using abductive, deductive, and inductive techniques. This knowledge is mainly

represented declaratively rather than encoded using complex algorithms. This declarative

representation of knowledge economizes the process of developing and maintaining these

systems and improves their understandability. Therefore, knowledge-based systems

originally used simple and generic inference mechanisms to infer outputs for cases

provided. Inference engines, like unification, forward or backward resolution, and

inheritance, dealt with the dynamic part of deriving new information. However, human

experts can exploit knowledge about the dynamics of the problem-solving process and such

knowledge is required to enable problem-solving in practice and not only in principle.

[Clancey, 1983] provided several examples where knowledge engineers implicitly encoded

control knowledge by ordering production rules and premises of these rules which, together

with the generic inference engine, delivered the desired dynamic behaviour. Making this

knowledge explicit and regarding it as an important part of the entire knowledge contained

in a knowledge-based system is the rationale that underlies problem-solving methods PSMs

(cf. [Stefik, 1995], [Benjamins & Fensel, 1998], [Benjamins & Shadbolt, 1998], [Fensel,

2000]). Problem-solving methods refine the generic inference engines mentioned above to

allow a more direct control of the reasoning process. Problem-solving methods describe

this control knowledge independent of the application domain and thus enable the reuse of

this strategical knowledge for different domains and applications. Finally, problem-solving

methods abstract from a specific representation formalism, in contrast to the general

inference engines that rely on a specific representation of the knowledge. Problem-solving

methods (PSMs) decompose the reasoning tasks of a KBS in a number of subtasks and

inference actions that are connected by knowledge roles. Therefore PSMs are a special type

3

3.1

3.2

3.3

3.4

3.5

3.6

3.7

3.8

3.9

3.10

3.11

3.12

3.13

3.14

3.15

3.16

3.17

3.18

3.19

3.20

3.21

3.22

3.23

3.24

3.25

3.26

3.27

3.28

3.29

3.30

3.31

3.32

3.33

3.34

3.35

3.36

3.37

3.38

3.39

3.40

3.41

3.42

3.43

3.44

of software architecture ([Shaw & Garlan, 1996]): software architecture for describing the

reasoning part of KBSs.

Several libraries of problem solving methods are now available (c.f., [Marcus, 1988];

[Chandrasekaran et al., 1992]; [Puppe, 1993]; [Breuker & Van de Velde, 1994];

[Benjamins, 1995]; [Musen 1998]; [Motta, 1999]) and a number of problem-solving

method specification languages have been proposed, ranging from informal notations (e.g.

CML [Schreiber et al., 1994]) to formal modeling languages (see [Fensel & van Harmelen,

1994], [Fensel, 1995] for summaries).

The IBROW project1 [Benjamins et al., 1998], [Fensel & Benjamins, 1998a] was

established with the aim of enabling semi-automatic reuse of PSMs. This reuse is provided

by integrating libraries in an internet-based environment. A broker is provided that selects

and combines PSMs of different libraries. A software engineer interacts with a broker that

supports him in this configuration process. As a consequence, a description language for

these reasoning components (i.e., PSMs) must provide comprehensible high-level

descriptions with substantiated formal means to allow automated support by the broker.

Therefore, we developed the Unified Problem-Solving Method description Language

UPML (cf. [Fensel et al., 1999a], [Fensel et al., 1999b], [Fensel et al., 1999c]).

UPML is an architectural description language specialized for a specific type of systems

providing components, adapters and a configuration for connecting the components be

using the adapters (called architectural constraints). Finally design guidelines provide

ways to develop a system constructed from the components and connectors that satisfy the

constraints. UPML brings together the experiences that have been made using the

numerous modeling languages developed for knowledge-based systems. Examples are

CML [Schreiber et al., 1994], DESIRE [van Langevelde et al., 1993], KARL [Fensel et al.,

1998b], MCL [Fensel et al., 1998a], (ML)2 [van Harmelen & Balder, 1992], MODEL-K

[Karbach & Voß, 1992], MoMo [Voß & Voß, 1993], Noos [Arcos & Plaza, 1996]. In terms

of software architecture languages (cf. [Clements, 1996]), UPML is a language specialized

for a specific type of systems.

In the meantime, UPML has been adopted by a large number of research groups and has,

for example, been used to specify the design library of [Motta, 1999] at Milton Keynes (see

[Motta et al., 1998]) and parts of the PSM library at Stanford (cf. [Musen 1998]). The

former library is fully available on the web, allowing only the configuration of design

problem solvers. It has also been applied to Office Allocation, Elevator Configuration,

1. IBROW started with a preliminary phase under the 4th European Framework and has become a full-fledged

Information Society Technologies (IST) project under the 5th European Framework Program since January 2000. Results

of its initial phase are described in [Benjamins et al., 1999], [Benjamins & Fensel, 1998], and [Fensel et al., 1999b].

Project partners are the University of Amsterdam; the Open University, Milton Keynes, England; the Spanish Council of

Scientific Research (IIIA) in Barcelona, Spain; the Institute AIFB, University of Karlsruhe, Germany: Stanford

University, US: Intelligent Software Components S. A., Spain; and the Vrije Universiteit Amsterdam.

http://www.swi.psy.uva.nl/projects/IBROW3/home.html

4

4.1

4.2

4.3

4.4

4.5

4.6

4.7

4.8

4.9

4.10

4.11

4.12

4.13

4.14

4.15

4.16

4.17

4.18

4.19

4.20

4.21

4.22

4.23

4.24

4.25

4.26

4.27

4.28

4.29

4.30

4.31

4.32

4.33

4.34

4.35

4.36

4.37

4.38

4.39

4.40

4.41

4.42

4.43

4.44

Engineering Design (sliding bearing design, truck cab design, casting technology design)

and Health-care. Hopefully it will become a widely used standard approach for describing

and developing knowledge-based systems with reusable components. This will increase

overall productivity in developing systems and will simplify exchange of work between

different groups. Presenting UPML, its main ideas and concepts is the purpose of this

paper.

The content of the paper is organized as follows. In Section 2, we will sketch the

architectural framework that is provided by UPML. Sections 3 discusses the different

elements of our architecture: ontologies, tasks, domain models, problem-solving methods,

refiners, and bridges. Section 4 introduces the architectural constraints that ensure welldefined

architectures, the development guidelines of UPML, and the tool environment

which accompanies UPML. Finally, we bring our conclusions, a discussion of related work,

and an outlook in Section 5.

5

5.1

5.2

5.3

5.4

5.5

5.6

5.7

5.8

5.9

5.10

5.11

5.12

5.13

5.14

5.15

5.16

5.17

5.18

5.19

5.20

5.21

5.22

5.23

5.24

5.25

5.26

5.27

5.28

5.29

5.30

5.31

5.32

5.33

5.34

5.35

5.36

5.37

5.38

5.39

5.40

5.41

5.42

5.43

5.44

2 The Architecture of UPML

UPML unifies and generalizes the conceptual models for describing knowledge-based

systems that were developed by several approaches in knowledge engineering. In particular

the model of expertise was developed in CommonKADS [Schreiber et al., 1994] for

distinguishing different knowledge types and describing a knowledge-based system at a

conceptual level. However, its goal was not to describe the different software components

of which a knowledge-based system is built. In consequence, we had to (1) decouple

different element of this model, (2) encapsulate these different elements and (3) explicitly

model their interactions. Therefore, in [Fensel & Groenboom, 1997] and [Fensel &

Groenboom, 1999] we introduced an architecture for knowledge-based systems as a

modification and extension of the CommonKADS model of expertise. UPML further

develops this architecture and introduces additional elements in it.

The UPML architecture for describing a knowledge-based system consists of six different

elements (see Figure 1): a task that defines the problem that should be solved by the

knowledge-based system, a problem-solving method that defines the reasoning process of a

knowledge-based system, and a domain model that describes the domain knowledge of the

knowledge-based system. Each of these elements is described independently to enable the

reuse of task descriptions in different domains, the reuse of problem-solving methods for

different tasks and domains, and the reuse of domain knowledge for different tasks and

problem-solving methods. Ontologies (cf. [Gruber, 1993], [Mizoguchi et al., 1995])

provide the terminology used in tasks, problem-solving methods, and domain definitions.

Again this separation enables knowledge sharing and reuse. For example, different tasks or

problem-solving methods can share parts of the same vocabulary and definitions. A fifth

element of a specification of a knowledge-based system are adapters which are necessary

to adjust the other (reusable) parts to each other and to the specific application problem.2

UPML provides two types of adapters: bridges and refiners. Bridges explicitly model the

relationships between two different parts of an architecture, e.g. between domain and task

or task and problem-solving method. Refiners can be used to express the stepwise

adaptation of other elements of a specification, e.g. a task is refined or a problem-solving

method is refined ([Fensel, 1997], [Fensel & Motta, 1998]). Generic problem-solving

methods and tasks can be refined to produce more specific ones by applying a sequence of

refiners to them. Again, separating generic and specific parts of a reasoning process

enhances reusability. The main distinction between bridges and refiners is that bridges

change the input and output of components making them fit together whereas refiners may

change internal details like subtasks of a problem solving method. In the following we will

see the use of a bridge to connect the problem-solving method hill-climbing with the task

diagnostic problem solving (i.e., we model a task-specific refinement of a problem-solving

method via a bridge) and the use of a refiner to specialize a generic search method until it

2. Adapters correspond to the transformation operators of [Van de Velde, 1994].

6

6.1

6.2

6.3

6.4

6.5

6.6

6.7

6.8

6.9

6.10

6.11

6.12

6.13

6.14

6.15

6.16

6.17

6.18

6.19

6.20

6.21

6.22

6.23

6.24

6.25

6.26

6.27

6.28

6.29

6.30

6.31

6.32

6.33

6.34

6.35

6.36

6.37

6.38

6.39

6.40

6.41

6.42

6.43

6.44

becomes hill-climbing (i.e., we use a refiner to specialize the algorithmic paradigm of a

method).

The different parts of the architecture will be discussed in the following section.

Fig. 1 The UPML architecture for knowledge-based systems.

Task

Domain Model

Task-Domain

Bridge

PSM

PSM-Domain

Bridge

PSM-Task

Bridge

Ontologies

Task PSM

Ont.

Refiner

Domain

Refiner

Refiner Refiner

7

7.1

7.2

7.3

7.4

7.5

7.6

7.7

7.8

7.9

7.10

7.11

7.12

7.13

7.14

7.15

7.16

7.17

7.18

7.19

7.20

7.21

7.22

7.23

7.24

7.25

7.26

7.27

7.28

7.29

7.30

7.31

7.32

7.33

7.34

7.35

7.36

7.37

7.38

7.39

7.40

7.41

7.42

7.43

7.44

3 The Different Elements of the UPML Architecture

In the following, we discuss the different elements of the UPML architecture and how they

are connected. First we introduce the graphical notation of UPML and survey the structure

of an entire example in Section 3.1. Then, we introduce the different elements of a

specification. We introduce ontologies in Section 3.2. Ontologies provide the definition of

signatures and axioms that are used by the other parts of the architecture. Section 3.3

introduces tasks that define the problems solved by knowledge-based systems. Section 3.4

provides the definition of domain models and Section 3.5 shows how tasks and domain

models are connected via bridges. Section 3.6 introduces the core of UPML, the

specification frame for describing problem-solving methods. Section 3.7 shows how such

descriptions of problem-solving methods can be refined to provide a structured way to

develop and describe problem-solving methods and their different variants. Section 3.8

provides the bridges between problem-solving methods and tasks and domains. Finally, the

overall structure of UPML is defined in Section 3.9.

3.1 Graphical Notations of UPML

The graphical notation of UPML can be used to clarify the overall structure of the

architecture of a system. Figure 2 illustrates our running example. We have a task complete

and parsimonious diagnoses, a domain model anesthesiology, and a problem-solving

method search defining five subtasks. This generic method becomes refined to hillclimbing

by refining two of its subtasks. There are three bridges that link task, domain, and

method; and four ontologies provide the terminology for the different specification

elements.

The example may also clarify the relationship between subtasking and the refinement of a

problem-solving method. Subtasking corresponds to the part-of construct of knowledge

representation formalisms. A problem-solving method decomposes its entire reasoning

tasks into subtasks. The refinement of problem-solving methods as introduced in [Fensel,

1997] corresponds to the is-a relationship of knowledge representation formalisms. The

example we will use is hill-climbing, a subclass of general search methods. Therefore it

specializes some of its arguments (i.e., Initialize and Update Nodes, and the competence

description).

8

8.1

8.2

8.3

8.4

8.5

8.6

8.7

8.8

8.9

8.10

8.11

8.12

8.13

8.14

8.15

8.16

8.17

8.18

8.19

8.20

8.21

8.22

8.23

8.24

8.25

8.26

8.27

8.28

8.29

8.30

8.31

8.32

8.33

8.34

8.35

8.36

8.37

8.38

8.39

8.40

8.41

8.42

8.43

8.44

Fig. 2 The graphical representation of the example.

diagnosis

complete and

parsimonious diagnoses

anesthesiology anesthesiology

search

search

Derive Successor

Initialize

Select Node

Stop

Update Nodes

hill-climbing

search

with preference

Initialize for

hill-climbing

Update Nodes

for hill-climbing

Nodes

ontology domain model task task

task

refiner

problem-solving method problem-solving

method refiner

bridge

import

decompose

problem

-solving

method

9

9.1

9.2

9.3

9.4

9.5

9.6

9.7

9.8

9.9

9.10

9.11

9.12

9.13

9.14

9.15

9.16

9.17

9.18

9.19

9.20

9.21

9.22

9.23

9.24

9.25

9.26

9.27

9.28

9.29

9.30

9.31

9.32

9.33

9.34

9.35

9.36

9.37

9.38

9.39

9.40

9.41

9.42

9.43

9.44

3.2 Ontology

An ontology provides “an explicit specification of a conceptualization“ [Gruber, 1993],

which can be shared by multiple reasoning components communicating during a problem

solving process (cf. [Top & Akkermans, 1994], [Mizoguchi et al., 1995]). In our framework

ontologies are used to define the terminology and properties used to define tasks, problemsolving

methods, and domain models. UPML does not commit itself to a specific language

style for defining an ontology. However, we provide two styles as possible ways for

specifying signatures and axioms. First, we provide logic with sorts close to the

specification style of (ML)2 and MCL [Fensel et al., 1998a]. Second, we provide a framebased

representation using concepts and attributes as it was proposed by CML and KARL.

We provide these two different language styles because these languages cover different

needs.

1 The simple and therefore „elegant“ sorted logic variant consists of first-order

logic, some reified second order constructs (i.e., syntactically second-order but

semantically within first-order) and a simple sort concept.

2 Frame-logic [Kifer et al., 1995] is a powerful language for rich ontological

modeling. Its syntax is more complex (i.e. richer) providing modeling primitives at

a higher epistemological level. Objects, classes, attributes, domain and range

restrictions, multiple attribute inheritance etc. are provided. Again, these modeling

constructs are integrated into a semantical first-order framework using reification.

Frame logic provides more direct support in modeling ontologies; however, its

syntax is more complex and less well known than the syntax of standard predicate

logic.

At present, UPML standardizes the overall architecture of a system but does not fix the

language that is used to define the elementary elements of this architecture. The

development of a language called OIL is under developed that will be used for this purpose.

The next section will provide several examples for ontologies, however, we will restrict

ourselves to the more simpler style of sorted logic. We will use the following naming

conventions. Sort names are words beginning with an uppercase, constant, function,

predicate, and variable names begin with a lowercase. Non-quantified variables are

implicitly all-quantified.

3.3 Task

A task ontology specifies a theory, i.e. a signature and a logical characterization of the

signature elements, that is used to define tasks (i.e., a problem type). An example of a task

10

10.1

10.2

10.3

10.4

10.5

10.6

10.7

10.8

10.9

10.10

10.11

10.12

10.13

10.14

10.15

10.16

10.17

10.18

10.19

10.20

10.21

10.22

10.23

10.24

10.25

10.26

10.27

10.28

10.29

10.30

10.31

10.32

10.33

10.34

10.35

10.36

10.37

10.38

10.39

10.40

10.41

10.42

10.43

10.44

ontology which is used to provide the elements for defining a diagnostic problem is

illustrated in Figure 3 . The ontology introduces two elementary sorts Finding and

Hypothesis that will be grounded later in a domain model. The former describes

phenomenons and the latter describes possible explanations. The two constructed sorts

Findings and Hypotheses are sets of elements of these elementary sorts. The function

explain connects findings with hypotheses. Domain knowledge must further characterize

this function. Three predicates are provided. An order < is used to define optimality (i.e.,

parsimonity) of hypotheses and finally, completeness, which ensures that a hypothesis

explains a set of findings.

The description of a task specifies goals that should be achieved in order to solve a given

problem. A second part of a task specification is the definition of assumptions about

domain knowledge and preconditions on the input. These parts establish the definition of a

problem that is to be solved by the knowledge-based system. In contrast to most approaches

in software engineering this problem definition is kept domain independent, which enables

the reuse of generic problem definitions for different applications. A second distinguishing

feature is the distinction between preconditions on input and assumptions about knowledge.

Fig. 3 A task ontology for diagnostic problems.

ontology diagnoses

pragmatics

The task ontology defines diagnoses for a set of observations;

Dieter Fensel;

May 2, 1998;

D. Fensel: Understanding, Developing and Reusing Problem-Solving Methods.

Habilitation, Faculty of Economic Science, University of Karlsruhe, 1998;

signature

elementary sorts

Finding; Hypothesis

constructed sorts

Findings : set of Finding; Hypotheses : set of Hypothesis

constants

observations : Findings; diagnosis : Hypotheses

functions

explain: Hypotheses → Findings

predicates

< : Hypotheses x Hypotheses;

complete: Hypotheses x Findings;

parsimonious: Hypotheses

axioms

A hypothesis is complete for some findings iff it explains all of them.

complete(H,F) ↔ explain(H) = F;

A hypothesis is parsimonious iff there is no smaller hypothesis with larger or equal

explanatory power.

parsimonious(H) ↔ ¬∃H’ (H’ < H ∧ explain(H) ⊆ explain(H’))

11

11.1

11.2

11.3

11.4

11.5

11.6

11.7

11.8

11.9

11.10

11.11

11.12

11.13

11.14

11.15

11.16

11.17

11.18

11.19

11.20

11.21

11.22

11.23

11.24

11.25

11.26

11.27

11.28

11.29

11.30

11.31

11.32

11.33

11.34

11.35

11.36

11.37

11.38

11.39

11.40

11.41

11.42

11.43

11.44

In an abstract sense, both can be viewed as input. However, distinguishing case data, which

are processed (i.e., input), from knowledge, which is used to define the goal, is a

characteristic feature of knowledge-based systems. Preconditions are conditions on

dynamic inputs. Assumptions are conditions on knowledge consulted by the reasoner but

not transformed. Often, assumptions can be checked in advance during the system building

process, preconditions cannot. They rather restrict the valid inputs. Input and output role

definitions provide the terms that refer to the input and output of the task. These names

must be defined in the signature definition of the task. The assumptions ensure (together

with the axioms of the ontology) that the task can always be solved for permissable input

(input for which the preconditions hold). For example, when the goal is to find a global

optimum, then the assumptions have to ensure that such a global optimum exists (i.e., that

the preference relation is non-cyclic). Whether we write an assumption or not as an axiom

of an ontology is a modeling decision. If it is highly reusable and only weakly coupled with

the specific goals of the task then it should be written as an axiom of the ontology imported

by the task. Otherwise, it is more useful to directly write it as an assumption of the specific

task.

A task definition imports ontologies that define its vocabulary and other tasks which it

refines. The latter enable hierarchical structuring of task specifications. For example,

parametric design can be defined as a refinement of design (cf. [Fensel & Motta, 1998]).

An example of a task specification is given in Fig. 4. The goal specifies a complete and

parsimonious (i.e., minimal) diagnosis. It is guaranteed that such a diagnosis exists if the

domain knowledge can provide a complete diagnosis for each (non-empty) input. We are

able to guarantee the existence of a complete and parsimonious diagnosis if we can

guarantee that < is non-reflexive and transitive and we assume the finiteness of the set of

hypotheses.

3.4 Domain Model

The domain knowledge is necessary to define the task in the given application domain and

to carry out the inference steps of the chosen problem-solving method. Properties and

assumptions differ in their way we assume their truth. Properties can be derived from the

domain knowledge, whereas assumptions have to be assumed to be true, i.e. they have not

been proven or they cannot be proven. Assumptions capture the implicit and explicit

assumptions made while building a domain model of the real world. Properties and

assumptions are both used to characterize the domain knowledge. They are the counterparts

of the requirements on domain knowledge introduced by the other parts of a specification.

Some of these requirements may be directly inferred from the domain knowledge (and are

therefore properties of it), whereas others can only be derived by introducing assumptions

about the environment of the system and the actual input. For example, typical external

12

12.1

12.2

12.3

12.4

12.5

12.6

12.7

12.8

12.9

12.10

12.11

12.12

12.13

12.14

12.15

12.16

12.17

12.18

12.19

12.20

12.21

12.22

12.23

12.24

12.25

12.26

12.27

12.28

12.29

12.30

12.31

12.32

12.33

12.34

12.35

12.36

12.37

12.38

12.39

12.40

12.41

12.42

12.43

12.44

assumptions in model-based diagnosis are: the fault model is complete (no fault appears

that is not captured by the model), the behavioral description of faults is complete (all fault

behaviors of the components are modeled), the behavioral discrepancy that is provided as

input is not the result of a measurement fault, etc. (cf. [Fensel & Benjamins, 1998b]).

Our framework for defining a domain model provides three elements: a meta-level

characterization of properties of the domain model, assumptions of the domain model, and

the domain knowledge itself. Again, ontologies are an externalized means for defining the

terminology. Figure 5 provides an ontology for Anesthesiology. The medical domain model

we have chosen for our example is a subset of a large case-study in the formalization of

domain knowledge for an anesthesiological support system. Figure 5 provides the sort

cause and manifestation and a causal relation between them.

The support system of our running example is designed to diagnose a (limited) number of

hypotheses based on real-time acquired data. This data is obtained from the medical

Fig. 4 The task specification of a diagnostic task.

task complete and parsimonious diagnoses

pragmatics

The task asks for a complete and minimal diagnosis;

Dieter Fensel;

May 2, 1998;

D. Fensel: Understanding, Developing and Reusing Problem-Solving Methods.

Habilitation, Fakulty of Economic Science, University of Karlsruhe, 1998;

ontology

diagnoses

specification

roles

input observations; output diagnosis

goal

[task(input observations; output diagnosis)]1

complete(diagnosis, observations) ∧ parsimonious(diagnosis)

preconditions

observations ≠ ∅

assumptions

If we receive input there must be a complete hypothesis.

observations ≠ ∅ → ∃H complete(H, observations);

Nonreflexivity of <.

¬ (H < H);

Transitivity of <.

(H < H´ )∧ (H´< H´´ )→ (H < H´´);

Finiteness of H.

Finite(H)

1. [] is a modal operator of dynamic logic, cf. [Harel, 1984]. [p]α means if the program p terminates the

formula α holds.

13

13.1

13.2

13.3

13.4

13.5

13.6

13.7

13.8

13.9

13.10

13.11

13.12

13.13

13.14

13.15

13.16

13.17

13.18

13.19

13.20

13.21

13.22

13.23

13.24

13.25

13.26

13.27

13.28

13.29

13.30

13.31

13.32

13.33

13.34

13.35

13.36

13.37

13.38

13.39

13.40

13.41

13.42

13.43

13.44

database system Carola [de Geus & Rotterdam, 1992] which performs on-line logging of

measurements. In this domain we deal with abstract notions, derived from interpretations of

measurements. The exact meaning of HighPartm (which stands for a High mean arterial

blood-pressure) is defined elsewhere in the formal domain model (see [Groenboom, 1997]).

Another technical term is ToolowCOP, which refers to a too low Cellular Oxygen Pressure.

Figure 6 provides an example for a domain model definition. The properties ensure that

there is a cause for each manifestation and that causes do not conflict. That is, different

causes do not lead to an inconsistent set of manifestations. In our domain this is guaranteed

by the fact, that we do not have knowledge about negative evidence (i.e., a symptom may

rule out an explanation). Assuming more causes only leads to a larger set of symptoms that

can be explained. The complete-fault-knowledge assumption guarantees that there are no

other unknown faults, like hidden diseases for example. Only under this assumption can we

deductively infer causes from observed symptoms. However, it is a critical assumption

when relating the output of our system to the actual problem and domain (cf. [Fensel &

Benjamins, 1998b]).3

3.5 Task-Domain Bridge

An adapter maps the different terminologies of task definition, problem-solving method

and domain model to each other. Moreover, it gives further assumptions that are needed to

relate the competence of a problem-solving method with the functionality given by the task

3. Note that we do not assume complete knowledge of symptoms.

Fig. 5 A domain ontology of anesthesiology.

ontology anesthesiology

pragmatics

The domain ontology provides faults for malfunctions for anesthesiology;

Rix Groenboom;

[Groenboom, 1997];

http://www.medical-library.org

signature

elementary sorts

Cause; Manifestation

constructed sorts

Causes set of Cause

constants

highHeartRate, highPartm, toolowCOP, wakingUp : Manifestation;

centralization, pain, edema, lowAnesthesia : Cause

predicates

cause relation : Cause x Manifestation

14

14.1

14.2

14.3

14.4

14.5

14.6

14.7

14.8

14.9

14.10

14.11

14.12

14.13

14.14

14.15

14.16

14.17

14.18

14.19

14.20

14.21

14.22

14.23

14.24

14.25

14.26

14.27

14.28

14.29

14.30

14.31

14.32

14.33

14.34

14.35

14.36

14.37

14.38

14.39

14.40

14.41

14.42

14.43

14.44

definition. The task, the problem-solving method, and the domain model can be described

independently and selected from libraries because adapters relate these parts of a

specification to each other and establish their relationship in a way that meets the specific

application problem. The adapter is responsible for consistently combining and adapting

the three different components to the specific aspects of the given application—as they are

designed to be reusable they need to abstract from specific aspects of application problems.

Fig. 6 The domain model anesthesiology.

domain model anesthesiology

pragmatics

The domain provides faults for malfunctions for anesthesiology;

Rix Groenboom;

[Groenboom, 1997];

http://www.medical-library.com

ontology

anesthesiology

properties

there is a cause for each manifestation

s ∈{wakingUp, highPartm, highHeartRate, toolowCOP} → ∃ h cause relation(h, s);

the fault knowledge is monotonic

H ⊆ H ´ →

{s | h ∈ H ∧ cause relation(h,s)} ⊆ {s | h ∈ H ´ ∧ cause relation(h,s)}

assumptions

complete fault knowledge:

We know all possible causes of the provided manifestations.

cause relation(h,s) →

h = lowAnesthesia ∧ s = wakingUp ∨

h = centralization ∧ s = highPartm ∨

h = pain ∧ s = highPartm ∨

h = pain ∧ s = wakingUp ∨

h = pain ∧ s = highHeartRate ∨

h = edema ∧ s = highHeartRate ∨

h = edema ∧ s = toolowCOP

domain knowledge

cause relation(lowAnesthesia,wakingUp);

cause relation(centralization,highPartm);

cause relation(pain,highPartm);

cause relation(pain,wakingUp);

cause relation(pain,highHeartRate);

cause relation(edema,highHeartRate);

cause relation(edema,toolowCOP)

15

15.1

15.2

15.3

15.4

15.5

15.6

15.7

15.8

15.9

15.10

15.11

15.12

15.13

15.14

15.15

15.16

15.17

15.18

15.19

15.20

15.21

15.22

15.23

15.24

15.25

15.26

15.27

15.28

15.29

15.30

15.31

15.32

15.33

15.34

15.35

15.36

15.37

15.38

15.39

15.40

15.41

15.42

15.43

15.44

In addition, adapters introduce assumptions necessary for closing the gap between a

problem definition (task) and the competence of a problem-solving method. As we will

later see, adapters also will be used to express the refinement of tasks, problem-solving

methods, and domain models. In this case, adapters also specify reusable knowledge. They

not only provide an application-specific glue, but also specify refinements expressing a

problem type. Adapters can be piled up to express the stepwise refinement of problemsolving

methods.

One specific adapter type of UPML is the task-domain bridge. This bridge type instantiates

tasks for specific domains and therefore enables that they can be described domainindependently

and reusably. Mapping of different terminologies can either be achieved

directly by renaming or indirectly by linking their properties via mapping axioms. A bridge

may be forced to state assumptions about domain knowledge to ensure that the mapped

terminologies respect the definitions of a task specification. These assumptions are the

subset of assumptions of the task specification that are not part of the properties of the

domain model, i.e., which are not fulfilled by the current model. Like all other elements of

the architecture bridges may make use of ontologies (called bridge ontologies in their case).

Figure 7 shows our running example. Manifestations, causes and the order on hypotheses

can be renamed directly. The definition of the function explain requires a more complex

logical expression that transforms a binary relation into a function having sets as values.

3.6 Problem-Solving Method

Problem-solving methods describe the reasoning steps and types of knowledge which are

Fig. 7 The td-bridge complete and parsimonious diagnosis @ anesthesiology.

td bridge complete and parsimonious diagnosis @ anesthesiology

pragmatics

The bridge connects the task of finding a complete and minimal explanation with

domain knowledge on anesthesiology

rename

Manifestation ⇒ Finding;

Cause ⇒ Hypothesis;

A smaller hypothesis has higher preference

⊃ ⇒ <

mapping axioms

A finding is explained by a hypothesis iff there is an element of the hypothesis that is a

cause of the finding.

s ∈ explain(H) ↔ ∃ h (h ∈ H ∧ cause relation(h,s))

16

16.1

16.2

16.3

16.4

16.5

16.6

16.7

16.8

16.9

16.10

16.11

16.12

16.13

16.14

16.15

16.16

16.17

16.18

16.19

16.20

16.21

16.22

16.23

16.24

16.25

16.26

16.27

16.28

16.29

16.30

16.31

16.32

16.33

16.34

16.35

16.36

16.37

16.38

16.39

16.40

16.41

16.42

16.43

16.44

needed to perform a task. In addition to some minor differences between the approaches,

there is strong consensus that a problem-solving method: (1) decomposes the entire

reasoning task into more elementary substeps, (2) defines the types of knowledge that are

needed by the inferences to be done, and (3) defines control and knowledge flow between

the inferences (cf. [Schreiber et al., 1994]). In addition, [Van de Velde, 1988] and

[Akkermans et al., 1993] define the competence of a problem-solving method

independently from the specification of its operational reasoning behavior (i.e., a functional

black-box specification). Proving that a problem-solving method has some competence has

the clear advantage that the selection of a method for a given problem and the verification

whether a problem-solving method fulfills its task can be performed independently from

details of the internal reasoning behavior of the method.

We will describe the UPML Architecture of Problem-Solving Methods and we will provide

some illustrations.

3.6.1 The UPML Architecture of Problem-Solving Methods

UPML distinguishes two different types of problem-solving methods: complex problemsolving

methods that decompose a task into subtasks and primitive problem-solving

methods that make assumptions about domain knowledge to perform a reasoning step.

Therefore, the latter correspond to inference actions in CommonKADS. They do not have

an internal structure, i.e. their internal structure is regarded as an implementational aspect

of no interest for the architectural specification of the entire knowledge-based system.

UPML provides six elements for describing a complex problem-solving method:

• the already provided concept of (1) pragmatics.

• The (2) costs of a problem-solving method have several different dimensions (cf.

[O’Hara & Shadbolt, 1996], [Fensel & Straatman, 1998], [Fensel & Benjamins,

1998b]): interaction costs (with user and other aspects of the environment) and

computation costs (in terms of average, worst, or typical cases). It is clear that a cost

descriptions must regard both aspects and weigh them according to domain and

application-specific circumstances. UPML does not make a specific commitment

because there is no general and agreed to way to describe the costs of problem-solving

methods (or algorithms in general).

• The (3) communication policy describes the communication style of the method and its

components. It defines the ports of each building block and for each port how the block

reacts to incoming events and how it generates outcoming events (compare [Allen &

Garlan, 1997], [Yellin & Strom, 1997]). In regard to the entire method, the

communication protocol describes the interaction of the system with its environment.

17

17.1

17.2

17.3

17.4

17.5

17.6

17.7

17.8

17.9

17.10

17.11

17.12

17.13

17.14

17.15

17.16

17.17

17.18

17.19

17.20

17.21

17.22

17.23

17.24

17.25

17.26

17.27

17.28

17.29

17.30

17.31

17.32

17.33

17.34

17.35

17.36

17.37

17.38

17.39

17.40

17.41

17.42

17.43

17.44

In case of an inference action it describes how a component interacts with other

components. The interaction style of the different components must be compatible to

each other and to the overall control introduced by the problem-solving method.4

• The (4) ontology provides a signature used for describing the method (cf. [Studer et al.,

1996], [Fensel et al., 1997], [Chandrasekaran et al., 1998], [Gennari et al., 1998]).

• The (5) competence description provides functional specification of the problemsolving

method. It introduces preconditions restricting valid inputs and the

postconditions describe what the method provides as output.

• Finally, the (6) operational specification complements this with the description of the

actual reasoning process of the method. Such an operational description explains how

the desired competence can be achieved. It defines the data and control flow between

the main reasoning steps so as to achieve the functionality of the problem-solving

method. For this purpose it introduces intermediate roles (the stores for input and

output of the intermediate reasoning steps), the procedures, and the control. For

specification of control we rely on MCL [Fensel et al., 1998a] that integrates (ML)2

[van Harmelen & Balder, 1992] and KARL [Fensel et al., 1998b] into a coherent

semantical framework. However, we made the syntax of MCL more readable and we

will explain its primitives below with an example

A complex method decomposes a task into subtasks and therefore recursively relies on

other methods that process its subtasks. Such a subtask may describe a complex reasoning

task that may further be decomposed by another problem-solving method or may be

performed directly by a simple problem-solving method.

The specification of a primitive problem-solving method closely resembles the definition of

a complex one with two significant differences: A primitive problem-solving method does

not provide an operational specification and the definition of the competence differs

slightly. Assumptions describe properties of the domain knowledge that is needed by the

method. The assumptions about domain knowledge are the equivalent of the assumptions

about the subtasks of a complex problem-solving method.

3.6.2 An Example Problem-Solving Method

We present the generic search method of [Fensel & Motta, to appear] as example. First we

provide the definition of the method ontology in Figure 8. Basically it defines a sort object

4. For example, a component A cannot wait of the input of a component B when the control of the problem-solving

methods decides to start with A. In general, the control defined by the method realizes a subset of all possible and

meaningful interaction patterns of the components.

18

18.1

18.2

18.3

18.4

18.5

18.6

18.7

18.8

18.9

18.10

18.11

18.12

18.13

18.14

18.15

18.16

18.17

18.18

18.19

18.20

18.21

18.22

18.23

18.24

18.25

18.26

18.27

18.28

18.29

18.30

18.31

18.32

18.33

18.34

18.35

18.36

18.37

18.38

18.39

18.40

18.41

18.42

18.43

18.44

which is used to define input and output of the method and a predicate stop criterion which

will be used to characterize the postcondition of the method.

Figure 9 provides the specification of the search method. The method receives a set of

objects as input and provides one object as output. It assumes that the input is not empty. It

decomposes the entire reasoning process into five subtasks: Initialize, Derive Successor

Nodes, Select Node, Stop, and Update Nodes which are defined in Figure 10. The method

makes four assumptions about its subtasks:

• Initialize must select a non-empty subset from the input.

• Select Node must select an element from its input.

• Stop must be true for some instantiations.

• Update Nodes must provide a non-empty subset of the union of its inputs.

In its postcondition the method guarantees that the stop criterion holds for its output. Figure

9 also describes how such a state fulfilling the postcondition can be achieved. It defines that

a recursive search is performed after the initialization. This recursive search iterates three

steps. First, we select an object from its input, then we derive the successors of this object

Fig. 8 A PSM ontology of search.

ontology search

pragmatics

The ontology provides an ontology for describing search;

signature

elementary sorts

Object

constructed sorts

Objects set of Object

constants

input : Objects;

output : Object;

node : Object;

nodes : Objects;

successor nodes : Objects

predicates

initial select : Objects x Objects;

select node : Object x Objects;

stop criterion : Object x Objects;

successor : Objects x Objects;

update node : Objects x Objects x Objects

19

19.1

19.2

19.3

19.4

19.5

19.6

19.7

19.8

19.9

19.10

19.11

19.12

19.13

19.14

19.15

19.16

19.17

19.18

19.19

19.20

19.21

19.22

19.23

19.24

19.25

19.26

19.27

19.28

19.29

19.30

19.31

19.32

19.33

19.34

19.35

19.36

19.37

19.38

19.39

19.40

19.41

19.42

19.43

19.44

and use the input and successors to create a new object set. If the selected object and the

newly created object set fulfill the stop criterion we stop the search and receive the object as

output. Otherwise we continue recursion with the newly constructed object set. UPML

distinguishes whether we get one or all outputs of a task and inference.

The states are described by the “constants” input, node, nodes, output, and successor nodes.

Constants may have different values in different states according to the multiple-world

semantics of our specification approach.5 In fact, the logic MCL [Fensel et al., 1998a]

Fig. 9 A problem-solving method search.

problem solving method search

pragmatics

The search method stops when a node is found that fulfils the stop criterion

ontology

search

competence

roles

input input; output output

preconditions

input ≠ ∅

subtasks

Derive Successor Nodes; Initialize; Select Node; Stop; Update Nodes

postconditions

The stop criterion holds for the output and a subset of a predecessor of the output.

∃x (stop criterion(output,x) ∧ x ⊆ y ∧ successor(y,output)

If the stop criterion holds for x in a context y it also holds for all subsets of y

(i.e., for all smaller contexts).

stop criterion(x,y) ∧ z ⊆ y → stop criterion(x,z)

operational description

intermediate roles

intermediate node; intermediate nodes; intermediate successor nodes

procedures

Recursive Search

control

search()

begin

/* Initializes and starts the search. */

nodes:= all x . Initialize(output x, input input);

output := one x . Recursive Search(output x, input nodes)

end

Recursive Search(output x, input nodes)

begin

node := one x . Select Node(output x, input nodes);

successor nodes := all x . Derive Successor Nodes(output x, input node);

nodes := all x . Update Nodes(output x, input nodes, input successor nodes);

if Stop (input node, input nodes)

then return node

else Recursive Search(output x, input nodes)

endif

end

20

20.1

20.2

20.3

20.4

20.5

20.6

20.7

20.8

20.9

20.10

20.11

20.12

20.13

20.14

20.15

20.16

20.17

20.18

20.19

20.20

20.21

20.22

20.23

20.24

20.25

20.26

20.27

20.28

20.29

20.30

20.31

20.32

20.33

20.34

20.35

20.36

20.37

20.38

20.39

20.40

20.41

20.42

20.43

20.44

which provides the formal base for our representation of control, allows more complex

structures to store a state in the left side of expressions expressing state transitions.

Complex functions representing list, records or more complex data structures can be used.

For more details see [Fensel & Groenboom, 1996], [Fensel et al., 1998a]. For the given

example, constants are rich enough to be used as data structure.

Figure 10 provides the definition of the five subtasks of search. The definition of the

subtasks is externalized from the specification of the problem-solving method to enable

their reuse in other problem-solving methods.6

3.7 Problem-Solving Method Refiner

The search method we sketched in section 3.6 is still very generic. That is, it can be used for

nearly any type of task and domain. However, it requires much adaptation effort if applied.

[Fensel, 1997] and [Fensel & Benjamins, 1998a] introduce a principled approach for the

adaptation of problem-solving methods that provides more refined and therefore usable

methods but avoids the exponential increase in the number of components required. This is

achieved by externalizing the adaptation of methods. The refinement of the method is not

mixed up with its generic specification. The refinement is described via an external

component (the refiner). Therefore, the generic method can still be used for cases in which

none of its already implemented refinements fit the task and domain-specific

circumstances. Moreover, refinements themselves can also be specified as reusable

components and be used to refine different methods. As [Fensel & Motta, to appear] show,

the same refiner can be used to refine different generic search methods. A more detailed

discussion of the different dimensions of the refinement space and means to move within

this space can be found in Section 4.2.1.2 (see also [Fensel & Motta, to appear]). Here, we

only refer to these aspects when required to explain the specific language primitives in

UPML.

UPML provides PSM refiners that take the specification of a problem-solving method as

input and provide a refined version of this method as output. In that sense this refiner

corresponds to design operators in KIDS/Specware [Smith, 1996] which is an approach for

semiautomatic program refinement. However, a refiner in UPML cannot change the

algorithmic structure of the problem-solving methods. They are used to refine declarative

definitions in the competence description (i.e., they refine a logical theory and not a

5. In that sense they are not constants. They rather correspond to a constant “address” (i.e., a name) of a storage cell with

changing content according to the current state of computation.

6. The notion of a task in UPML appears to be overloaded in the case of the stop task. Usually, tasks are views as functions

that deliver some output, yet stop is defined as accepting two input arguments but producing no outputs (besides a truth

value of a formula). In a future version of UPML it may be better to distinguish two types of tasks: one that provide output

for the reasoning service and one that provide output for controlling the reasoning service.

21

21.1

21.2

21.3

21.4

21.5

21.6

21.7

21.8

21.9

21.10

21.11

21.12

21.13

21.14

21.15

21.16

21.17

21.18

21.19

21.20

21.21

21.22

21.23

21.24

21.25

21.26

21.27

21.28

21.29

21.30

21.31

21.32

21.33

21.34

21.35

21.36

21.37

21.38

21.39

21.40

21.41

21.42

21.43

21.44

Fig. 10 The subtasks of search.

task Derive Successor Nodes

ontology

search

specification

roles

input node;

output successor nodes

goal

[DeriveSuccessorNodes(inputnode;

output successor nodes)]1

successor(successor nodes, node)

[DeriveSuccessorNodes(inputnode;

output successor nodes)]

¬successor(successor nodes, node)

task Initialize

ontology

search

specification

roles

input input; output nodes

goal

[Initialize(input input; output nodes)]

(initial select(nodes,input) ∧

nodes ⊆ input ∧

nodes ≠ ∅)

precondition

input ≠ ∅

assumptions

Initial select selects something

if there is anything.

y ≠ ∅ → ∃x initial select(x,y);

Initial select selects a subset of the

set it selects from.

initial select(x,y) →

(x ⊆ y ∧ x ≠ ∅)

task Select Node

ontology

search

specification

roles

input nodes; output node

goal

[SelectNode(input nodes; output node)]

(select node(node,nodes) ∧

node ∈ nodes)

preconditions

nodes ≠ ∅

assumptions

1. [] is a modal operator of dynamic logic, cf. [Harel,

1984]. [p]α means if the program p terminates the

formula α holds.

Select selects an element of the set it

selects from.

select node(x,y) → x ∈ y

task Stop

ontology

search

specification

roles

input node;

input nodes

goal

[Stop(input node; input nodes)]

stop criterion(node,nodes)

assumptions

It is possible to fulfil the stop

criterion.

∃x,y stop criterion(x,y);

If the stop criterion holds for x in a

context y it also holds for all subsets of

y (i.e., for all smaller contexts).

stop criterion(x,y) ∧ z ⊆ y →

stop criterion(x,z)

task Update Nodes

ontology

search

specification

roles

input nodes;

input successor nodes;

output x

goal

Update node provides a non-empty

subset of its input.

[UpdateNodes(inpunt odesi;npustu ccessonr odes,

output x)] →

(update node(x,nodes,successor nodes) ∧

x ⊆ nodes ∪ successor nodes ∧ x ≠ ∅)

precondition

Update nodes receives a non-empty

input.

nodes ∪ successor nodes ≠ ∅

assumptions

Update node an output for non-empty

input.

y ∪ z ≠ ∅ →

∃x update node(x,y,z);

Update node provides a non-empty

subset of its input.

y ∪ z ≠ ∅ ∧ update node(x,y,z) →

(x ⊆ y ∪ z ∧ x ≠ ∅)

22

22.1

22.2

22.3

22.4

22.5

22.6

22.7

22.8

22.9

22.10

22.11

22.12

22.13

22.14

22.15

22.16

22.17

22.18

22.19

22.20

22.21

22.22

22.23

22.24

22.25

22.26

22.27

22.28

22.29

22.30

22.31

22.32

22.33

22.34

22.35

22.36

22.37

22.38

22.39

22.40

22.41

22.42

22.43

22.44

program).

The UPML template for specifying PSM refiners enables the refinement of each element of

the competence description of a problem-solving method. An example for a PSM refiner is

given in Figure 12. It refines the generic problem-solving method search to a hill climbing

type of search. The refinements are the following:

• It ensures that the task Initialize returns only one object (i.e., a set with one object).

• The task Update Nodes is refined to Update Nodes for hill climbing. This actually

causes the most refinement effort. First, we require an order “<“ on objects—defined in

the new ontology (see Figure 11) and also used for refining the postconditions—and we

formulate several axioms that Update Nodes for hill climbing has to respect. The new

axioms ensure that we select an element of the successor nodes if one exists which is

better than the (unique) element of the current nodes, and that we select such a better

element. They ensure that we select the element of nodes if no better successor exists.

This update policy captures the essence of hill climbing that selects better neighbors

and stops if no better neighbor has been found. Finally, we require that it selects a

subset that has only one element.

• We refine the postcondition of the method. Stop criterion is fulfilled for output if the

second set does not contain a better object and if the current output has no successors.

More refiners can be found in [Fensel & Motta, to appear].

A serious shortcoming of UPML is that it is currently not possible to refine a role into

several new roles. For example, in the case of refining a design task you may want to refine

Fig. 11 A PSM ontology of search with preference

ontology search with preference

pragmatics

The ontology provides a ontology for describing search according

to a preference

import

search

signature

predicates

< : Object x Object

axioms

Non-symetry of <.

¬ x1 < x1;

Transitivity of <.

x1 < x2 ∧ x2 < x3 → x1 < x3

23

23.1

23.2

23.3

23.4

23.5

23.6

23.7

23.8

23.9

23.10

23.11

23.12

23.13

23.14

23.15

23.16

23.17

23.18

23.19

23.20

23.21

23.22

23.23

23.24

23.25

23.26

23.27

23.28

23.29

23.30

23.31

23.32

23.33

23.34

23.35

23.36

23.37

23.38

23.39

23.40

23.41

23.42

23.43

23.44

a general input role into a role that receives constraints and one that receives requirements.

However, this is not possible in the current version of UPML. That is, UPML provides

hierarchical refinement of subtasks, but not of roles. More serious work would be necessary

to include both in a non-conflicting manner into UPML. Similar problems are well-known

from Petri nets where hierarchical refinement of transitions has to be combined with the

refinement of places.

Fig. 12 PSM and task refiners that refine search to hill climbing

PSM refiner Search → hill climbing

pragmatics

The search method searches for a local optimum

ontology

search with preference

competence

refined subtasks

Initialize → Initialize for hill climbing;

Update Nodes → Update Nodes for hill climbing

refined postconditions

There are no better successors of the output.

¬∃x1 (x1 ∈ x ∧ successor(x,output) ∧ output < x1)

Task refiner Initialize → Initialize for hill climbing

ontology

search with preference

competence

refined goal

Initial select selects one element.

initial select(x,y) ∧ x1 ∈ x ∧ x2 ∈ x → x1 = x2;

Task refiner Update Nodes → Update Nodes for hill climbing

ontology

search with preference

competence

refined goal

Update node selects from z if it contains an element that is better than all elements from y.

update node(x,y,z) ∧ ∃x1 (x1 ∈ z ∧ (x2 ∈ y → x2 < x1)) → x ⊆ z;

Otherwise it selects from y.

update node(x,y,z) ∧ ¬∃x1 (x1 ∈ z ∧ (x2 ∈ y → x2 < x1)) → x ⊆ y;

Update node only selects elements for which no better element in z exist.

update node(x,y,z) ∧ ¬∃x1, x2 (x1 ∈ z ∧ x2 ∈ x ∧ x2 < x1);

Update node selects one element.

update node(x,y,z) ∧ x1 ∈ x ∧ x2 ∈ x → x1 = x2

24

24.1

24.2

24.3

24.4

24.5

24.6

24.7

24.8

24.9

24.10

24.11

24.12

24.13

24.14

24.15

24.16

24.17

24.18

24.19

24.20

24.21

24.22

24.23

24.24

24.25

24.26

24.27

24.28

24.29

24.30

24.31

24.32

24.33

24.34

24.35

24.36

24.37

24.38

24.39

24.40

24.41

24.42

24.43

24.44

3.8 PSM-Task and PSM-Domain Bridges

Problem-solving methods are specified separate from tasks as proposed by [Beys et al.,

1996]. This enables the reuse of these methods for different tasks and conversely, the

application of different methods to the same tasks. The explicit connection of tasks and

methods is provided by PSM-Task bridges in a way similar to the one shown in Section 3.5

for the connection of task and domain. An example for a PSM-Task bridge is given in

Figure 13. It connects hill climbing with the task of finding a complete and parsimonious

diagnosis. The bridge provides three main mappings in addition to some simple renamings:

• The input of the method is the set of all hypotheses.

• Successors of an object (which is a set of hypotheses) are sets with one less element.

• The order used by the method is the order defined by the task restricted to complete

explanations (i.e., only complete explanations have a higher preference).

However, these mappings alone would not guarantee that the output of the method fulfills

the goal of the task. The task of finding a complete and parsimonious diagnosis is NP-hard

in the number of hypotheses [Bylander et al., 1991]. Hill climbing only performs a local

Fig. 13 The pt-bridge hill climbing @ complete and parsimonious diagnosis.

pt bridge hill climbing @ complete and parsimonious diagnosis

pragmatics

The bridge connects the task of finding a complete and minimal explanation with

the PSM hill climbing

rename

Object ⇒ Hypotheses;

output ⇒ diagnosis

mapping axioms

(1) The input is the set of all hypotheses.

input = {h | h ∈ hypothesis};

(2) A successor is a set with one element less.

successor(H,H’) ↔ ∃h (h ∈ H ∧ H’ = H \þ{h});

(3) Only complete hypotheses (complete for the provided observations) are regarded as

being better.

H <PSM H’ ↔ H <Task H’ ∧ complete(H’, observations)

assumptions

(1) The input explains all observations.

explain(input) = observations;

(2) Monotonicity of the explain function (i.e., never smaller hypotheses explain more.

H ⊆ H’ → explain(H) ⊆ explain(H’)

25

25.1

25.2

25.3

25.4

25.5

25.6

25.7

25.8

25.9

25.10

25.11

25.12

25.13

25.14

25.15

25.16

25.17

25.18

25.19

25.20

25.21

25.22

25.23

25.24

25.25

25.26

25.27

25.28

25.29

25.30

25.31

25.32

25.33

25.34

25.35

25.36

25.37

25.38

25.39

25.40

25.41

25.42

25.43

25.44

search on complete sets (see Figure 13). In consequence we need two axioms that close the

gap between the task definition and the competence of the problem solving method. The

method must receive a correct initial set (cf. Figure 13). Constructing an initial correct set is

beyond the scope of the method. It is assumed as being provided by the domain knowledge,

by a human expert, or by another problem-solving method. The method only minimizes this

correct set. Second, the method is only able to find a locally minimal sets. Local minimality

means that there is no correct subset of the output that has one less element. Still this is not

strong enough to guarantee parsimonity of the explanation in the general case. Smaller

subsets may exist that are complete explanations. In [Fensel & Schönegge, 1998], we have

proven that the global-minimality of the task definition is implied by the local-minimality if

we introduce the monotonic-problem assumption (see [Bylander et al., 1991] and Figure

13). How such properties can be verified is described in [Fensel & Schönegge, 1997], and

[Fensel & Schönegge, 1998] provides a method called inverse verification that can be used

to derive such assumptions (see Section 4.2.1.2).

The bridge type that connects problem-solving methods with domain models remains to be

introduced. Notice that parts of these mappings have already been established through

connecting the method with a task and the task with a domain. Only knowledge

requirements that are exclusively introduced for the method need further mappings. A

method usually introduces further requirements on heuristic domain knowledge used to

guide its search process. This knowledge is not required to define the task and is therefore

not part of its mapping. However, in our simple example the entire mapping is achieved by

merely importing the task-domain and PSM-task bridges (see Figure 14). A more

systematic study in the second phase of IBROW that explores the relationships between

different bridges and refiners using category theory will hopefully bring more insight and

methodological background to better understand such phenomena.

3.9 The Meta Ontology of UPML

We used Protégé (cf. [Puerta et al., 1992], [Eriksson et al., 1999]) to develop a meta

ontology of UPML. Protégé is a knowledge acquisition tool generator. After defining an

ontology it semiautomatically generates a graphical interface for collecting the knowledge

Fig. 14 The pd-bridge hill climbing @ anesthesiology.

pd bridge hill climbing @ anesthesiology

pragmatics

The bridge connects the domain anesthesiology with the PSM hill climbing

import

pt bridge hill climbing @ complete and parsimonious diagnosis

td bridge complete and parsimonious diagnosis @ anesthesiology

26

26.1

26.2

26.3

26.4

26.5

26.6

26.7

26.8

26.9

26.10

26.11

26.12

26.13

26.14

26.15

26.16

26.17

26.18

26.19

26.20

26.21

26.22

26.23

26.24

26.25

26.26

26.27

26.28

26.29

26.30

26.31

26.32

26.33

26.34

26.35

26.36

26.37

26.38

26.39

26.40

26.41

26.42

26.43

26.44

that is described by the ontology. The ontology can be described in terms of classes and

attributes and organized with an is-a hierarchy and attribute inheritance. However, the first

version of the meta ontology of UPML was not based on well-founded development

guidelines. For example, refiners that were basically binary relations between concepts

were also modeled as concepts. Secondly, the notion of a library was missing (i.e., available

only implicitly). Third, the import attribute was completely overloaded. The underlying

principle of this ontology was to maximize attribute inheritance between concepts in order

to detect hidden dependencies between UPML concepts. The second version is based on a

clear meta-meta-level ontology consisting of concepts, binary relationships, and restricted

binary relationships. All three entities may have attributes (see Figure 17). The main

concepts of UPML that are defined with this basic ontology are given in (Figure 17). The

main concepts are Library, Ontology, Domain Model, PSM, and Task. Except for uses, all

attributes model part-of relationships. Subconcepts (subclass-of relationship) of PSM are

Complex PSM and Primitive PSM. Binary relations connect two different component types.

The root binary relation of UPML is Bridge. (Figure 17) Restricted Binary Relations

connect two components of the same type. The root restricted binary relation of UPML is

Refiner (cf. Figure 18).

Fig. 15 The Meta-Meta-ontology of UPML.

Entity

attribute → type

Concept < Entity

Binary Relation < Entity

argument1 → Concept1

argument2 → Concept2

Restricted Binary Relation < Binary Relation

in = argument1 → Concept1

out = argument2→ Concept2

with Concept1 = Concept2

a < b means is-relationship (with a as the sublass).

a → b defines an attribute with name a and range b.

27

27.1

27.2

27.3

27.4

27.5

27.6

27.7

27.8

27.9

27.10

27.11

27.12

27.13

27.14

27.15

27.16

27.17

27.18

27.19

27.20

27.21

27.22

27.23

27.24

27.25

27.26

27.27

27.28

27.29

27.30

27.31

27.32

27.33

27.34

27.35

27.36

27.37

27.38

27.39

27.40

27.41

27.42

27.43

27.44

Fig. 16 The main concepts of the meta-ontology of UPML.

Library < Concept

pragmatics → Pragmatics

ontology → Ontology

domain model → Domain Model

complex PSM → Complex PSM

primitive PSM → Primitive PSM

task → Task

ontology refiner → Ontology Refiner

cpsm refiner → CPSM Refiner Refiner

ppsm refiner → PPSM Refiner Refiner

task refiner → Task Refiner

psm-domain bridge → PSM-Domain

Bridge

psm-task bridge → PSM-Task Bridge

task-domain bridge → Task-Domain

Bridge

Ontology < Concept

uses → Ontology

pragmatics → Pragmatics

signature → Signature

theorems → Formula

axioms → Formula

Domain Model < Concept

uses → Domain Model

pragmatics → Pragmatics

ontologies → Ontology

theorems → Formula

assumptions → Formula

knowledge → Formula

PSM < Concept

pragmatics → Pragmatics

ontologies → Ontology

cost → Cost

communication → Communication

precondition → Formula

postcondition → Formula

input roles → Role

output roles → Role

Task < Concept

uses → Task

pragmatics → Pragmatics

ontologies → Ontology

goal → Formula

input roles → Role

output roles → Role

precondition → Formula

assumptions → Formula

Complex PSM < PSM

subtasks → Task

operational description → Operational

Description

Primitive PSM < PSM

knowledge roles→ Role

assumptions → Formula

28

28.1

28.2

28.3

28.4

28.5

28.6

28.7

28.8

28.9

28.10

28.11

28.12

28.13

28.14

28.15

28.16

28.17

28.18

28.19

28.20

28.21

28.22

28.23

28.24

28.25

28.26

28.27

28.28

28.29

28.30

28.31

28.32

28.33

28.34

28.35

28.36

28.37

28.38

28.39

28.40

28.41

28.42

28.43

28.44

4 Architectural Constraints, Guidelines, and Tools

Architectural constraints ensure well formed specifications. The individual components and

their connection via bridges and refiners must fulfill certain properties to provide a valid

product. Development guidelines structure the process of developing such system models.

A process model with defined transitions helps to navigate through the space of possible

system designs. The development guidelines and their underlying theoretical background

are described in more detail in [Fensel & Motta, 1998] and [Fensel & Motta, to appear]. We

also developed some tools to support these processes. The tools fall into three categories:

Editor, Browser, and Verifier. Their order reflects their respective difficulty.

4.1 Constraints

Architectural constraints ensure well-defined components and composed systems. The

conceptual model of UPML decomposes the overall specification and verification tasks

into subtasks of smaller grain size and clearer focus (cf. [van Harmelen & Aben, 1996]).

The architectural constraints of UPML consists of requirements that are imposed on the

intra- and interrelationships of the different parts of the architecture. They either ensure a

valid part (for example, a task or a problem-solving method) by restricting possible

relationships between its subspecifications or they ensure a valid composition of different

elements of the architecture (for example, they are constraints on connecting a problemsolving

method with a task). The constraints on well-defined components apply for tasks,

Fig. 17 Binary relations in the meta-ontology of UPML.

Bridge e < Binary Relation

argument1 → Concept1

argument2 → Concept2

pragmatics → Pragmatics

ontologies → Ontology

renaming → STRING

mapping axioms → Formula

assumptions → Formula

PSM-Domain Bridge < Bridge

argument1 → Domain

argument2 → PSM

uses → PSM-Domain Bridge,

Task-Domain Bridge,

PSM-Task Bridge

PSM-Task Bridge e < Bridge

argument1→ PSM

argument2→ Task

uses → PSM-Task Bridge

Task-Domain Bridge e < Bridge

argument1→ Task

argument2→ Domain

uses → Task-Domain Bridge

29

29.1

29.2

29.3

29.4

29.5

29.6

29.7

29.8

29.9

29.10

29.11

29.12

29.13

29.14

29.15

29.16

29.17

29.18

29.19

29.20

29.21

29.22

29.23

29.24

29.25

29.26

29.27

29.28

29.29

29.30

29.31

29.32

29.33

29.34

29.35

29.36

29.37

29.38

29.39

29.40

29.41

29.42

29.43

29.44

domain models, and PSMs. The constraints for composition are introduced by constraints

that apply to bridges. In UPML, these constraints are presented as formal restrictions.

For a task specification we require consistency, i.e:

T1 ontology axioms ∪ preconditions ∪ assumptions must have a model.

Otherwise we would define an inconsistent task specification which would be unsolvable.

In addition, the following must hold (cf. [Fensel & Groenboom, 1997], [Fensel &

Schönegge, 1997]):

T2 ontology axioms ∪ preconditions ∪ assumptions → [task]goal

Fig. 18 Restricted binary relations in the meta-ontology of UPML.

Refiner < Restricted Binary Relation

pragmatics → Pragmatics

ontologies → Ontology

in → Concept

out → Concept

Domain Refiner < Restricted Binary Relation

in → Domain Model

out → Domain Model

theorems → Formula

assumptions → Formula

knowledge → Formula

axioms → Formula

renaming → Renaming

Ontology Refiner < Restricted Binary Relation

in → Ontology

out → Ontology

signature → Signature

theorems → Formula

axioms → Formula

renaming → Renaming

Task Refiner < Restricted Binary Relation

in → Task

out → Task

goal → Formula

input roles → Role

output roles → Role

precondition → Formula

assumptions → Formula

axioms → Formula

renaming → Renaming

PSM Refiner < Restricted Binary Relation

in → PSM

out → PSM

cost → Cost expression

communication → STRING

axioms → Formula

input roles → Role

output roles → Role

precondition → Formula

postcondition → Formula

renaming → Renaming

CPSM Refiner < PSM Refiner

in → CPSM

out → CPSM

subtasks → Task

PPSM Refiner < PSM Refiner

in → PPSM

out → PPSM

knowledge roles→ Role

assumptions → Formula

30

30.1

30.2

30.3

30.4

30.5

30.6

30.7

30.8

30.9

30.10

30.11

30.12

30.13

30.14

30.15

30.16

30.17

30.18

30.19

30.20

30.21

30.22

30.23

30.24

30.25

30.26

30.27

30.28

30.29

30.30

30.31

30.32

30.33

30.34

30.35

30.36

30.37

30.38

30.39

30.40

30.41

30.42

30.43

30.44

That is, if the ontology axioms, preconditions, and assumptions are fulfilled by a domain

for a given case then the goal of a task must be achievable. This constraint ensures that the

task model makes the underlying assumptions of a task explicit. For example, when

defining a global optimum as a goal of a task it must be ensured that a preference relation

exists and that this relation has certain properties. It must be ensured that x < y and y < x

(i.e., symmetry) is prohibited because otherwise the existence of a global optimum cannot

be guaranteed.

In the example from Figure 3 and Figure 4, proving P amounts to finding a complete and

parsimonious diagnosis. The axioms from the domain ontology (Figure 3) define both of

these notions. The existence of a complete diagnosis follows easily from the precondition

and first task-assumption (Figure 4). The existence of a parsimonious diagnosis the other

three task-assumptions: since any diagnosis is assumed to be finite (fourth assumption), and

since a partial ordering < is assumed on diagnoses (second and third assumption), for any

complete diagnosis there must also be a smallest contained diagnosis (ie a parsimonious

diagnosis), since the finiteness of the diagnosis rules out infinitely descending chains in the

partial ordering.

These are the two architectural constraints UPML imposes to guarantee well-defined task

specifications. A third optional constraint ensures minimality of assumptions and

preconditions (called weakest preconditions in software engineering, cf. [Dijkstra, 1975])

and therefore maximizes the reusability of the task specification. It prevents overspecifity

of assumptions and preconditions. Otherwise they would disallow applying a task to a

domain even in cases where it would be possible to define the problem in the domain.

T3 [task]goal → ontology axioms ∪ preconditions ∪ assumptions

How minimality of assumptions can be proven and how such assumptions can be found is

sketched in Section 4.2.1.2 (see also [Fensel & Schönegge, 1998]).

A domain model in UPML must fulfil the following constraints:

D1 domain ontology axioms ∪ domain assumptions ∪ domain knowledge

|= domain properties

D2 domain ontology axioms ∪ domain assumptions ∪ domain knowledge

must have a model.

Again, minimality of assumptions (D3) may be asked for.

Similar constraints hold for problem-solving methods:

31

31.1

31.2

31.3

31.4

31.5

31.6

31.7

31.8

31.9

31.10

31.11

31.12

31.13

31.14

31.15

31.16

31.17

31.18

31.19

31.20

31.21

31.22

31.23

31.24

31.25

31.26

31.27

31.28

31.29

31.30

31.31

31.32

31.33

31.34

31.35

31.36

31.37

31.38

31.39

31.40

31.41

31.42

31.43

31.44

PPMS1 PSM assumptions ∪ PSM preconditions ∪ PSM ontology axioms

must have a model.

In the case of complex problem-solving methods, we need further constraints that formulate

desired properties of the operational specification.

CPSM1 The following must hold in the case of weak correctness:

PSM ontology axioms ∪ preconditions of the PSM ∪ goals of subtasks

| [MCL program of operational specification] PSM postconditions7

CPSM2 In addition in the case of strong correctness the following must hold:

PSM ontology axioms ∪ preconditions of the PSM ∪ goals of subtasks

| <MCL program of operational specification> true

In the former case we ensure that if the method terminates it terminates in a state that

respects the postconditions of the method. In the latter case we also guarantee termination.

Again, one can investigate and require that axioms, preconditions, and subtasks are

minimal (CPSM3 and CPSM4).

Finally, ontologies should not be inconsistent, i.e.,

O1 ontology axioms must have a model.

O2 ontology axioms must entail ontology theorems.

Bridges are accompanied by architectural constraints that restrict the possible combinations

of parts of an architecture in UPML. The following must hold for bridges:

TDB1 There exists a model of

renaming(domain ontology ∪ domain knowledge ∪ domain assumptions) ∪

task ontology ∪ task preconditions ∪ task assumptions ∪

bridge ontology ∪ mapping axioms ∪ bridge assumptions

TDB2 Domain and bridge entail the assumptions of the task

renaming(domain ontology ∪ domain knowledge ∪ domain assumptions) ∪

task ontology ∪ bridge ontology ∪ mapping axioms ∪ bridge assumptions

|= task assumptions

TPB1 There exists a model of

renaming(PSM preconditions ∪ PSM assumptions ∪ PSM postconditions) ∪

7. [] is a modal operator of dynamic logic, cf. [Harel, 1984]. [p]α means after every execution of program p the formula α

holds.

32

32.1

32.2

32.3

32.4

32.5

32.6

32.7

32.8

32.9

32.10

32.11

32.12

32.13

32.14

32.15

32.16

32.17

32.18

32.19

32.20

32.21

32.22

32.23

32.24

32.25

32.26

32.27

32.28

32.29

32.30

32.31

32.32

32.33

32.34

32.35

32.36

32.37

32.38

32.39

32.40

32.41

32.42

32.43

32.44

task ontology ∪ task preconditions ∪ task assumptions ∪

bridge ontology ∪ mapping axioms ∪ bridge assumptions

TPB2 Task, problem-solving method and bridge entail that the goal of the task is

fulfilled by the postcondition of the method

renaming(PSM preconditions ∪ PSM assumptions ∪ PSM postconditions) ∪

task ontology ∪ task preconditions ∪ task assumptions ∪

bridge ontology ∪ mapping axioms ∪ bridge assumptions |= task goal

PDB1 There exists a model of

renaming(domain ontology ∪ domain knowledge ∪domain assumptions) ∪

imported task-domain bridge ∪

PSM preconditions ∪ PSM assumptions ∪ PSM postconditions

bridge ontology ∪ mapping axioms ∪ bridge assumptions

PDB2 Domain and bridge entail the assumptions of the problem-solving method

renaming(domain ontology ∪ domain knowledge ∪ domain assumptions) ∪

PSM ontology ∪ bridge ontology ∪ mapping axioms ∪ bridge assumptions

|= PSM assumptions

Again, further constraints arise when we ask for minimality of assumptions introduced by

bridges.

Finally, refiners express relationships between components of the same type. The following

must hold:

CPSMR1 There exists a model of

PSM ontology axioms ∪ refined PSM preconditions ∪

refined goals of subtasks

CPSMR2 The following must hold in the case of weak correctness:

PSM ontology axioms ∪ refined PSM preconditions

∪ refined goals of subtasks

| [MCL program of operational specification] refined PSM postconditions

CPSM3 In addition in the case of strong correctness it must hold:

PSM ontology axioms ∪ refined PSM preconditions

∪ refined goals of subtasks

| <MCL program of operational specification> true

PPSMR1 There exists a model of

PSM ontology axioms ∪ refined PSM preconditions

∪ refined PSM assumptions

33

33.1

33.2

33.3

33.4

33.5

33.6

33.7

33.8

33.9

33.10

33.11

33.12

33.13

33.14

33.15

33.16

33.17

33.18

33.19

33.20

33.21

33.22

33.23

33.24

33.25

33.26

33.27

33.28

33.29

33.30

33.31

33.32

33.33

33.34

33.35

33.36

33.37

33.38

33.39

33.40

33.41

33.42

33.43

33.44

TR1 There exists a model of

refined task ontology axioms ∪ refined task preconditions

∪ refined task assumptions

TR2 Each model of

refined task ontology axioms ∪ refined task preconditions ∪

task refined assumptions

must be an elementary substructure of refined task goal

TR3 Each model of refined task goal must be an elementary extension of

refined task ontology axioms ∪ refined task preconditions ∪

refined task assumptions

OR1 refined ontology axioms must have a model.

OR2 refined ontology axioms |= refined ontology theorems.

This list of constraints is not meant to be exhaustive. Further useful requirements for welldefined

specifications may be found in the course of further experience with UPML in

practice.

4.2 Design Guidelines

Design guidelines define a process model for building complex KBSs out of elementary

components. In the following, we will discuss three aspects of the process model of UPML.

(1) How to develop an application system from reusable components. (2) How to develop a

library of reusable task definitions and problem-solving methods. (3) Which components of

UPML correspond to an implementation and how such components can be implemented in

an object-oriented framework.

4.2.1 How to Develop an Application System

The overall process is guided by tasks that provide generic descriptions of problem classes.

After selecting, combining and refining tasks, they are connected with PSMs and their

combination is instantiated for the given domain. Elementary sorts of tasks and PSMs

generally have to be connected to domain sorts. Further mapping axioms may be required

to link the remaining terminology, and assumptions have to be made in cases where it is

needed to bridge the gap between different components. In the following, we will discuss

two main principles for this process:

34

34.1

34.2

34.3

34.4

34.5

34.6

34.7

34.8

34.9

34.10

34.11

34.12

34.13

34.14

34.15

34.16

34.17

34.18

34.19

34.20

34.21

34.22

34.23

34.24

34.25

34.26

34.27

34.28

34.29

34.30

34.31

34.32

34.33

34.34

34.35

34.36

34.37

34.38

34.39

34.40

34.41

34.42

34.43

34.44

• The twofold role assumptions may play for application development,

• Inverse Verification as a technique to find such assumptions, and

4.2.1.1 The Two Effects of Assumptions

Establishing the proper relationship between a PSM and a task usually requires correctness

and completeness of the PSM relative to the goals of the task. However, a perfect match is

unrealistic in many cases. In general, most problems tackled with KBSs are inherently

complex and intractable (see e.g. [Bylander et al., 1991]). A PSM has to describe not just a

realization of the functionality, but one which takes into account the constraints of the

reasoning process and the complexity of the task. PSMs achieve an efficient realization of

functionality by making assumptions [Fensel & Straatman, 1998]. These assumptions put

restrictions on the context of the PSM, such as the domain knowledge and the possible

inputs of the method or the precise definition of the goal to be achieved when applying the

PSM. Notice that such assumptions can work in two directions to achieve this result. First,

they can restrict the complexity of the problem, that is, weaken the task definition in such a

way that the PSM competence is sufficient to realize the task. Second, they can strengthen

the competence of the PSM by assuming (extra) domain knowledge. In the first case, a

simpler problem is solved and in the second case generality is given up (i.e., the number of

domains are reduced where the method can be applied to).

• Weakening of functionality: Reducing the desired functionality of the system and

therefore reducing the complexity of the problem by introducing assumptions about the

precise task definition. An example of this type of change is no longer requiring an

optimal solution, but only an acceptable one, or making the single-fault assumption in

model-based diagnosis.

• Strengthening of domain assumptions: Introducing assumptions about the domain

knowledge (or the user of the system) which reduces the functionality or the

complexity of the part of the problem that is solved by the PSM. In terms of

complexity analysis, the domain knowledge or the user of the system is used as an

oracle that solves complex parts of the problem. These requirements therefore

strengthen the functionality of the method.

Both strategies are complementary. Both types of assumptions serve the same purpose of

closing the gap between the PSM and the task goal which should be achieved by it. It is not

an internal property of an assumption that decides its status, instead it is the functional role

it plays during system development or problem solving that creates this distinction.

Formulating it as a requirement involves considerable effort in acquiring domain

knowledge during system development, and formulating it as a restriction involves

additional external effort during problem solving if the given case does not fulfill the

restrictions and cannot be handled properly by the limited system. More details can be

found in [Fensel & Benjamins, 1998b].

35

35.1

35.2

35.3

35.4

35.5

35.6

35.7

35.8

35.9

35.10

35.11

35.12

35.13

35.14

35.15

35.16

35.17

35.18

35.19

35.20

35.21

35.22

35.23

35.24

35.25

35.26

35.27

35.28

35.29

35.30

35.31

35.32

35.33

35.34

35.35

35.36

35.37

35.38

35.39

35.40

35.41

35.42

35.43

35.44

4.2.1.2 Inverse Verification

A method for finding and constructing such assumptions is inverse verification (cf. [Fensel

& Schönegge, 1998]). We use failed proofs as a search method for assumptions and we

analyze these failures to construct and refine them. In other words, we attempt to prove that

a problem-solving method achieves a goal and the assumptions appear during the proof as

missing pieces in proving the correctness of the specification. A mathematical proof written

down in a textbook explains why a lemma is true under some preconditions (i.e.,

assumptions and other sublemmas). The proof establishes the lemma by using the

preconditions and some deductive reasoning. Taking a look at the proof process we get a

different picture. Usually, initial proof attempts fail when they run into unprovable

subgoals. These failed proof attempts point to necessary features that are not present from

the beginning. Actually they make aware of additional assumptions that have to be made in

order to obtain a successful proof. Taking this perspective, a proof process can be viewed as

a search and construction process for assumptions. Gaps found in a failed proof provide

initial characterizations of missing assumptions. They appear as sublemmas that were

necessary to proceed with the proof. An assumption that implies such a sublemma which

would close the gap in the proof is a possible candidate for which we are looking. That is,

formulating this sublemma as an assumption is an initial step in finding and/or constructing

assumptions that are necessary to ensure that a problem-solving method behaves well in a

given context. Using an open goal of a proof directly as an assumption normally leads to

very strong assumptions. That is, these assumptions are sufficient to guarantee the

correctness of the proof, but they are often neither necessary for the proof nor realistic in

the sense that application problems will fulfill them. Therefore, further work is necessary to

find improved characterizations for these assumptions. This could be achieved by a precise

analysis of their role in the completed proof to retrace unnecessary properties.

Such proofs can be done semiformally in a textbook manner. However, providing

specification formalisms with a formal syntax and formal semantics allows mechanized

proof support. The great amount of details that arise when proving properties of software

(and each problem-solving method eventually has to be implemented) indicates the

necessity of such mechanization. Therefore, we provide a formal notion for problemsolving

methods and semi-automatic proof support by using KIV [Reif, 1995]. KIV

provides an interactive tactical theorem prover that makes it suitable for hunting hidden

assumptions. We expect many proofs to fail. Using a theorem prover that returns with such

a failed attempt adds nothing. Instead of returning with a failure, KIV returns with open

goals that could not be solved during its proof process. As opposed to verification, we do

not start a proof with the goal of proving correctness here. Instead, we start an impossible

proof and view the proof process as a search and construction process for assumptions. This

explains the name inverse verification. More details on KIV are provided in Section 4.3.3.

[de Kleer, 1986] describes a truth-maintenance system (ATMS) that could in principle be

applied to our problem. However, applying this technique introduces two strong (meta-)

36

36.1

36.2

36.3

36.4

36.5

36.6

36.7

36.8

36.9

36.10

36.11

36.12

36.13

36.14

36.15

36.16

36.17

36.18

36.19

36.20

36.21

36.22

36.23

36.24

36.25

36.26

36.27

36.28

36.29

36.30

36.31

36.32

36.33

36.34

36.35

36.36

36.37

36.38

36.39

36.40

36.41

36.42

36.43

36.44

assumptions: (1) All the assumptions required to close the gap between the goals of the task

and the competence of the problem-solving method must already be known and provided to

the system. (2) The system needs to know the impacts of the assumptions, i.e. their

influence on the truth of the formulas describing the competence of the problem-solving

method and the goals of the task.

Constructive approaches to derive such assumptions can be found in approaches to

abduction ([Cox & Pietrzykowski, 1986]), in program debugging with inductive techniques

(cf. [Shapiro, 1982], [Lloyd, 1987]), in explanation-based learning (cf. [Minton et al.,

1989], [Minton, 1995]) or more generally in inductive logic programming ([Muggleton &

Buntine, 1988], [Muggleton & De Raedt, 1994]). However, these approaches achieve

automation by making strong (meta-) assumptions about the syntactical structure of the

representation formalisms of the components, the representations of the “error“, and the

way an error can be fixed. Usually, Prolog or Horn logic is the assumed representation

formalism, and errors or counter-examples are represented by a set of input-output tuples or

a finite set of ground literals. Modification is done by changing the internal specification of

a component. In this scenario, error detection boils down to backtracking a resolution-based

derivation tree for a “wrong“ literal. We have to aim for new formulas, however, (i.e., an

assumption may be represented by a complex first-order formula) and our “counterexamples“

are not represented by a finite set of ground literals, but by a complex first-order

specification. Also most of the approaches mentioned do not regard architectural

descriptions of the entire reasoning system.8

4.2.2 How to Develop reusable Component Libraries

We view problem solving method development as a process taking place in a threedimensional

space, defined by problem-solving strategies, domain assumptions, and task

commitments (see Figure 19). These three dimensions are described below.

• Problem-solving strategy. This is a high-level description which specifies a type of

problem solving rather than an actual algorithm, i.e. we describe a entire class of

algorithms. A problem-solving strategy fixes some basic data structures, provides an

initial task-subtask decomposition and a generic control regime. This generic control

regime is meant to be shared by all problem-solving methods which subscribe to the

same problem solving strategy. Examples of problem solving strategies are:

Generate&Test, Local Search and Problem Reduction ([Smith & Lowry, 1990]).

• Domain knowledge assumptions. These are assumptions on the domain knowledge

8. An exception are the approaches to explanation-based learning that use explicit architecture

axioms [Minton, 1995].

37

37.1

37.2

37.3

37.4

37.5

37.6

37.7

37.8

37.9

37.10

37.11

37.12

37.13

37.14

37.15

37.16

37.17

37.18

37.19

37.20

37.21

37.22

37.23

37.24

37.25

37.26

37.27

37.28

37.29

37.30

37.31

37.32

37.33

37.34

37.35

37.36

37.37

37.38

37.39

37.40

37.41

37.42

37.43

37.44

that is required to instantiate a problem-solving method in a particular application.

These assumptions specify the types and the properties of the knowledge structures

which need to be provided by a domain model, in addition to those required to fulfil

task-specific commitments. For instance, when solving a design problem by means of

Propose&Revise, a domain needs to provide the knowledge required to express

procedures and fixes, in addition to the task-related knowledge needed to formulate the

specific design problem—e.g. parts and constraints. Domain assumptions are necessary

to enable efficient problem solving for complex and intractable problems ([Fensel &

Straatman, 1998], [Fensel & Benjamins, 1998b]). More generally, the reliance on such

domain-specific knowledge is the defining feature of knowledge-intensive approaches

to problem solving.

• Problem (i.e., task) commitments. These specify ontological commitments to the type

of problem that is to be solved by the problem-solving method. These commitments are

expressed by subscribing to a particular task ontology. For example, a parametric

design task ontology provides definitions for terms such as design model, parameter

and constraint - see [Motta, 1999] for a detailed specification of a task ontology. The

ontological commitments introduced by a task can be used to refine the competence of

a problem-solving method, the structure of its computational state and the nature of the

state transitions it can execute (cf. [Eriksson et al., 1995], [Fensel et al., 1996a], [Fensel

et al., 1997]). For instance, a generic search method can thus be transformed into a

specialized method for model-based diagnosis or parametric design. Such a taskspecific

refinement still produces a reusable method specification given that this is

formulated independently of a particular application domain. A diagnostic problem

solving method may be formulated in terms which are specific to diagnostic problem

solving, but it can be reused in different technical or medical diagnostic applications.

The advantage of refining problem-solving methods in a task-specific way is that the

resulting model provides much stronger support for knowledge acquisition and

application development than a task-independent one - i.e. the method becomes more

usable.

Figure 19 visualizes the three dimensions of our problem solving method space by means

of arrows. Although this representation may be taken to imply that each dimension is

characterized by a total order, this is not actually the case. Different tasks, such as diagnosis

or design, and different problem solving schemes, such as local search or search by pruning

(e.g. branch and bound), may not be derived from each other. However, they can be derived

from more abstract definitions. Hence, each dimension is defined by an acyclic graph. The

graph is defined by the refinement relationship between the elements of the design space

and reflects the partial order defined by refinements. Having said this, we will focus only

on one type of task (design) and one type of problem-solving scheme (local search) and

these graphs therefore collapse into totally ordered ones.

A clear identification and separation of problem-solving strategy, problem commitments,

38

38.1

38.2

38.3

38.4

38.5

38.6

38.7

38.8

38.9

38.10

38.11

38.12

38.13

38.14

38.15

38.16

38.17

38.18

38.19

38.20

38.21

38.22

38.23

38.24

38.25

38.26

38.27

38.28

38.29

38.30

38.31

38.32

38.33

38.34

38.35

38.36

38.37

38.38

38.39

38.40

38.41

38.42

38.43

38.44

and domain assumptions enables a principled development of a problem-solving method

and structuring libraries of problem-solving methods. Current approaches usually merge

these different aspects, thus limiting the possibilities for reuse, obscuring the nature of the

methods, and making it difficult to reconstruct the process which led to a particular

specification. In our approach the development and adaptation of problem-solving methods

is characterized as a navigation process in this three-dimensional space. Movement through

the three-dimensional space is represented by means of adapters. More details can be found

in [Fensel & Motta, 1998] and [Fensel & Motta, to appear].

4.2.3 How to Implement Systems and Components

Although UPML seems to be rather abstract, there is a direct correspondence between the

parts of UPML and object-oriented languages. In order to provide a framework for

translating UPML specifications into implemented problem-solving methods we developed

and refined some specific Design Patterns (cf. [Gamma et al., 1995]) that guide this

translation process. A general design decision is that the problem-solving method

components can be reused without any modification. Modifications (e.g. adaptation and

configuration) are only found in the bridges.

Problem-solving methods & Tasks: Each problem-solving method in an UPML

specification can be mapped to a class implementing this problem-solving method. The

subtasks of this problem-solving method are mapped to methods of the problem-solving

method class. A problem-solving method communicates with other components via roles

which are realized by bridges when configuring the whole problem-solving method.

Our running example depicted in Figure 9 provides a specification for a generic search

problem-solving method. This problem-solving method has one input role input, one output

Fig. 19 The three dimensions of PSM description and development.

Problem-solving

Problem (i.e., task) commitments

global or local search?

Design or Diagnosis?

Domain knowledge assumptions

Knowledge about procedures and fixes

strategy

39

39.1

39.2

39.3

39.4

39.5

39.6

39.7

39.8

39.9

39.10

39.11

39.12

39.13

39.14

39.15

39.16

39.17

39.18

39.19

39.20

39.21

39.22

39.23

39.24

39.25

39.26

39.27

39.28

39.29

39.30

39.31

39.32

39.33

39.34

39.35

39.36

39.37

39.38

39.39

39.40

39.41

39.42

39.43

39.44

role output, and the intermediate roles node, nodes, and successor nodes. Figure 20 depicts

the Java-translation of the same specification: roles are translated into instance variables of

the search class. Input- and output roles communicate with other components using a

setRole and getRole-method, implemented from the general supperclass PSMComponent.

The subtasks of the UPML specification are translated into methods of the PSM class. They

also communicate with other PSMComponents using the methods getSubTaskRole,

setSubTaskRole and excecuteSubtasks, which are implemented from the supperclass

PSMComponent. Please note, that nothing is said here, how this subtasks are defined. The

execution is delegated to adapters and the configuration can be done while designing the

problem-solving method.

Ontologies & Domain Models: Ontologies are mapped to an ordinary class hierarchy,

which defines the basic terminology used in the domain model and the problem-solving

method. In the example above, the PSM ontology has to define node, nodes, object, objects

etc. Notice, that these ontologies can be application-specific and that details of the actual

definition of these classes are not used inside the problem-solving method. So the details of

the data structure definitions can be implemented in an application dependent manner.

Refiners: Refiners are realized by method inheritance: if a problem-solving method is

refined it means that a new subclass of an existing problem-solving method class is defined,

which overwrites some of the subtasks of the original problem-solving method. Figure 21

depicts part of an refiner which refines the general search problem-solving method shown

in Figure 20 into hill climbing.

Bridges: Bridges enable the basic communication infrastructure between several problemsolving

method components (providing the subtask-PSM-mapping) and the domain.

Because it has to be the most flexible part of the specification (it has to handle all

incompatibilities between problem-solving method components) we can only formulate

weak requirements. However, a bridge has to at least provide a common interface, such that

problem-solving methods and bridges can be plugged together in a flexible way. The api

provided by this interface can be structured into two groups: the first set of methods deals

with the configuration of a problem-solving method, e.g. the Task-PSM mapping. Methods

belonging to this group are e.g. addPSM and addMapping (see Figure 21). The second

group of methods handles the execution of subtasks and set handling of roles. A bridge is

usually domain- and problem-specific, a general type of bridge is often useful and

sufficient. This kind of adapter just performs basic mappings. This adapter can be

configured at runtime.

4.3 Tool Environment of UPML

An editor for UPML was built using Protégé-2000, the latest version of a series of tools

40

40.1

40.2

40.3

40.4

40.5

40.6

40.7

40.8

40.9

40.10

40.11

40.12

40.13

40.14

40.15

40.16

40.17

40.18

40.19

40.20

40.21

40.22

40.23

40.24

40.25

40.26

40.27

40.28

40.29

40.30

40.31

40.32

40.33

40.34

40.35

40.36

40.37

40.38

40.39

40.40

40.41

40.42

40.43

40.44

Fig. 20 Java Translation of the problem-solving method search.

class search extends PSMComponent{

Objects input;

Object output;

Object node;

Objects nodes;

Objects sucessornodes;

public void main(){

input = (Objects) getRole("input");

nodes = Initialize(input);

output = RecursiveSearch(nodes);

setRole("output",output);

}

Object RecursiveSearch(Objects nodes){

node= SelectNode(nodes);

successornodes = DeriveSuccessorNodes(node);

nodes = UpdateNodes(nodes, successornodes);

if Stop(node, nodes)

return node

else return RecursiveSearch(nodes);

}

Objects Initialize(Objects input){

setSubTaskRole("Initialize","input",input);

executeSubTask("Initialize");

return (Objects) getSubTaskRole("Initialize","nodes");

}

Object SelectNode(Objects nodes){

setSubTaskRole("SelectNode","nodes",nodes);

executeSubTask("SelectNode");

return (Object) getSubTaskRole("SelectNode","node");

}

Objects DeriveSuccessorNode(Object node){

setSubTaskRole("DeriveSuccessorNode","node",nodes);

setSubTaskRole("DeriveSuccessorNode","input",input);

executeSubTask("DeriveSuccessorNode");

return (Objects) getSubTaskRole("DeriveSuccessorNode","successornodes");

}

Objects UpdateNodes(Objects nodes, Objects successornodes){

setSubTaskRole("UpdateNodes","nodes",nodes);

setSubTaskRole("UpdateNodes","successornodes",successornodes);

executeSubTask("UpdateNodes");

return (Object) getSubTaskRole("UpdateNodes","x");

}

boolean Stop(Object node, Objects nodes){

setSubTaskRole("Stop","node",node);

setSubTaskRole("Stop","nodes",nodes);

executeSubTask("Stop");

return ((Boolean) getSubTaskRole("Stop","output")).booleanValue();

}

41

41.1

41.2

41.3

41.4

41.5

41.6

41.7

41.8

41.9

41.10

41.11

41.12

41.13

41.14

41.15

41.16

41.17

41.18

41.19

41.20

41.21

41.22

41.23

41.24

41.25

41.26

41.27

41.28

41.29

41.30

41.31

41.32

41.33

41.34

41.35

41.36

41.37

41.38

41.39

41.40

41.41

41.42

41.43

41.44

developed in the Knowledge Modeling Group at Stanford Medical Informatics to assist

developers in the construction of large electronic knowledge bases [Grosso et al., 1999].

The output of the editor is translated into Frame-logic [Kifer et al., 1995] allowing

browsing and querying of UPML specifications with Ontobroker (cf. [Fensel et al., 1998c],

[Fensel et al., 1999d]). The use of the interactive theorem prover KIV [Reif, 1995] for

verifying architectural descriptions of knowledge-based systems. In the following, we will

explain these tools in more detail.

4.3.1 The UPML Editor

We used Protégé-2000 (cf. [Puerta et al., 1992], [Eriksson et al., 1999]) to implement an

editor for UPML specifications. Protégé allows developers to create, browse and edit

domain ontologies in a frame-based representation, which is compliant with the OKBC

knowledge model [Chaudhri et al., 1998]. From an ontology, Protégé automatically

constructs a graphical knowledge-acquisition tool that allows application specialists to

enter the detailed content knowledge required to define specific applications. Protégé

allows developers to custom-tailor this knowledge-acquisition tool directly by arranging

and configuring the graphical entities on forms, that are attached to each class in the

Fig. 21 Implementation of Refiners and Bridges.

Refiner:

class hillclimbing extends search{

Objects Initialize(Objects input){

return input.getOneElement();

}

Objects DeriveSuccessorNode(Object node){

return getMax(node,input);

....

}}

Bridge:

public interface BridgeComponent{

void addPSM(String SubTaskName, PSMComponent PSM);

void setRole(PSMComponent PSM, String PSMRoleName, Object content);

Object getRole(PSMComponent PSM, String PSMRoleName);

void setSubTaskRole(String SubTaskName, String SubTaskRoleName, Object content);

void addMapping(String SubTaskName, String SubTaskRoleName, String

PSMRoleName);

void executeSubTask(String SubTaskName);

Object getSubTaskRole(String SubTaskName, String SubTaskRoleName);

void addDomainRole(String SubTaskName, String PSMRoleName, DomainComponent

DomainKB);

}

42

42.1

42.2

42.3

42.4

42.5

42.6

42.7

42.8

42.9

42.10

42.11

42.12

42.13

42.14

42.15

42.16

42.17

42.18

42.19

42.20

42.21

42.22

42.23

42.24

42.25

42.26

42.27

42.28

42.29

42.30

42.31

42.32

42.33

42.34

42.35

42.36

42.37

42.38

42.39

42.40

42.41

42.42

42.43

42.44

ontology for the acquisition of instances. This allows application specialists to enter domain

information by filling in the blanks of intuitive forms and by drawing diagrams composed

of selectable icons and connectors. Protégé-2000 allows knowledge bases to be stored in

several formats, among which a CLIPS-based syntax and RDF.

Using Protégé-2000, we modeled the meta-ontology of UPML (described in section 3.9) as

a hierarchy of classes, with slots and facets attached to them. This work helped us better

identify the concepts and relations of UPML necessary to provide a guided framework for

defining UPML specifications. Based on the ontology, Protégé generated a graphical editor

for instantiating specific UPML specifications, like the Diagnostic Problem

Solving example explained throughout this paper. We custom-tailored the editor, in

particular so that the knowledge-acquisition process centers around the use of diagram

metaphors. For instance, we defined specific kinds of diagrams to enter the task

decomposition of a complex PSM and the structure of its corresponding operational

control. Figure 22 provides snapshots of the UPML editor.

4.3.2 The UPML Browser and “Reasoner”

The output of the UPML editor delivers text files of the ontology and UPML specifications

in a Lisp like syntax (CLIPS). We implemented a simple cgi-script that translates these files

into Frame Logic. The reason for this was that we want to use Ontobroker9 as a browsing

and query interface for UPML specifications. Ontobroker is an advanced tool for browsing

and querying WWW information sources. It provides a hyperbolic browser and querying

interface for formulating queries, an inference engine used to derive answers, and a

webcrawler used to collect the required knowledge from the web. Figure 23 illustrates the

hyperbolic presentation of the UPML meta ontology: classes in the center are depicted with

a large circle, whereas classes at the periphery are denoted with a small circle. The

visualization technique allows a quick navigation to classes far away from the center as

well as a closer examination of classes and their vicinity. The structure of the frame-based

representation language is used to define a tabular querying interface that frees users from

typing logical formulas (see Figure 23). When a user selects a class from the hyperbolic

ontology view, the class name appears in the class field of the tabular query interface and

the user can select one of the attributes from the attribute choice menu because the preselected

class determines the possible attributes. The discussed tool set is implemented in

Java and available through the WWW.10 Figure 24 provides the reply of OntobrokerUPML

for the query that asks for all attributes of the task called „Complete and parsimonious

diagnosis“.

In addition to human users, the query interface can also be used by other software agents

9. http://www.aifb.uni-karlsruhe.de/www-broker.

10. http://www.aifb.uni-karlsruhe.de/WBS/ibrow

43

43.1

43.2

43.3

43.4

43.5

43.6

43.7

43.8

43.9

43.10

43.11

43.12

43.13

43.14

43.15

43.16

43.17

43.18

43.19

43.20

43.21

43.22

43.23

43.24

43.25

43.26

43.27

43.28

43.29

43.30

43.31

43.32

43.33

43.34

43.35

43.36

43.37

43.38

43.39

43.40

43.41

43.42

43.43

43.44

like the Ibrow broker [Benjamins et al., 1998], [Fensel & Benjamins, 1998a]. In this case,

Ontobroker provides an advanced query interface to various libraries used by the Ibrow

broker to select the appropriate components and adapters to compose a system meeting to

the requirements of a human client (cf. [Fensel et al., 1999d]). The relationship of the Ibrow

broker and Ontobroker roughly corresponds to the relationship of mediator and wrappers in

information integration architectures [Wiederhold, 1992].

4.3.3 The UPML Verifier KIV

KIV is an interactive theorem prover for the construction of provably correct software. KIV

supports the entire design process, starting from formal specifications (algebraic full first-

Fig. 22 Snapshots of the UPML editor built with Protégé-2000. The left panel displays the

hierarchy of classes defined in the meta-ontology of UPML, the central panel lists the instances of the

selected classes (here Complex-PSM and CPSM-Refiner) and the right panel shows the form associated

with the class of the selected instance (here the “Search” Complex-PSM). The specific slot values for this

instance are acquired and browsed either directly from this form, or via forms attached to the classes that

define the slots. For instance, the form for a complex PSM includes a task decomposition diagram that

allows to specify the competence slots of the PSM with automatically filled-in instances of input/output

roles and tasks. The left superimposed form shows the “Update Node” task instance. The right

superimposed form displays the MCL control structure over the subtasks of the PSM, also acquired through

a diagram metaphor.

44

44.1

44.2

44.3

44.4

44.5

44.6

44.7

44.8

44.9

44.10

44.11

44.12

44.13

44.14

44.15

44.16

44.17

44.18

44.19

44.20

44.21

44.22

44.23

44.24

44.25

44.26

44.27

44.28

44.29

44.30

44.31

44.32

44.33

44.34

44.35

44.36

44.37

44.38

44.39

44.40

44.41

44.42

44.43

44.44

Fig. 23 The browsing and querying interface of OntobrokerUPML.

45

45.1

45.2

45.3

45.4

45.5

45.6

45.7

45.8

45.9

45.10

45.11

45.12

45.13

45.14

45.15

45.16

45.17

45.18

45.19

45.20

45.21

45.22

45.23

45.24

45.25

45.26

45.27

45.28

45.29

45.30

45.31

45.32

45.33

45.34

45.35

45.36

45.37

45.38

45.39

45.40

45.41

45.42

45.43

45.44

order logic with loose semantics) and ending with verified code. It has been successfully

applied in case-studies up to a size of several thousand lines of code and specification. KIV

allows structuring of specifications and modularization of software systems. Therefore, the

conceptual model of our specification can be realized by the modular structure of a

specification in KIV. Finally, the KIV system offers well-developed proof engineering

facilities: Proof obligations are generated automatically. When applied to UPML, the

architectural constraints from section 4.1 are the basis for such automatically generated

proof obligations. Proof trees are visualized and can be manipulated with the help of a

graphical user interface. Even complicated proofs can be constructed with the interactive

theorem prover. A high degree of automation can be achieved by a number of implemented

heuristics. However, human intervention is necessary for two reasons: In general, complex

proofs cannot be completely automated, and proving usually means finding errors either in

the specification or in the implementation. The proof process is therefore a kind of search

process for errors. Analysis of failed proof attempts and the automatic generation of counter

examples support the iterative process of developing correct specifications and programs.

The use of the interactive theorem prover KIV [Reif, 1995] for verifying architectural

descriptions of knowledge-based systems is described in [Fensel & Schönegge, 1997],

[Fensel & Schönegge, 1998], [Fensel et al., 1998d].

To give an impression of how KIV works we include a screen dump of the KIV system in

Figure 25. The current proof window on the right shows the partial proof tree currently

under development. Each node represents a sequent (of a sequent calculus for dynamic

logic); the root contains the theorem to prove. In the messages window, the KIV system

reports its ongoing activities. The KIV-Strategy window is the main window which shows

the sequent of the current goal i.e. an open premise (leaf) of the (partial) proof tree. The

user works either by selecting (clicking) one proof tactic (the list on the left) or by selecting

a command from the menu bar above. Proof tactics reduce the current goal to subgoals and

thereby expand the proof tree. Commands include the selection of heuristics, backtracking,

pruning the proof tree, saving the proof, etc.

46

46.1

46.2

46.3

46.4

46.5

46.6

46.7

46.8

46.9

46.10

46.11

46.12

46.13

46.14

46.15

46.16

46.17

46.18

46.19

46.20

46.21

46.22

46.23

46.24

46.25

46.26

46.27

46.28

46.29

46.30

46.31

46.32

46.33

46.34

46.35

46.36

46.37

46.38

46.39

46.40

46.41

46.42

46.43

46.44

Fig. 24 The answer of OntobrokerUPML for a query.

47

47.1

47.2

47.3

47.4

47.5

47.6

47.7

47.8

47.9

47.10

47.11

47.12

47.13

47.14

47.15

47.16

47.17

47.18

47.19

47.20

47.21

47.22

47.23

47.24

47.25

47.26

47.27

47.28

47.29

47.30

47.31

47.32

47.33

47.34

47.35

47.36

47.37

47.38

47.39

47.40

47.41

47.42

47.43

47.44

Fig. 25 Verifying a PSM with KIV.

48

48.1

48.2

48.3

48.4

48.5

48.6

48.7

48.8

48.9

48.10

48.11

48.12

48.13

48.14

48.15

48.16

48.17

48.18

48.19

48.20

48.21

48.22

48.23

48.24

48.25

48.26

48.27

48.28

48.29

48.30

48.31

48.32

48.33

48.34

48.35

48.36

48.37

48.38

48.39

48.40

48.41

48.42

48.43

48.44

5 Conclusions, Related Work and Future Work

This paper presents UPML, a language for the architectural specifications of knowledgebased

systems. Tasks, problem-solving methods, domain models, and ontologies are the

different components. Refiners and bridges model refinement and the combination of

components. Refiners structure the development and representation of methods and their

various variants. Bridges enable the user to represent methods decoupled from domains and

tasks to enable their reusable description and implementation. In the following, we will

compare UPML with related work and we provide an outlook of future work.

5.1 UPML As A Software Architecture

In this section, we will rephrase the different elements of a design model for knowledgebased

systems in terms of software architectures.

A task defines the problem that is supposed to be solved by the system. For complexity

reasons this desired functionality may differ from the functionality actually provided by the

system. Distinguishing the desired functionality from the actual competence of the system

provides the advantage to have an explicit notion for this gap (cf. [Fensel & Benjamins,

1998b]). A second particular feature of a task definition is its domain-independency. This

enables reuse of problem definitions in different domains. Classification tasks, diagnostic

tasks, and design tasks can be defined independently from the domain in which they are

reused. The (well proven) assumption is that there are problem types that appear in different

domains. For example, problems solved by model-based diagnosis appear in a broad

variety of domains (electronic circuits, fluid systems, copying machines, etc.) and the same

type of design problem appears for office allocation problems, elevator design, sliding

bearing design, problems of simple mechanics, initial vehicle (truck) design, design and

selection of casting technologies, and sheet metal forming technology for manufacturing

mechanical parts, etc. In consequence, a task does not only introduce a goal (i.e., a notion of

the desired functionality) but also a generic description of the type of domains it can be

instantiated to. Its requirements on domain knowledge provide a domain-independent

characterization of its domain-dependency.

A complex problem-solving method describes different aspects of a software architecture

introducing modularization and control into otherwise declarative systems. The operational

description of a problem-solving method defines:

• A number of tasks and inferences that corresponds to components in software

architectures (where the component that solves a task also has an internal architectural

structure);

49

49.1

49.2

49.3

49.4

49.5

49.6

49.7

49.8

49.9

49.10

49.11

49.12

49.13

49.14

49.15

49.16

49.17

49.18

49.19

49.20

49.21

49.22

49.23

49.24

49.25

49.26

49.27

49.28

49.29

49.30

49.31

49.32

49.33

49.34

49.35

49.36

49.37

49.38

49.39

49.40

49.41

49.42

49.43

49.44

• a control regime, which defines a script that regulates the order of execution for the

components; and

• intermediate roles that provide the data flows between the components. That is, these

dynamic knowledge roles correspond to adapters and connectors in software

architectures.

A problem-solving method abstracts from the domains it is applied to. The primitive

problem-solving methods introduce requirements on domain knowledge which are generic

characterizations of domain types it can be successfully applied to. A particular feature of

problem-solving methods is therefore that they assume large amounts of the functionality

as provided by this domain knowledge. They assume a kind of (deductive) database that

provides significant factual knowledge and reasoning services to perform a task. It

decomposes the entire task into smaller parts and defines some script that regulates their

order of execution, however, the main inference service is assumed to be provided by

domain knowledge.

The domain model corresponds to a deductive database enriched by integrity constraints

(the meta-level characterizations) and assumptions that provide additional axioms for

reasoning. For example, the complete-fault-knowledge assumptions allows us to infer a

cause from a domain knowledge base if no other known fault is consistent with the

observed data.

Finally, bridges that glue tasks, problem-solving methods and domain models together are

nothing more than adapters and connectors in software architectures. However, the

systematic study of refining architectures via refiners has yet to be done in the work on

software architectures.

Putting UPML in the general context of software architectures allows the reuse of existing

work in this area that relates description languages for software architectures with UML.

[Mevidovic & Rosenblum, 1999] compare an approach of software architectures with UML

at a conceptual level and [Hofmeister et al., 1999] describe a pragmatic way of how UML

can be used (or more concrete, extended) to model software architectures. Basically, UML

allows the introduction of new modeling elements and therefore it is not really difficult to

express ones framework in it. [Mevidovic & Rosenblum, 1999] have a very interesting

approach by directly relating the concepts of a software architecture with key concepts (like

classes of UML). Actually they used built-in extension mechanisms on existing metaclasses

rather than extending the meta model itself. Their message in a nutshell is that such

an approach is possible, however:

• it requires some artificial modeling (UML makes some implicit assumptions—mainly

related to OO programming that are not necessary from a SA point of view—and also

the reverse holds, i.e., architectural styles make many assumptions that need to made

50

50.1

50.2

50.3

50.4

50.5

50.6

50.7

50.8

50.9

50.10

50.11

50.12

50.13

50.14

50.15

50.16

50.17

50.18

50.19

50.20

50.21

50.22

50.23

50.24

50.25

50.26

50.27

50.28

50.29

50.30

50.31

50.32

50.33

50.34

50.35

50.36

50.37

50.38

50.39

50.40

50.41

50.42

50.43

50.44

explicitly be modeling them in UML),

• some conceptual distinctions get lost (for example, components and connectors are

both modeled as classes), and

• UML lacks the notion of hierarchical refinement (somewhat surprisingly).

5.2 Related Approaches in Knowledge Engineering

UPML is close in spirit to CML was been developed in CommonKADS project (cf.

[Schreiber et al., 1994]). CML provides a layered conceptual model of knowledge-based

systems by distinguishing domain, inference, and task layers according to the

CommonKADS model of expertise. UPML took this model as a starting point, but refined

it in the component oriented style of software architectures. UPML decomposes a

knowledge-based system via an architecture in a set of related elements: tasks, problemsolving

methods, domain models, and bridges that establish their relationships. CML does

not provide task-independent specifications of problem-solving methods nor the

encapsulation mechanism of UPML for problem-solving methods. The operational

specification of a method is an internal aspect that is externally captured in its functionality

by the competence of the method in UPML. Finally, CML provides no means to refine

tasks and problem-solving methods. In general, UPML is much more oriented to problemsolving

method reuse (i.e., component reuse) than CML. Finally, CML is a semiformal

language whereas UPML can be used as a semiformal language (using its structuring

primitives) and as a formal language (UPML supports logical formalisms to formally

define the slots).

UPML also has many similarities with other standardization efforts in the area of

knowledge-based systems. OKBC [Chaudhri et al., 1998], jointly developed at SRI

International and Stanford University, provides a set of functions that support a generic

interface to underlying frame representation systems. The Knowledge Interchange Format

[KIF] is a computer-oriented first-order logic language for the interchange of knowledge

among disparate programs. The Knowledge Query and Manipulation Language [KQML] is

a language and protocol for exchanging information and knowledge. KQML can be used as

a language for an application program to interact with an intelligent system or for two or

more intelligent systems to share knowledge in support of cooperative problem solving.

The distinctive feature of UPML is that it deals with the sharing and exchange of problemsolving

methods, i.e. software components that realize complex reasoning tasks of

knowledge-based systems.

51

51.1

51.2

51.3

51.4

51.5

51.6

51.7

51.8

51.9

51.10

51.11

51.12

51.13

51.14

51.15

51.16

51.17

51.18

51.19

51.20

51.21

51.22

51.23

51.24

51.25

51.26

51.27

51.28

51.29

51.30

51.31

51.32

51.33

51.34

51.35

51.36

51.37

51.38

51.39

51.40

51.41

51.42

51.43

51.44

5.3 Outlook

UPML is a description language and therefore does not need an operational semantics.

However, the IBROW3 broker [Benjamins et al., 1998] must be able to reason about

expressions in the description language. In that sense, one can view the broker as a specialpurpose

„interpreter“ of the language. Also, we require some kind of more general

inference engine for the language to establish some reliability of descriptions and the

derivation of abstract properties, for example ensuring deadlock freedom of a combination

of some components or ensuring that a problem-solving method, together with

assumptions, is able to achieve a goal (for this latter task, the architectural constraints from

section 4.1 can be exploited). The use of formal techniques for component retrieval is

discussed e.g. in [Penix et al., 1997], [Schumann & Fischer, 1997], and [Zaremski & Wing,

1997]. In addition to (internal) reasoning service of the broker, it must interact with a client

to select, combine, and adapt a problem solver. The hypertext metaphor seems appropriate

as the interaction style of the WWW-based broker. [Isakowitz & Kauffman, 1996] discuss

software component reuse as a hypertext-based browsing process.

Acknowledgment. We thank John Gennari, Karima Messaadia, Mourad Oussalah,

John Park, Rainer Perkun, Annette ten Teije, and Andre Valente for valuable

comments on early drafts of the paper. Thanks to Jeff Butler for correcting our

English.

52

52.1

52.2

52.3

52.4

52.5

52.6

52.7

52.8

52.9

52.10

52.11

52.12

52.13

52.14

52.15

52.16

52.17

52.18

52.19

52.20

52.21

52.22

52.23

52.24

52.25

52.26

52.27

52.28

52.29

52.30

52.31

52.32

52.33

52.34

52.35

52.36

52.37

52.38

52.39

52.40

52.41

52.42

52.43

52.44

6 References

[Akkermans et al., 1993] J. M. Akkermans, B. Wielinga, and A. Th. Schreiber: Steps in

Constructing Problem-Solving Methods. In N. Aussenac et al. (eds.), Knowledge-Acquisition

for Knowledge-Based Systems, Lecture Notes in Artificial Intelligence (LNAI) 723, Springer-

Verlag, Berlin, 1993.

[Allen & Garlan, 1997] R. Allen and D. Garlan: A Formal Basis for Architectural Connection, ACM

Transactions on Software Engineering and Methodology, 6(3):213—249, July 1997.

[Arcos & Plaza, 1996] J. L. Arcos and E. Plaza: Inference and reflection in the object-centered

representation language Noos, Future Generation Computer Systems Journal, Special issue on

Reflection and Meta-level AI Architectures, 12(2-3):173—188, 1996.

[Benjamins, 1995] V. R. Benjamins: Problem Solving Methods for Diagnosis And Their Role in

Knowledge Acquisition, International Journal of Expert Systems: Research and Application,

8(2):93—120, 1995.

[Benjamins et al., 1998] V. R. Benjamins, E. Plaza, E. Motta, D. Fensel, R. Studer, B. Wielinga, G.

Schreiber, Z. Zdrahal, and S. Decker: An Intelligent Brokering Service for Knowledge-

Component Reuse on the World-WideWeb. In Proceedings of the 11th Banff Knowledge

Acquisition for Knowledge-Based System Workshop (KAW´98), Banff, Canada, April 18-23,

1998.

[Benjamins et al., 1999] V. R. Benjamins, B. Wielinga, J. Wielemaker, and D. Fensel : Brokering

Problem-Solving Knowledge at the Internet. In Knowledge Acquisition, Modeling, and

Management, Proceedings of the European Knowledge Acquisition Workshop (EKAW-99), D.

Fensel et al. (eds.), Lecture Notes in Artificial Intelligence, LNAI 1621, Springer-Verlag, May

1999.

[Benjamins & Fensel, 1998] V. R. Benjamins and D. Fensel: Special issue on problem-solving

methods of the International Journal of Human-Computer Studies (IJHCS), 49(4):305-

313,1998.

[Benjamins & Shadbolt, 1998] V. R. Benjamins and Nigel Shadbolt: Special Issue on Knowledge

Acquisition and Planning, International Journal of Human-Computer Studies (IJHCS), 48(4),

1998.

[Beys et al., 1996] P. Beys, R. Benjamins, and G. van Heijst: Remedying the Reusability-Usability

Trade-off for Problem-solving Methods. In Proceedings of the 10th Banff Knowledge

Acquisition for Knowledge-Based System Workshop (KAW´96), Banff, Canada, November 9-

14, 1996.

[Breuker & Van de Velde, 1994] J. Breuker and W. Van de Velde (eds.): The CommonKADS

Library for Expertise Modeling, IOS Press, Amsterdam, The Netherlands, 1994.

[Bylander et al., 1991] T. Bylander, D. Allemang, M. C. Tanner, and J. R. Josephson: The

Computational Complexity of Abduction, Artificial Intelligence, 49:25—60, 1991.

[Chaudhri et al., 1998] V. K. Chaudhri, A. Farquhar, R. Fikes, P. D. Karp, and J. P. Rice: Open

Knowledge Base Connectivity 2.0, Knowledge Systems Laboratory, KSL-98-06, January

1998. http://www-ksl-svc.stanford.edu:5915/doc/project-papers.html

[Chandrasekaran et al., 1992] B. Chandrasekaran, T.R. Johnson, and J. W. Smith: Task Structure

Analysis for Knowledge Modeling, Communications of the ACM, 35(9):124—137, 1992.

53

53.1

53.2

53.3

53.4

53.5

53.6

53.7

53.8

53.9

53.10

53.11

53.12

53.13

53.14

53.15

53.16

53.17

53.18

53.19

53.20

53.21

53.22

53.23

53.24

53.25

53.26

53.27

53.28

53.29

53.30

53.31

53.32

53.33

53.34

53.35

53.36

53.37

53.38

53.39

53.40

53.41

53.42

53.43

53.44

[Chandrasekaran et al., 1998] B. Chandrasekaran, J. R. Josephson, and R. Benjamins: The Ontology

of Tasks and Methods, In Proceedings of the 11th Banff Knowledge Acquisition for

Knowledge-Based System Workshop (KAW´98), Banff, Canada, April 18-23, 1998.

[Chaudhri et al., 1998] V. K. Chaudhri, A. Farquhar, R. Fikes, P. D. Karp, and J. P. Rice: OKBC: A

programmatic foundation for knowledge base interoperability. In Proceedings of the 15th

National Conference on Artificial Intelligence (AAAI-98) and of the 10th Conference on

Innovative Applications of Artificial Intelligence (IAAI-98), pages 600–607. AAAI Press,

1998.

[Clancey, 1983] W.J. Clancey, The Epistemology of a Rule-Based Expert System—a Framework

for Explanation, Artificial Intelligence 20:215—251, 1983.

[Clements, 1996] P. C. Clements: A Survey of Architecture Description Languages. In Proceedings

of the 8th International Workshop on Software Specification and Design, Dagstuhl, Germany,

March 1996.

[Cox & Pietrzykowski, 1986] P. T. Cox and T. Pietrzykowski: Causes of Events: Their

Computation and Application. In Proceedings of the 8th International Conference on

Automated Deduction, Oxford, England, July 27 - August 1, Lecture Notes in Computer

Science (LNCS) 230, Springer-Verlag, 1986.

[Decker et al., 1999] S. Decker, M. Erdmann, D. Fensel, and R. Studer: Ontobroker: Ontology

based Access to Distributed and Semi-Structured Information. In R. Meersman et al. (eds.),

Semantic Issues in Multimedia Systems, Kluwer Academic Publisher, Boston, to appear 1999.

[de Kleer, 1986] J. de Kleer: An Assumption-based TMS, Artificial Intelligence, 28, 1986.

[Dijkstra, 1975] E. W. Dijkstra: Guarded Commands, Nondeterminancy, and Formal Derivation of

Programs, Communication of the ACM, 18:453—457, 1975.

[Eriksson et al., 1995] H. Eriksson, Y. Shahar, S. W. Tu, A. R. Puerta, and M. A. Musen: Task

Modeling with Reusable Problem-Solving Methods, Artificial Intelligence, 79(2):293—326,

1995.

[Eriksson et al., 1999] H. Eriksson, R. W. Fergerson, Y. Shahar, and M. A. Musen: Automatic

Generation of Ontology Editors. In Proceedings of the Twelfth Banff Knowledge Acquisition

for Knowledge-based systems Workshop, Banff, Alberta, Canada, 1999.

[Fensel, 1995] D. Fensel: Formal Specification Languages in Knowledge and Software

Engineering, The Knowledge Engineering Review, 10(4), 1995.

[Fensel, 1997] D. Fensel: The Tower-of-Adapter Method for Developing and Reusing Problem-

Solving Methods. In E. Plaza et al. (eds.), Knowledge Acquisition, Modeling and Management,

Lecture Notes in Artificial Intelligence (LNAI) 1319, Springer-Verlag, 1997.

[Fensel, 2000] D. Fensel: Understanding, Development, Description, and Reuse of Problem-Solving

Methods, Lecture Notes in Artificial Intelligence (LNAI 1791), Springer-Verlag, 2000.

[Fensel & Benjamins, 1998a] D. Fensel and V. R. Benjamins: Key Issues for Problem-Solving

Methods Reuse. In Proceedings of the 13th European Conference on Artificial Intelligence

(ECAI-98), Brighton, UK, August 1998.

[Fensel & Benjamins, 1998b] D. Fensel and R. Benjamins: The Role of Assumptions in Knowledge

Engineering, International Journal of Intelligent Systems (IJIS), 13(7), 1998.

[Fensel et al., 1996a] D. Fensel, H. Eriksson, M. A. Musen, and R. Studer: Conceptual and Formal

Specification of Problem-Solving Methods, International Journal of Expert Systems, 9(4),

1996.

54

54.1

54.2

54.3

54.4

54.5

54.6

54.7

54.8

54.9

54.10

54.11

54.12

54.13

54.14

54.15

54.16

54.17

54.18

54.19

54.20

54.21

54.22

54.23

54.24

54.25

54.26

54.27

54.28

54.29

54.30

54.31

54.32

54.33

54.34

54.35

54.36

54.37

54.38

54.39

54.40

54.41

54.42

54.43

54.44

[Fensel et al., 1997] D. Fensel, E. Motta, S. Decker, and Z. Zdrahal: Using Ontologies For Defining

Tasks, Problem-Solving Methods and Their Mappings. In E. Plaza et al. (eds.), Knowledge

Acquisition, Modeling and Management, Lecture Notes in Artificial Intelligence (LNAI) 1319,

Springer-Verlag, 1997.

[Fensel et al., 1998a] D. Fensel, R. Groenboom, and G. R. Renardel de Lavalette: Modal Change

Logic (MCL): Specifying the Reasoning of Knowledge-based Systems, Data and Knowledge

Engineering (DKE), 26(3):243-269, 1998.

[Fensel et al., 1998b] D. Fensel, J. Angele, and R. Studer, The Knowledge Acquisition and

Representation Language KARL, IEEE Transactions on Knowledge and Data Engineering,

10(4):527-550, 1998.

[Fensel et al., 1998c] D. Fensel, S. Decker, M. Erdmann und R. Studer: Ontobroker: The Very High

Idea. In Proceedings of the 11th International Flairs Conference (FLAIRS-98), Sanibal Island,

Florida, USA, 131-135, May 1998.

[Fensel et al., 1998d] D. Fensel, F. van Harmelen, W. Reif und Annette ten Teije: Formal Support

for Development of Knowledge-Based Systems, Information Technology Management: An

International Journal, special issue on Lessons Learned About Safety-Critical Software, 1998.

[Fensel et al., 1999a] D. Fensel, V. R. Benjamins, S. Decker, M. Gaspari, R. Groenboom, W.

Grosso, M. Musen, E. Motta, E. Plaza, G. Schreiber, R. Studer, and B. Wielinga: The

Component Model of UPML in a Nutshell. In WWW Proceedings of the 1st Working IFIP

Conference on Software Architectures (WICSA1), San Antonio, Texas, USA, February 1999.

[Fensel et al., 1999b] D. Fensel, E. Motta, V. R. Benjamins, S. Decker, M. Gaspari, R. Groenboom,

W. Grosso, M. Musen, E. Plaza, G. Schreiber, R. Studer, and B. Wielinga: The Unified

Problem-solving Method Development Language UPML. In ESPRIT Projekt 27169

IBROW3: An Intelligent Brokering Service for Knowledge-Component Reuse on the World-

Wide Web, Deliverable 1.1, Chapter 1.

[Fensel et al., 1999c] D. Fensel, V. R. Benjamins, E. Motta, and B. Wielinga: UPML: A Framework

for knowledge system reuse. In Proceedings of the International Joint Conference on AI

(IJCAI-99), Stockholm, Sweden, July 31 - August 5, 1999.

[Fensel et al., 1999d] D. Fensel, J. Angele, S. Decker, M. Erdmann, H.-P. Schnurr, S. Staab, R.

Studer, and A. Witt: On2broker: Semantic-Based Access to Information Sources at the WWW.

In Proceedings of the World Conference on the WWW and Internet (WebNet 99), Honolulu,

Hawai, USA, October 25-30, 1999.

[Fensel & Groenboom, 1996] D. Fensel and R. Groenboom: MLPM: Defining a Semantics and

Axiomatization for Specifying the Reasoning Process of Knowledge-based Systems. In

Proceedings of the 12th European Conference on Artificial Intelligence (ECAI-96), Budapest,

August 12-16, 1996.

[Fensel & Groenboom, 1997] D. Fensel and R. Groenboom: Specifying Knowledge-Based Systems

with Reusable Components. In Proceedings of the 9th International Conference on Software

Engineering & Knowledge Engineering (SEKE-97), Madrid, Spain, June 18-20, 1997.

[Fensel & Groenboom, 1999] D. Fensel and R. Groenboom: A Software Architecture for

Knowledge-Based Systems, The Knowledge Engineering Review, 14(3), 1999.

[Fensel & van Harmelen, 1994] D. Fensel and F. van Harmelen: A Comparison of Languages which

Operationalize and Formalize KADS Models of Expertise, The Knowledge Engineering

Review, 9(2), 1994.

55

55.1

55.2

55.3

55.4

55.5

55.6

55.7

55.8

55.9

55.10

55.11

55.12

55.13

55.14

55.15

55.16

55.17

55.18

55.19

55.20

55.21

55.22

55.23

55.24

55.25

55.26

55.27

55.28

55.29

55.30

55.31

55.32

55.33

55.34

55.35

55.36

55.37

55.38

55.39

55.40

55.41

55.42

55.43

55.44

[Fensel & Motta, 1998] D. Fensel and E. Motta: Structured Development of Problem Solving

Methods, In Proceedings of the 11th Banff Knowledge Acquisition for Knowledge-Based

System Workshop (KAW´98), Banff, Canada, April 18-23, 1998.

[Fensel & Motta, to appear] D. Fensel and E. Motta: Structured Development of Problem Solving

Methods, to appear in IEEE Transactions on Knowledge and Data Engineering (IEEE TKDE).

[Fensel & Schönegge, 1997] D. Fensel and A. Schönegge: Using KIV to Specify and Verify

Architectures of Knowledge-Based Systems. In Proceedings of the 12th IEEE International

Conference on Automated Software Engineering (ASEC-97), Incline Village, Nevada,

November 3-5, 1997.

[Fensel & Schönegge, 1998] D. Fensel and A. Schönegge: Inverse Verification of Problem-Solving

Methods, International Journal of Human-Computer Studies (IJHCS), 49(4):339-362,1998.

[Fensel & Straatman, 1998] D. Fensel and R. Straatman: The Essence of Problem-Solving

Methods: Making Assumptions to Gain Efficiency, to appear in The International Journal of

Human Computer Studies (IJHCS), 48(2):181—215, 1998.

[Gamma et al., 1995] E. Gamma, R. Helm, R. Johnson, and J. Vlissides: Design Patterns, Addison-

Wesley Pub., 1995.

[Gennari et al., 1998] J. H. Gennari, W. Grosso, and M. Musen: A Method-Description Language:

An Initial Ontology with Examples. In Proceedings of the 11th Banff Knowledge Acquisition

for Knowledge-Based System Workshop (KAW´98), Banff, Canada, April 1998.

[de Geus & Rotterdam, 1992] F. de Geus and E. Rotterdam: Decision Support in Anesthesia, Ph.D.

thesis, University of Groningen, 1992.

[Groenboom, 1997] R. Groenboom: Formalizing Knowledge Domains - Static and Dynamic

Aspects, Ph.D. thesis, University of Groningen, Shaker Publ., 1997.

[Grosso et al., 1999] W. E. Grosso, H. Eriksson, R. W. Fergerson, J. H. Gennari, S. W. Tu, and M.

A. Musen: Knowledge Modeling at the Millennium (The Design and Evolution of Protégé-

2000). In Proceedings of the Twelfth Workshop on Knowledge Acquisition, Modeling and

Management (KAW99), Banff, Alberta, Canada, October 16-21, 1999.

[Gruber, 1993] T. R. Gruber: A Translation Approach to Portable Ontology Specifications,

Knowledge Acquisition, 5:199—220, 1993.

[Harel, 1984] D. Harel: Dynamic Logic. In D. Gabby et al. (eds.), Handbook of Philosophical

Logic, vol. II, Extensions of Classical Logic, D. Reidel Publishing Company, Dordrecht (NL),

1984.

[van Harmelen & Aben, 1996] F. van Harmelen and M. Aben: Structure-preserving Specification

Languages for Knowledge-based Systems, Journal of Human Computer Studies, 44:187—

212, 1996.

[van Harmelen & Balder, 1992] F. van Harmelen and J. Balder: (ML)2, A Formal Language for

KADS Conceptual Models, Knowledge Acquisition 4, 1, 1992.

[Hofmeister et al., 1999] C. Hofmeister, R. L. Nord, and D: Soni: Describing Software

Architectures with UML. In P. Donohoe (eds.), Software Architecture, Kluwer Academic

Publ., 1999.

[Isakowitz & Kauffman, 1996] T. Isakowitz and R. J. Kauffman: Supporting Search for Reusable

Software Objects, IEEE Transactions on Software Engineering, 22(6):407—423, 1996.

[Karbach & Voß, 1992] W. Karbach and A. Voß: Reflecting About Expert Systems in MODEL-K.

In Proceedings of Expert Systems and their Applications, 12th International Workshop, vol 1

56

56.1

56.2

56.3

56.4

56.5

56.6

56.7

56.8

56.9

56.10

56.11

56.12

56.13

56.14

56.15

56.16

56.17

56.18

56.19

56.20

56.21

56.22

56.23

56.24

56.25

56.26

56.27

56.28

56.29

56.30

56.31

56.32

56.33

56.34

56.35

56.36

56.37

56.38

56.39

56.40

56.41

56.42

56.43

56.44

(Scientific Conference), June 1-6, Avignon, 1992.

[Keisler, 1977] H. J. Keisler: Fundamentals of Model Theory. In John Barwise (ed.), Handbook of

Mathematical Logic, North Holland 1977.

[KIF] KIF: http://logic.stanford.edu/kif/kif.html.

[Kifer et al., 1995] M. Kifer, G. Lausen, and J. Wu: Logical Foundations of Object-Oriented and

Frame-Based Languages, Journal of the ACM, vol 42, 1995.

[KQML] KQML: http://www.cs.umbc.edu/kqml/.

[van Langevelde et al., 1993] I. van Langevelde, A. Philipsen, and J. Treur: A Compositional

Architecture for Simple Design Formally Specified in DESIRE. In J. Treur and Th. Wetter

(eds.): Formal Specification of Complex Reasoning Systems, Ellis Horwood, New York, 1993.

[Lloyd, 1987] J. W. Lloyd: Declarative Error Diagnosis, New Generation Computing, 5:133—154,

1987.

[Marcus, 1988] S. Marcus (ed.): Automating Knowledge Acquisition for Experts Systems, Kluwer

Academic Publisher, Boston, 1988.

[Mevidovic & Rosenblum, 1999] N. Mevidovic and D. S. Rosenblum: Accessing the Suitability of

a Standard Design Method for Modeling Software Architectures. In P. Donohoe (eds.),

Software Architecture, Kluwer Academic Publ., 1999.

[Minton, 1995] S. Minton: Quantitative Results Concerning the Utility of Explanation-Based

Learning. In A. Ram and D. B. Leake (eds.): Goal-Driven Learning, The MIT Press, 1995.

[Minton et al., 1989] S. Minton, S. Carbonell, C. Knoblock, D. R. Kuokka, O. Etzioni, and Y. Gil:

Explanation-based Learning: A Problem Solving Perspective, Artificial Intelligence, 40:63—

118, 1989.

[Mizoguchi et al., 1995] R. Mizoguchi, J. Vanwelkenhuysen, and M. Ikeda: Task Ontologies for

reuse of Problem Solving Knowledge. In N. J. I. Mars (ed.), Towards Very Large Knowledge

Bases, IOS Press, 1995.

[Motta, 1999] E. Motta: Reusable Components for Knowledge Modeling, IOS Press,

Amsterdam, 1999.

[Motta et al., 1998] E. Motta, M. Gaspari, and D. Fensel: UPML Specification of a Parametric

Design Library, Deliverable D4.1. Esprit Project 27169, IBROW3, 1998.

[Muggleton & Buntine, 1988] S. Muggleton and W. Buntine: Machine Invention of First-Order

Predicates by Inverting Resolution. In Proceedings of the 5th International Conference on

Machine Learning (ICML-88), Michigan, US, 1988.

[Muggleton & De Raedt, 1994] S. Muggleton and L. De Raedt: Inductive Logic Programming:

Theory and Methods, Journal of Logic Programming, 19/20:629—679, 1994.

[Musen 1998] M. A. Musen. Modern Architectures for Intelligent Systems: Reusable Ontologies

and Problem-Solving Methods. In C.G. Chute, Ed., 1998 AMIA Annual Symposium, Orlando,

FL, 46-52. 1998.

[O’Hara & Shadbolt, 1996] K. O’Hara and N. Shadbolt: The Thin End of the Wedge:

Efficiency and the Generalized Directive Model Methodology. In N. Shadbolt (eds.),

Advances in Knowledge Acquisition, LNAI 1076, Springer-Verlag, 1996.

[Oussalah & Messaadia, 1999] M. Oussalah and K. Messaadia: The Ontologies of Semantic and

Transfer Links. In D. Fensel et al. (eds.), Proceedings of the EKAW-99, Lecture Notes on

Artificial Intelligence (LNAI), Springer-Verlag Berlin, 1999.

57

57.1

57.2

57.3

57.4

57.5

57.6

57.7

57.8

57.9

57.10

57.11

57.12

57.13

57.14

57.15

57.16

57.17

57.18

57.19

57.20

57.21

57.22

57.23

57.24

57.25

57.26

57.27

57.28

57.29

57.30

57.31

57.32

57.33

57.34

57.35

57.36

57.37

57.38

57.39

57.40

57.41

57.42

57.43

57.44

[Penix et al., 1997] J. Penix, P. Alexander, and K. Havelund: Declarative Specification of Software

Architectures. In Proceedings of the 12th IEEE International Conference on Automated

Software Engineering (ASEC-97), Incline Village, Nevada, November 3-5, 1997.

[Puerta et al., 1992] A. R. Puerta, ,J. W. Egar, S. W. Tu, M.A. and Musen: A Multiple-method

Knowledge-Acquisition Shell for the Automatic Generation of Knowledge-acquisition Tools,

Knowledge Acquisition, 4(2):171—196, 1992.

[Puppe, 1993] F. Puppe: Systematic Introduction to Expert Systems: Knowledge Representation and

Problem-Solving Methods, Springer-Verlag, Berlin, 1993.

[Reif, 1995] W. Reif: The KIV Approach to Software Engineering. In M. Broy and S. Jähnichen

(eds.): Methods, Languages, and Tools for the Construction of Correct Software, Lecture

Notes in Computer Science (LNCS) 1009, Springer-Verlag, Berlin, 1995.

[Schreiber et al., 1994] A. TH. Schreiber, B. Wielinga, J. M. Akkermans, W. Van De Velde, and R.

de Hoog: CommonKADS. A Comprehensive Methodology for KBS Development, IEEE

Expert, 9(6):28—37, 1994.

[Schumann & Fischer, 1997] J. Schuman and B. Fischer: NORA/HAMMER: Making Deduction-

Based Software Component Retrieval Practical. In Proceedings of the 12th IEEE International

Conference on Automated Software Engineering (ASEC-97), Incline Village, Nevada,

November 3-5, 1997.

[Shapiro, 1982] E. Y. Shapiro: Algorithmic Program Debugging, The MIT Press, 1982.

[Shaw & Garlan, 1996] M. Shaw and D. Garlan: Software Architectures. Perspectives on an

Emerging Discipline, Prentice-Hall, 1996.

[Smith, 1996] D. R. Smith: Towards a Classification Approach to Design. In Proceedings of the 5th

International Conference on Algebraic Methodology and Software Technology (AMAST-96),

Munich, Germany, July 1-5, 1996.

[Smith & Lowry, 1990] D. R. Smith and M. R. Lowry: Algorithm Theories and Design Tactics,

Science of Computer Programming, 14:305—321, 1990.

[Stefik, 1995] M. Stefik: Introduction to Knowledge Systems, Morgan Kaufman Publ., San

Francisco, 1995.

[Studer et al., 1996] R. Studer, H. Eriksson, J. Gennari, S. Tu, D. Fensel and M. Musen: Ontologies

and the Configuration of Problem-Solving Methods. In Proceedings of the 10th Banff

Knowledge Acquisition for Knowledge-Based System Workshop (KAW´96), Banff, Canada,

November 1996.

[Top & Akkermans, 1994] J. Top and H. Akkermans: Tasks and Ontologies in Engineering

Modeling, International Journal of Human-Computer Studies (IJHCS), 41:585—617, 1994.

[Van de Velde, 1988] W. van de Velde: Inference Structure as a Basis for Problem Solving. In

Proceedings of the 8th European Conference on Artificial Intelligence (ECAI-88), Munich,

August 1-5, 1988.

[Van de Velde, 1994] W. van de Velde: A Constructive View on Knowledge Engineering. In

Proceedings of the 11th European Conference on Artificial Intelligence (ECAI-94), Budapest,

Hungaria, August , 1994.

[Voß & Voß, 1993] H. Voß and A. Voß: Reuse-Oriented Knowledge Engineering with MoMo. In

Proceedings of the 5th International Conference on Software Engineering and Knowledge

Engineering (SEKE´93), San Francisco Bay, June 14-18, 1993.

[Wiederhold, 1992] G. Wiederhold: Mediators in the Architecture of Future Information Systems,

58

58.1

58.2

58.3

58.4

58.5

58.6

58.7

58.8

58.9

58.10

58.11

58.12

58.13

58.14

58.15

58.16

58.17

58.18

58.19

58.20

58.21

58.22

58.23

58.24

58.25

58.26

58.27

58.28

58.29

58.30

58.31

58.32

58.33

58.34

58.35

58.36

58.37

58.38

58.39

58.40

58.41

58.42

58.43

58.44

IEEE Computer, 25(3):3849, 1992.

[Yellin & Strom, 1997] D. M. Yellin and R. E. Strom: Protocol Specifications and Component

Adapters, ACM Transactions on Programming Languages and Systems, 19(2):292—333,

1997.

[Zaremski & Wing, 1997] A. M. Zaremski and J. M. Wing: Specification Matching of Software

Components, ACM Transactions on Software Engineering and Methodology, 6(4):335—369,

1997.

Post a Comment

0 Comments