date: 28.4.98 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 Structured Development of Problem Solving Methods Dieter Fensel1 and Enrico Motta2 1 Institute AIFB, University of Karlsruhe, Germany, dieter.fensel@aifb.uni-karlsruhe.de, http://www.aifb.uni-karlsruhe.de/~dfe 2 Knowledge Media Institute, The Open University, UK, E.Motta@open.ac.uk, http://kmi.open.ac.uk/~enrico Abstract. Problem solving methods are reasoning components, which specify patterns of behavior which can be reused across applications. While the availability of extensive problem solving method libraries and the emerging consensus on problem solving method specification languages indicate the maturity of the field, a number of important research issues are still open. In particular, very little progress has been achieved on foundational and methodological issues. Existing libraries of problem solving methods lack a clear theoretical basis and only provide weak support for the method development process, usually in the form of informal guidelines. In this paper we will address these issues by providing a structured way for developing and reusing problem-solving methods. We present a three dimensional problem space that expresses the development process of problem-solving methods as adaptations of their algorithmic scheme, their assumptions on domain knowledge and their commitment to a task. The moves within this problem space is achieved by adapters that externalize these adaptations. We can provide a typology of these adapters by relating them to the dimensions in which they adapt. Based on these means, reuse at different levels of refinement becomes possible enabling manageable libraries of problem solving methods with large horizontal and vertical cover. The paper provides several illustrations for our approach taken from parametric design problem solving. 1 Introduction Problem solving methods describe domain-independent reasoning components, which specify patterns of behavior which can be reused across applications. For instance, propose & revise ([Marcus et al., 1988]; [Schreiber & Birmingham, 1996]) provides a generic reasoning pattern, characterized by iterative sequences of model “extension” and -1- 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 “revision”, which can be reused quite easily to solve scheduling [Stout et al., 1988] and design [Marcus et al., 1988] problems. Problem solving methods provide an important technology for supporting structured development approaches in knowledge engineering: they can be used i) to provide strong, model-based frameworks in which to carry out knowledge acquisition ([Marcus, 1988]; [van Heijst et al., 1992]) and ii) to support the rapid development of robust and maintainable applications through component reuse ([Runkel et al., 1996]; [Motta, 1997]; [Motta & Zdrahal, 1998]). A state of the art report on problem-solving methods including some of their applications can be found in [Benjamins & Fensel, 1998]. More in general, the study of problem solving methods can be seen as a way to move beyond the notion of knowledge engineering as an “art” [Feigenbaum, 1977], to formulate a task-oriented systematization of the field, which will make it possible to produce rigorous handbooks similar to those available for other engineering fields. So far, most of the research effort has focused on identifying and specifying problem solving methods. As a result, several problem solving method libraries are now available ([Breuker et al., 1987]; [Marcus, 1988]; [Chandrasekaran et al., 1992]; [Puppe, 1993]; [Benjamins, 1995]; [Breuker & Van de Velde, 1994]; [O'Hara, 1995]; [Motta, 1997]) 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, 1995b] for surveys). Currently two projects, one in Europe, IBROW3 [Benjamins et al., 1998], and one in the US, High Performance Knowledge Bases [HPKB, 1997], have been set up with the aim (among other ones) of enabling semiautomatic reuse of problem-solving methods. While the availability of extensive problem solving method libraries and the emerging consensus on problem solving method specification languages indicate the maturity and the “healthy state” of the field, a number of important research issues are still open concerning the development and reuse of problem-solving methods and their libraries: (1) There is surprisingly minor work done that describes how to develop problem-solving methods and how to adapt problem-solving methods for given domain and task-specific circumstances. (2) In general, the relationship between problem-solving methods at the one side and domain knowledge and task at the other hand is still a matter of debate. (3) How to achieve manageable libraries of problem-solving methods with sufficient horizontal and vertical cover is still an unsolved problem. In our view these difficulties stem from three aspects of published libraries of problem solving methods: they lack a clear theoretical basis, the components are only informally specified and the method refinement operators are not explicitly represented. As a result, i) it is difficult to characterize the coverage of a particular library (i.e. what is the space of problem solving behaviors covered by a library); ii) it is difficult to compare and contrast problem-solving methods associated with different tasks; iii) it is difficult to understand how a problem-solving method was developed (and what alternative specifications are feasible); iv) it is difficult to support automatic method selection and configuration, as -2- date: 28.4.98 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 envisaged in the IBROW3 project; and v) it is difficult to verify the properties of a library formally. In this paper we will address these issues by illustrating a framework which characterizes problem-solving methods in terms of problem problem-solving paradigms, task commitments, and domain knowledge assumptions. This framework provides i) a theoretical foundation for situating problem-solving method research and individual problem-solving methods, as well as ii) an organization which allows us to characterize method development and selection as a process of navigating through a three-dimensional space (defined by the three components of our framework). Individual moves through this space are formally specified by means of adapters ([Fensel & Groenboom, 1996]; [Fensel, 1997]). In the rest of the paper we will illustrate these ideas in detail, with examples taken from parametric design problem solving ([Schreiber & Birmingham, 1996]; [Motta & Zdrahal, 1996]). The content of the paper is organized as follows. We characterize the problems our approach is supposed to overcome in section 2. In section 3, we characterize the three-dimensional problem space that structures the development process of problemsolving methods. We discuss a typology of adapters that are to achieve transitions in this space in section 4. A case study on parametric design in reported in section 5. Finally we briefly discuss related work and conclusions. 2 The Problem we Solve In the following, we identify three significant problems that hamper the reuse of problemsolving methods: (i) There is surprisingly minor work done that describes how to develop problemsolving methods and how to adapt problem-solving methods for given domain and task-specific circumstances. (ii) The relationship between problem-solving methods at the one side and domain knowledge and task at the other hand is still a matter of debate. On the one hand problem-solving methods should abstract from both to facilitate reuse. On the other hand, a problem-solving method should provide stronger support in deriving an application than highly generic general purpose search procedures. (iii) How to achieve manageable libraries of problem-solving methods with sufficient horizontal and vertical cover is still an unsolved problem. With horizontal cover we refer to the fact that a library should provide support for a broad class of problems and reasoning strategies. With vertical cover we refer to the fact that -3- 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 ideally a library should support the entire development process from abstract conceptual models to implemented code that describe the problem-solving process in much more detail. We will discuss each of these problems and will sketch our proposal how to overcome them. A more detailed discussion of our solutions are provided in the following sections. 2.1 Developing and Adapting Problem-solving Methods Given the amount of literature that describes problem-solving methods and their use for describing the reasoning behavior of knowledge-based systems it is rather surprising to see how less work was done on how to develop (and adapt) problem-solving methods. In most knowledge engineering frameworks (cf. PROTÈGÈ-II [Puerta et al., 1992]; Role-limiting methods [Marcus, 1988], [Puppe, 1993]; COMPONENTS OF EXPERTISE [Steels, 1990]; GDM [Terpstra et al., 1993]; CommonKADS [Breuker & Van de Velde, 1994], [Schreiber et al., 1994]; [Benjamins, 1995]; MIKE [Angele et al., 1998]) these methods are assumed to be already provided. The only adaptation method discussed in the literature is a kind of hierarchical refinement where a problem-solving method P decomposes a task T into subtasks T1,...,Tn that are recursively solved by new problem-solving methods P1,...,Pn (see Figure 1). However, this does neither answer the question of how to develop these method that are used as refinements nor how to adapt them for specific aspects of the domain knowledge, that is available as resource for the reasoning process, and the specific commitments that a task may require. An exception are the papers of [Akkermans et al., 1993] and [Wielinga et al., 1995] that view the construction process of problem-solving methods for knowledge-based systems as an assumption-driven activity. A formal specification of a task is derived from informal requirements by introducing assumptions about the problem and the problem space. This task specification is refined into a functional specification of the problem-solving method by making assumptions about the problem-solving paradigm and the available domain theory. Our approach will follow this general proposal. However, we will provide a much more precise definition of (1) the different dimensions of this process, (2) the elementary transitions, (3) how they can be taken, and (4) how the entire process can be uniformly expressed as a number of transition in a three-dimensional problem space. Actually, in our point of view developing problem-solving methods is an adaptation (or refinement) process of a problem-solving methods in the direction of three dimensions: (1) the algorithmic scheme or search paradigm a problem-solving method subscribes; (2) the assumptions on domain knowledge that influence the definition of its elementary inferences and competence; and (3) the (data-) structure a problem-solving method uses to describe its input, intermediate states and output. The latter reflects the task-specific commitments a method makes. The algorithmic scheme introduces explicit decomposition of tasks and -4- date: 28.4.98 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 Problem type Decomposition-Method-1 Task-1-1 ......................... Task-1-m ` .... Primitive-Method-1-1-1 Decomposition-Method-n-1-1 Task-n-1-1-1 ........ Primitive-Method-n-1-1-1-1 Fig. 1 Decomposition-Method-n Task-n-1 Primitive-Method-n-1-1 ` Task-n-1-1-k Primitive-Method-n-1-1-k-1 Generic structure of task-method hierarchies introduce a defined control on top of them. Both aspects are treated rather vague in the above mentioned approaches and it remains unclear how tasks can be decomposed without such means. 2.2 Bypassing the interaction problem and the usability-reusability trade-off Problem-solving methods should describe reusable reasoning patterns. This reusability is achieved via abstraction from different sources of “noise”: implementation aspects, domain aspects, and task aspects. [Clancey, 1985] reported on the analysis of a set of first generation expert systems developed to solve different tasks. Though they were realized using different representation formalisms (e.g. production rules, frames, LISP) and applied in different domains, he discovered a common problem solving behavior. Clancey was able to abstract this common behavior to a generic inference pattern called heuristic classification, which describes the problem-solving behavior of these systems on an abstract level. When considering the problem-solving method heuristic classification in some more detail (see Figure 2) we can identify the three basic inference actions abstract, heuristic match, and refine. Furthermore, four knowledge roles are defined: observables, abstract observables, solution abstractions, and solutions. It is important to see that such a description of a problem-solving method is given in a generic way. Thus the reuse of such a problem-solving method in different domains (and possible tasks) is made possible. -5- 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 abstract observables heuristic match abstract refine observables solutions inference action Fig. 2 solution abstractions role The problem-solving method heuristic classification. However, in the following we discuss a couple of problems that arise in the course of this approach to reuse. Problem-solving methods abstract from the domain. The interaction problem [Bylander & Chandrasekaran, 1988] states that domain knowledge cannot be represented independently of how it will be used in reasoning. Vice versa, a problem-solving method and its specific variants cannot be constructed independently of assumptions about the available domain knowledge. Developing reusable problem-solving methods as well as reusable domain theories requires the explicit representation of the assumptions about the domain knowledge of the method and the explicit representation of properties of the domain knowledge that can be related to these assumptions. [Stefik, 1995] analyzes a number of classification methods and shows how they differ in the type and properties of domain knowledge they require. [Motta & Zdrahal, 1996] analyze the knowledge requirements of different methods for parametric design. We will illustrate this aspect with a simple example taken from [Fensel, 1995b] who provides a detailed analysis of propose & revise. In the propose step, a model of an artifact is extended. This extension is performed by using domain knowledge. If a method can assume that there is always one possible further extension operator it can directly apply this operator. Otherwise, it needs first a select step that, based on some additional assumed preference knowledge, determines the next selected extension operator. Further assumptions on the completeness, correctness and utility of the extension knowledge influences competence and control flow of the method (see [Fensel, 1995b] for more details). In consequence, abstracting from the application domain is necessary for enabling reuse of reasoning patters. However, it must be accompanied with support in efficiently refining these reasoning patterns reflecting the available knowledge sources and their specific -6- date: 28.4.98 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 properties. Problem-solving methods abstract from the task. A task defines the goal that must be achieved by a problem-solving method. In terms of software engineering, a task describes the required functionality of a system. In that sense, problem definition would be a better term (see [Breuker, 1997]). However we will follow the established naming convention of the knowledge engineering community. Often, a task also defines subtasks and define some control regime. However, we will discuss this as provided by a problem-solving method and do not view it as a part of the task. That is, we use the term task in the sense of [Chandrasekaran et al., 1992]. Problem-solving methods were introduced in the literature as specialized task-specific reasoning mechanisms (cf. [Chandrasekaran, 1986]). The were called strong methods by [Marcus, 1988] because the make stronger assumption that may restrict their applicability but improve their support in cases where their assumptions are fulfilled. So-called weak methods (generic search algorithms like depth first search, breathsearch etc., see [Bundy, 1990]) are in principle applicable to any type of task however require significant effort in adapting them and do not provide much support in acquiring the required knowledge (cf. [Eriksson et al., 1995]). However, the literature on problemsolving methods is full of worries about the relationship between tasks and problem-solving methods at the one side and problem-solving methods and search algorithms at the other. For example, [Linster, 1994] reports a simple assignment task that was used as common case study in knowledge engineering where this task were solved by different research groups. It turned out that a variety of different problem-solving methods could be applied to this task (for example, [Gaines, 1994] applied a classification method and [Allemang & Rothenfluh, 1992] reports that even within one library of problem-solving methods different ones could be applied). Vice versa, propose & revise that was introduced in [Marcus, 1988] as method for parametric design can in principle also be applied to design problem-solving in general or other types of tasks. Its generic algorithmic scheme assumes two different problem-solving modes: extending an artifact (it may be a diagnosis) and correcting an artifact (it may again be a diagnosis). Both steps are not committed to a specific type of task. A problem with the use of task-specific conceptualizations is that, in some cases, these can make it difficult to understand what a problem-solving method actually does. For instance, [Motta & Zdrahal, 1996] discuss the competence of a number of propose & revise problem solvers and show that differences in their competence can be accounted for by formulating them as search algorithms and comparing their state-selection strategies. Interestingly, this problem seems to be specular to the one reported by [Clancey, 1985], which complained about the "blinding effect" of the implementation terminology used in rule-based systems, which made understanding the problem solving competence of these systems much more difficult. In consequence there seems to be an n:m relationship between problem solving methods and tasks (different methods can be applied to a task and a task can be solved by different methods). However, often this reuse across task boundaries is hampered by task-specific commitments of a method that limits their reusability and that produces mismatches with -7- 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 other tasks even in cases where its general problem-solving strategy would fit well. [Beys et al., 1996] renewed the idea of presenting problem-solving methods task-neutral to overcome this mismatch problem. Following [Clancey, 1992], problem solving methods should be described in terms of set and graph operators manipulating abstract models. However, this loses all the support in directly applying a problem-solving method to a problem in cases it fits well. [Klinker et al., 1991] generalized this circumstance to what they called the usabilityreusability trade-off of problem-solving methods. As more task-specific a method is as more support for developing an application it can provide, however, it limits its reusability. Vice versa, as less task-specific a method is as less support for developing an application it can provide, however, it extends its reusability. In our article, we show that this dilemma can easily be solved by providing three elements: First, abstract algorithmic schemes that describe the problem-solving paradigm of problem-solving method. These schemes correspond to generic search methods and are free of task-specific commitments. Second, support is provided to refine this schemes according to task specific circumstances. For example, [Eriksson et al., 1995], [Fensel et al., 1996a] analyze the task-specific refinement of problem-solving methods. The generic search method chronological backtracking is refined to a task-specific method for one-player board games by introducing additional ontological commitments that are used to describe the input. intermediate states, and output of the method. This ontological commitments can further be used to refine the definition of the state transitions of the method because the vocabulary for describing the states has been enriched. Third, externalizing this adaptation is the key that enables reuse at different levels of refinement. The method can still be used without the refinement for different tasks, the method plus refinement and its stronger support can be used in case it fits, and last but not least, the externalized refinement can be reused to specialize different methods. The refinement reported in [Eriksson et al., 1995] can also be used to refine breadth-first search, for example, if it is kept separate. We will use adapters [Fensel & Groenboom, 1997] for the external specifications of refinements. Problem-solving methods abstract from the implementation. Problem-solving methods range from implemented building blocks [Puerta et al., 1992] to textual descriptions [Breuker & Van de Velde, 1994]. Again, we encounter a usability-reusability trade-off. A implemented building block make strong commitments on the environment it can be used. However, it provides actual reasoning support whereas the problem-solving methods of the CommonKADS library [Breuker & Van de Velde, 1994] provide tutorial material that helps the knowledge engineering in implementing the reasoner. That is, no implemented reasoning service is provided and the missing level of detail of natural language descriptions strongly limits is usability. There are as many meanings for a specification as there are readers, and it is a question of text interpretation as to whether a specification is as intended for a system. The ambiguity of such conceptual models in a Knowledge Engineering context was aptly illustrated by Aben's analysis of the use of a single inference step from the KADS framework in a number of papers in [Bauer & Karbach, 1992]. Aben -8- date: 28.4.98 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 [Aben, 1995] states that out of nine papers that use the abstract inference step, only one author uses it in correspondence with Abens understanding of the original definition in [Breuker et al., 1987], p.37. Most of the other papers use different versions of the inference step, even including versions with different numbers of input arguments. Using platform-independent languages and protocols (for example, Java and CORBA, cf. [Gennari et al., 1996]) helps to extend the scope where actual implementations of problemsolving methods can be reused. However, implementations of problem-solving methods necessarily hardwire task- and domain-specific circumstances at a high level of detail. In consequence, we require an implementation architecture that is based on adaptable components when we want to provide highly usable and reusable building blocks. 2.3 Manageable libraries of problem-solving methods with broad horizontal and vertical cover At the moment nobody knows how to develop libraries of problem-solving methods that are manageable and that provide a large vertical and horizontal cover. With vertical cover we refer to the fact that ideally a library should cover the entire development process of problem-solving methods providing description at a conceptual level, a formalization that adds preciseness and an implementation that adds executability. With horizontal cover we refer to the problems that can successfully be tackled by methods of the library. The original KADS library had one problem-solving method per problem type (all in all there were less than twenty problem-solving methods mentioned in [Breuker et al., 1987]). After a number of years in collecting experience with problem-solving method the CommonKADS library of [Breuker & Van de Velde, 1994] provides an order of magnitude more problem-solving methods. Already this textbook style description of problem-solving methods provides hundreds of methods. None of this methods is implemented and providing these implementations would again increase the number of methods an order of magnitude because of the additional level of details and therefore distinctions. The mentioned problem of numerical explosion when trying to enumerate all problemsolving methods is deeply routed in what is expected by them. The must enable efficient reasoning service by making strong assumptions on the available domain knowledge (cf. [Fensel & Straatman, 1998]) and they must make strong commitments to the task to efficiently develop the knowledge-based system (cf. [Eriksson et al., 1995]). Introducing a large number of assumptions and commitments immediately leads to numerical explosion when trying to enumerate all variants. Take the already mentioned propose & revise and its application to the configuration of a vertical transportation system (VT-domain, cf. [Marcus et al., 1988], [Schreiber & Birmingham, 1996]) as example. Solutions to this problem where we participated are reported in [Motta & Zdrahal, 1996] and [Poeck et al., 1996]. In [Fensel, 1995a], we analysed the solution of [Poeck et al., 1996] in more depth -9- 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 having the goal of deriving a precise and reusable specification of propose & revise. However, we encountered a number of difficulties. First, propose & revise makes a great number of very strong assumptions for solving the given configuration problem. Different variants of propose & revise can be identified according to the precise definition of these assumptions. These assumptions influence the definition of elementary inferences as well as the control and competence of the method (see [Zdrahal & Motta, 1995]). We identified numerous variations of propose & revise. None of them could be determined to be the gold standard of this method. Therefore, hardwiring all assumptions of one variant in a specific operational description with a fixed competence may lead to non-reusable problem-solving methods. Actually, this was the experiences of many shell developers who derived shells from some applications and encountered serious problems when trying to apply it to new and slightly different tasks and domains. Putting all possible variants of propose & revise into the library also does not look very promising given the large number of different variants. Propose & revise is only one method. Applying this strategy to all problemsolving methods would result in a nearly infinitely large library. In consequence, there seems to be only one reasonable strategy: (1) Identifying generic patterns from which the numerous variants can be derived by adaptation and (2) providing support that simplifies the necessary adaptation process. This will provide a way for designing manageable libraries with broad horizontal and vertical cover. Externalizing adaptation is the key factor in component-based development of problem-solving methods. A simple illustration should clarify the point. Assuming n search strategies and m problem types. Without adapters n*m components would be necessary to cover all these combinations. By using adapters only n+m components are necessary. The effect of adapters becomes even more obvious when taking a closer look at search methods on the one hand, and task- and domain-refinements on the other hand. • A local search algorithm has four main parameters that determine its search character [Graham & Bailor, 1996]: the selection of start nodes, the generation of successors nodes, the selection of better nodes, and the definition of the preference relation. Different values for these parameters distinguish between, e.g., best-first search, hillclimbing and beam search. Keeping the more precise definitions of these parameters externally of the core definition of the method, enables to provide a large variety of search methods with a small number of components. • The definition of a task may be less or more specific. A parametric design task can be defined by a design task that is refined to configurational design (where the elements of the artifact are given) and further on to parametric design (where in addition the structure of the artifact, i.e. the selection of the components is given). Implementing a component for each variation of a search method or each task- and domainspecific refinement is intractable. A tractable and structured approach for reusing (usable) components can only be achieved by performing refinements via adapters and - 10 - date: 28.4.98 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 implementing different aspects or degrees of refinement by different adapters. Thus, a refined method is achieved by connecting to it a pile of adapters. 3 The Problem Space A problem-solving method is a task-specific refinement of a search method that makes strong assumptions on domain knowledge. In consequence we get a three-dimensional problem space (see Figure 3) in which we will move with adapters. During the following we will first characterize these dimensions and then illustrate several moves in this space. • Problem-solving paradigm. This is a high-level description which specifies a type of problem solving rather than an actual algorithm. A problem-solving paradigm fixes some basic data structures, provides an initial task-subtask decomposition and a generic control regime. This generic control regime is meant to be common to all problemsolving methods which subscribe to the same problem solving paradigm. Such schemes are necessarily vague in the sense that they define only a basic control regime and some very basic data structures required by this regime. Examples of problem solving paradigms are: generate & test, local search and problem reduction ([Smith & Lowry, 1990]). An important hypothesis in AI is that all intelligent problem solving can be characterized as a search process [Newell & Simon, 1976]. If this hypothesis is adhered to, then problem-solving methods can be characterized as specializations of the search paradigm. • Domain knowledge assumptions. These are assumptions on the domain knowledge that is required to instantiate a problem-solving method in a particular application. Problem -solving paradigm global or local search? Problem (i.e., task) commitments Design or Diagnosis? Fix knowledge and with what power? Domain knowledge assumptions Fig. 3 The three-dimensional problem space. - 11 - 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 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 instantiate a task ontology. 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 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, 1998]). 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 solved by the problem-solving method. These commitments are expressed by subscribing to a particular task ontology. A task ontology specifies a task in terms of initial and goal states in the universe of discourse and introduces the terminology necessary to express task-specific commitments. The ontological commitments introduced by a task (in particular, by a problem type) 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 more specific method for model-based diagnosis or parametric design. A task-specific refinement of a method is still reusable because it is formulated independently of any domain. That is, the method may be applicable to technical or medical diagnostic problems. However, it is limited to a specific class of tasks. 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. Figure 3 presents each of the three dimensions by an arrow which would imply a total order of the elements of the design space for each dimension. Given two elements e1 and e2 always e1 must be derivable from e2 via several refinement steps or vice versa. However, different tasks like diagnosis or design and different problem solving schemes like like local search or search by pruning (e.g. branch and bound) may not be derivable from each other. Still, they can both be derived from more abstract definitions. In consequence, each dimension is defined by an acyclic graph. The graph is defined by the refinment relationship between the elements of the design space and reflects the partial order defined by refinements. Because we focus in the examples used in the paper on one type of task and one type of problem-solving scheme these graphs collapses into total ordered ones. Clearly identifying and separating the problem-solving Paradigm, domain Assumptions, and problem Commitments enables a principled way to developing a problem-solving method and structuring libraries of problem-solving methods. Current approaches to problem- solving methods usually merge these different aspects, thus limiting the - 12 - date: 28.4.98 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 possibilities for reuse, obscuring the nature of the methods, and making it difficult to reconstruct the process which led to a particular problem-solving method specification. In the PAC-framework, the development and adaptation of problem-solving methods is characterized as a navigation process in this three- dimensional space. The nature of the navigation process itself differs with respect to the dimensions of the development process. Moves through the three-dimensional space are represented by means of adapters. They are needed to refine the different terminologies associated with task, method and domain specifications. A typology of adapters will be provided in the next section. Now, we will provide a couple of examples of moves in the problem space we defined. We will show (see Figure 4): (1) We start with a generic search scheme as algorithmic scheme. (2) We refine the generic search scheme to local search (i.e., we refine problem solving). (3) We start with a generic optimization problem. (4) We refine the optimization problem solving to the design problem (i.e., we add problem commitments). (5) We refine the task design to parametric design (i.e., we add problem commitments). (6) We instantiate the local search problem scheme for optimization. We do this in two steps. We refine local search so that it guarantees to find local optima (6.1) and we introduce an assumption on domain knowledge to ensure global optimal results (6.2 (a)). We discuss why a transition without assumptions on domain knowledge (i.e., (6.2 (b))) may miss the gist of problem-solving methods. (7) We instantiate the local search problem scheme for design problems. (8) We instantiate the local search problem scheme for parametric design problems. (9) We refine the algorithmic scheme to propose & revise by assuming two different types of successor relationships. We will discuss these different transitions during the following. - 13 - 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 9 8 7 6.2 (b) 6.2 (a) Problem -solving Scheme Assumption on domain knowledge 6.1 2 5 1 4 Problem Commitments 3 Fig. 4 3.1 Some moves in the problem space we illustrate. A Generic Search Scheme Figure 5 provides a definition of a generic search scheme. It consists of four elementary state transitions, i.e. inferences. Initialize starts the search process and the sequence of Select Node, Derive Successor Nodes, and Update Nodes recursively searches until a solution has been found. The signature of the methods consists of objects and sets of objects which is - 14 - date: 28.4.98 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 scheme generic search control flow Search() /* Initializes and starts the search. */ Nodes:= Initialize(); Output := RecursiveSearch(Nodes) RecursiveSearch(Nodes) Node := Select Node(Nodes); Successor Nodes := Derive Successor Nodes(Node); Nodes := Update Nodes(Nodes, Successor Nodes); IF Stop criterion(Node, Nodes) THEN RETURN Node ELSE RecursiveSearch(Nodes) ENDIF terminology sorts functions Object, Node : Object; Objects : set of Object; Nodes, Output, predicates Successor Nodes : Objects; Stop criterion : Object x Objects, elementary inferences Derive Successor Nodes; Initialize Initialize() ≠ ∅; Select Node Select Node(x) ∈ x; Update Nodes ∅ ≠ Update Nodes(x,y) ⊆ x ∪ y endscheme Fig. 5 The generic search scheme. used by three constants Node, Nodes, and Successor Nodes and a predicate Stop criterion to characterize the states of the reasoning process. The formal details of our formalizations that integrate the notion of state and dynamics into a logic framework are beyond the focus of our paper (see [Fensel & Groenboom, 1996], [Fensel & Groenboom, 1997], [Fensel et al., to appear] for more details). Each inference step defines a parameter of the search scheme. Defining a precise regime that determines the initial object set, how to derive successor objects, how to select an object, and how to update sets of objects refine the scheme. In - 15 - 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 adapter local search import generic search export local search axioms Successor Nodes = Update Nodes(Nodes, Successor Nodes) endadapter Fig. 6 The refinement to local search. addition, the predicate Stop criterion asks for criteria that determines a solution of the problem. Finally, the sixth parameter of the method is the set of objects it requires. All further refinements will be achieved by refining one or several of these parameters. In the next step, we will refine the inference Update Nodes because it is critical for deciding about the type of search we perform. 3.2 Refine Search to Local Search Update Nodes significantly influences the type of search that is performed. If the output is obtained by merging the Successor Nodes with the original input Nodes, a variant of bestfirst search is performed, where all expanded nodes are available for selecting the next node. This may be the basis to define an (A*) search strategy. If only Successor Nodes are returned, then the search is restricted to the environment of the selected node. In this case a variant of hill-climbing is performed. The definition of Update Nodes in Figure 6 defines local search. 3.3 Defining an Optimization Problem Figure 7 provides the generic definition of a global optimization problem. Its goal asks for an element for which no better one exists and the requirements on the preference relationship (<) ensure that the task is solvable in a given domain (i.e., they prevent a < b and b < a). In the following, we will stepwise refine this problem to richer ones. 3.4 Refine to Design Design can be characterized in generic terms as the process of constructing artifacts. Usually, a constructed artifact should fulfill certain requirements, should not violate certain constraints, and should follow the principle of economy, i.e. should have minimal cost, (cf. [Mittal & Frayman, 1989], [Chandrasekaran, 1990], [Motta & Zdrahal, 1996]). Figure 8 - 16 - date: 28.4.98 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 shows a possible characterization of the class of design problems. We do not distinguish requirements and constraints because they can be expressed through each other. The definitions refine two aspects of the task global optimum. First, the definition of a Solution is refined with the enriched terminology. It must be optimal and valid. Second, an Object is now called a Design Model, i.e. we got a new name. This name will be refined when we switch to parametric design. task global optimum sorts Object; predicates Solution : Object, optimal : Object, < : Object x Object; goal Solution(x) ↔ optimal(x) optimal(x) ↔ ¬ ∃ y (x < y) requirements ¬(x < x) x < y ∧ y < z →x < z endtask Fig. 7 The task global optimum. adapter Design import global optimum export design sorts Design Model, Constraint, Cost, Constraints : set of Constraint; functions violated : Design Model → Constraints; cost : Design Model → Cost; predicates valid, solution, goal : Design Model; rename Object : Design Model; axioms SolutionExport(x) :↔ SolutionImport(x) ∧ valid(x) valid(x) :↔ violated(x) = ∅ x < y :↔ (cost(y) < cost(x) ∧ valid(y)) endadapter Fig. 8 The task design. - 17 - 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 3.5 Refine to Parametric Design This definition of design can be specialized for parametric design problems by introducing parameters and value ranges, as shown in Figure 9. Parametric design problems reduce the complexity of the design task by assuming the existence of a parametrized solution template for the target artifact. Hence, as shown in Figure 9, a design model can now be defined as a partial function from parameters to value ranges and a solution can be defined as a valid and complete design model. This is a model in which all parameters are bound, all requirements are satisfied and no constraint is violated. The VT elevator design problem (cf. [Marcus et al., 1988], [Schreiber & Birmingham, 1996]) provides a well-known example of a parametric design task. Here the problem is to configure an elevator in accordance with the given requirements specification and the applicable constraints. The parametrized solution template consists of 199 design parameters which specify the various structural and functional aspects of an elevator— e.g. number of doors, speed, load, etc. The two main refinements are the additional requirement for completeness of solutions and a much richer notion to describe the objects of the problem-solving process that are now partial design models. adapter Parametric Design import design export parametric design sorts Parameter = {p1,...,pn}, Parameters : set of Parameter, ValueRange1, ..., ValueRangen; functions Parametric Design Model : Parameter → ValueRange1 ∪ ... ∪ ValueRangen where Parametric Design Model(pi) ∈ ValueRangei for all i=1,..,n; assigned : Parametric Design Model → Parameters; predicates complete : Parametric Design Model; rename Design Model : Parametric Design Model; axioms SolutionExport(x) ↔ SolutionImport(x) ∧ complete(x); complete(x) ↔ ∀ y (y ∈ assigned(x)); x <Export y :↔ (x <Import y ∧ complete(y)) endadapter Fig. 9 The task parametric design. - 18 - date: 28.4.98 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 3.6 Connecting Problem-Solving and Problem We developed a local search method in section 3.1 and 3.2 and will now show how it can be adapted for optimization problems as defined in section 3.3. We do this in two steps. We first ensure that our method finds local optima. That is, we establish some competence for our method. Up to now, we had only characterized its operational behavior, states and elementary inferences. Second we discuss how the gap between a local optimum that is found by the method and a global optimum that is required by the task can be filled. We discuss two alternative strategies for this purpose. 3.6.1 Establish the Competence to find Local Optima The local search method we defined in Figure 5 and Figure 6 cannot guarantee to find a global optimum. Actually we cannot even guarantee to find a local one. Figure 10 adds the necessary requirements for such a proof. We have to ensure that Select Nodes and Update Nodes deliver an optimum of all Nodes and of the union of all Nodes and Successor Nodes. Now we can prove that our search procedure behaves like hill-climbing that guarantees to find local optima. Notice that Select Nodes and Update Nodes have to solve a global optimum problem. They must provide the best node and the best successor. Therefore, the problem of finding a global optimum reappears as subproblem, however, reduced for a subset of all nodes. This divide & conquer strategy is common for most local search strategies. Again, its success depends on further assumptions on the successor relationship. For example, if every node was directly be connected with every node then Update Nodes would already have to solve the entire problem. We import global optimum in Figure 10 to provide the axioms characterizing an order (<). adapter local search finding local optima import local search, global optimum export local search finding local optima competence ¬ ∃x (x ∈ Nodes ∪ Successor Nodes) ∧ Output < x) axioms Stop criterion(x, Y) :↔ ¬ ∃y (y ∈ Y ∧ x < y ) ¬ ∃x,y ( x ∈ Update Nodes(Nodes,Successor Nodes) ∧ y ∈ Nodes ∪ Successor Nodes ∧ x < y) ¬ ∃x,y (x ∈ y ∧ Select(y) < x ) endadapter Fig. 10 The requirements for finding local optima. - 19 - 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 3.6.2 Establish the Competence to find Global Optima There is still a significant gap between finding a local optimum and a global one. In principle there are two different strategies. First, we could strengthen the problem-solving scheme to perform complete search ensuring that it always finds a global optimum. We could retract the restriction in Figure 6 that introduced local search or we could incorporate a backtracking mechanism that helps to escape local optima. Such strategies are described in [Zdrahal & Motta, 1995] and [Motta & Zdrahal, 1996] and depictured as arrow 6.2 (b) in Figure 4. However, providing complete search to ensure the global optimality of an output of a problem-solving method may miss the point of problem-solving methods. Problem-solving methods should provide efficient problem solving (cf. [Fensel & Straatman, 1998]) and this is impossible if the problem is intractable. Therefore, an alternative strategy is to introduce assumptions on domain knowledge that close the gap between competence of a method and the defined task (depictured as arrow 6.2 (a) in Figure 4). Notice that we describe problemsolving methods for knowledge-based systems. That is, parts of the problem-solving process can be delegated from the method to the domain knowledge. The problem-solving method defines a reasoning strategy on top of the domain knowledge to ensure that it is used in a proper and efficient way to provide problem solving. This assumption either strengthen the competence of the combined problem solver method plus domain knowledge or they can be used to weaken the task that can be performed by it. In the latter case it describes the restrictions under which proper problem solving can be guaranteed (cf. [Fensel & Benjamins, 1998]) For our example, we have to establish a necessary property of the domain knowledge used by Successor Nodes. The successor relationship must always provide a better successor in the case that a node is not already a global optimum (see Figure 11). Such an assumption prevents our local search procedure to get staked in local optima. 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 adapter local search for global optima import local search finding local optima, global optimum export local search for global optima axioms Solution(Output) better-successor assumption: ∃y (successor(x,y) ∧ x < y) ∨ ¬ ∃z (x < z) endadapter Fig. 11 The assumption for finding global optima. - 20 - date: 28.4.98 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 to derive such assumptions like the better-successor assumption in Figure 11. 3.7 Local but Optimal Search for Design We straightforward define an adapter that glues the discussed pieces together (see Figure 12). 3.8 Local but Optimal Search for Parametric Design We straightforward define an adapter that glues the discussed pieces together (see Figure 12). 3.9 Refine Local but Optimal Search for Parametric Design to Propose & Revise Finally, we will sketch how our method can be refined to propose & revise for parametric design. Actually propose & revise distinguish two different modes of Derive Successor Nodes. The successor relationship is defined in terms of successors that either extend the definition of the design model or that bypass its constraints violations: • Propose an extension: Assign a new parameter. • Revise an object: Repair constraint violations. Refining the vocabulary that defines the successor relationship leads to a refined notion of the assumption that ensures the global optimality of the result of the method. The generic adapter Local Search for Design import local search for global optima, design export local search for design endadapter adapter Local Search for Parametric Design import local search for design, parametric design export local search for parametric design endadapter Fig. 12 Local but optimal search for parametric design. - 21 - 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 adapter propose & revise for Parametric Design import local search for parametric design, ... export propose & revise for parametric design axioms /* The propose knowledge never fails and monotonically extends the state. */ ¬ Complete(s) → Partial completeness(s) < Partial completeness(propose(s)) /* The application of a propose leads to an optimal state. */ ¬ Complete(s) → ¬∃ s´ (Correct(s´) ∧ propose(s) < s´ ∧ Partial completeness(s´) = Partial completeness(propose(s)) /* The revise knowledge never fails. */ ¬ Correct(s) → Correct(revise(s)) /* The application of revise does not change the completeness of a state. */ Partial completeness(revise(s)) = Partial completeness(s) /* The application of revise leads to an optimal state. */ ¬ Correct(s) → ¬ ∃ s´ (Correct(s´) ∧ revise(s) < s´ ∧ Partial completeness(revise(s)) = Partial completeness(s´)) endadapter Fig. 13 The knowledge requirements of optimal propose & revise. definition of the assumption in Figure 11 is refined by assumptions on propose and on revise knowledge in Figure 13. Different variants of propose & revise can be defined by defining some control on how to apply propose and revise steps. One may want to non-deterministically apply a propose or a revise step, one may want to apply all possible propose and revise step in parallel, one may first apply propose steps until a model is complete and then revise, or one may want to have stepwise propose steps which are interrupted in case a constraint violation occurs (cf. [Fensel, 1995a], [Zdrahal & Motta, 1995]). Figure 14 shows two alternative definitions and ¬ Complete(s) → propose(s) = successor(s) Complete(s) ∧ ¬Correct(s) → revise(s) = successor(s) while not complete do propose od; if not correct then revise fi ¬ Correct(s) → revise(s) = successor(s) ¬ Complete(s) ∧ Correct(s) → propose(s) = successor(s) while not (complete and correct) do if not complete then propose fi; if not correct then reviese fi od Fig. 14 Alternative control modes of propose & revise. - 22 - date: 28.4.98 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 for each a procedural and a declarative definition. That is, a refinement of Derive Successor Nodes can be defined by a submethod that enforces some control on the new substeps or it can be done declaratively with an adapter. 3.10 Summary The explicit characterization of moves through the problem-solving method space is important both to formalize the method development process and also to ensure that not only problem solving components but also the process of creating them becomes part of a library. The importance of recording the knowledge engineering experience in a library has been recognized for a number of years ([Stutt & Motta, 1995]; [Van de Velde, 1994]). However, approaches to capturing design expertise in knowledge engineering have mostly centered on recording informal guidelines. In contrast with these approaches, adapters provide a formal way of capturing the method development process, thus providing the basis for automatic method configuration. An adapter is an explicit and external notion of the adaptation of a component and a trace of adapters is an explicit notion of the refinement process and its intermediate steps. For example, this extends the approach of [Landes & Studer, 1995] who link model fragment and its adaptation via a hyperlink that explains in natural language their relation, however, does not provide a separate and explicit representation of the adaptation itself. 4 The Transitions in the Problem Space: Adapter Integration of existing systems becomes a serious problem in most branches of computer science. This reflects the fact that system are no longer built from scratch. Instead the are configured from existing building blocks. In the consequence, the necessity of glue arose that interconnects different components and adapts them for a specific application. The adapter patter is one out of several pattern in the text book of [Gamma et al., 1995] on design patters that deals with object connection. It enables cooperation of object with different interfaces and the specification of reusable objects. Adapters are also present in most approaches to software architectures ([Shaw & Garlan, 1996], [Yellin & Strom, 1997]). Often called connectors their main purpose is to bypass problems in the interaction styles of components. Glue or adapter protocols enable communication between component that could otherwise not interact. Mediators ([Wiederhold, 1992], [Wiederhold & Genesereth, 1997]) were introduced to enable sharing and reuse of heterogeneous and distributed information and knowledge sources. All these different mechanisms in different subfields of computer science are all about the same: Adapting a component to a new context enabling the reuse of components and externalizing the adaptation as the key that - 23 - 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 enables reuse. [Fensel et al., 1996b], [Fensel & Groenboom, 1997] introduced adapters into the CommonKADS model of expertise as a generalization of the mappings between domain and inference layers. Adapters enable the independent and therefore reusable specifications of tasks, problem-solving methods and domain knowledge (cf. Figure 15). [Fensel, 1997] generalized the use of adapters to stepwise adaptation of problem-solving methods, tasks, and assumptions via a pile of adapters. Here adapter become itself the object of reuse because an adapter expresses an adaptation to a generic and reusable context (i.e., a problem type or task). This is rather specific for adapters used in knowledge engineering reflecting the fact that only this community searches for generic description of problem types ([Breuker & Van de Velde, 1994], [Breuker, 1997]). Still, our current adapter concept may be too general and a typology of adapters may significantly facilitate its usability. So far we have identified one basic aspect for organizing adapters: in terms of their purpose (teleological aspect). This aspect indicates whether an adapter is used to refine a problem type, a domain dependency via assumptions, or a problem-solving paradigm. In the following we will work this out in more detail to transforms the development process of problem-solving methods into a more structured engineering activity. In section 3 we introduced a three-dimensional problem space (see Figure 3) in which we will move with adapters. The dimensions are the problem-solving paradigm, the domain knowledge assumptions, and the problem (i.e., task) commitments. Moves in this space can be distinguished by the dimension in which they move. • A movement may lay in one of the three dimensions only: refining the problem-solving paradigm, refining assumptions on domain knowledge, and refining the problem commitments. • A movement may lay in two of the three dimensions only: enriching a problem-solving paradigm with knowledge assumptions, connecting a problem-solving paradigm with a problem type, and enriching a problem type with knowledge assumptions. • A movement may use all three dimensions. This move contains maximal complexity (because maximally degree of freedom) and we will show a simple strategies to reduce this complexity. In the following, we will briefly sketch the different adapter types. - 24 - date: 28.4.98 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 Problem-solving method (PSM) Task definition Competence (PSMC) Goals (TG) Operational Specification (PSMO) Requirements (TR) Requirements (PSMR) Adapter Signature mappings (AM) Assumptions (AA) Requirements (AR) Domain model Meta knowledge (DM) Domain knowledge (DK) Assumptions (DA) Fig. 15 The four component architecture for knowledge-based systems. - 25 - 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 4.1 One-dimensional Moves In the following we investigate adapters that exclusively provide moves in a onedimensional subspace: refining elementary inferences of problem-solving paradigms, refining domain knowledge, and refining goals of problem definitions (see Figure 16). 4.1.1 Refining a Problem-solving Paradigm A problem-solving paradigm is specialized by refining one of its elementary state transitions, i.e. inferences. Each inference can be seen as a parameter that is further refined by a plug-in adapter. Problem-solving methods are components with an active interface (cf. [Heineman, 1997]). Each inference defines a parameter that can be further refined externally. Usually a number of axioms is added that strengthen the inference. Examples are provided in sections 3.11, 3.2 and 5.3.2. This process moves in one dimension, i.e. it follows the problem-solving scheme line. Notice that this holds only true if the refinement of inferences is not accompanied by introducing new requirements and assumptions on domain knowledge. Then we move into a two-dimensional subspace (cf. section 4.2.1). Problem -solving Scheme Refining inferences of problem-solving schemes 3.1, 3.2, 5.3.2 Assumption on domain knowledge Refining domain knowledge (ontology mappings) Problem Commitments Refining goals of tasks Fig. 16 1. One-dimensional moves in the problem space. Section 3.1 refines the empty problem-solving scheme. - 26 - date: 28.4.98 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 4.1.2 Refining Domain Knowledge Refining domain knowledge independently of its use for problem-solving schemes and task definitions is not present in our framework that is about developing problem-solving methods. This move would describe mapping between different domain ontologies and is covered by mediator-type approaches like [Wiederhold, 1992] and [Wiederhold & Genesereth, 1997] to sharing and reuse of domain or common sense knowledge. 4.1.3 Refining the Goal of a Task All examples for task refinement we showed in the paper also introduced new requirements on domain knowledge. An optimization task requires a preference function, a design task requires constraints, a cost function etc. Therefore these refinements immediately leave the one-dimensional space and interact with the domain knowledge dimension. Only refinements that are exclusively to the goal are covered by a one-dimensional task refinement. For example, when we strengthen a goal from finding one global optimum to finding all ones this could be done independent from additional assumptions on domain knowledge. 4.2 Two-dimensional Moves In the following we investigate adapters that provide moves in a two-dimensional subspace: refining assumptions of problem-solving paradigms, refining state transitions and inferences of problem-solving paradigms, and refining tasks (see Figure 17). 4.2.1 Refining inferences of problem-solving paradigms accompanied with new Assumptions Section 3.9 shows the refinement of local search for parametric design to propose & revise for parametric design. The inference Derive Successor Nodes is refined by distinguishing two types of successors: derived by propose that extend completeness and derived by revise that ensure correctness. This refinement moves not into the direction of the problem commitments. That is, the method solves precisely the type of problem as before. However, it also moves into the direction of domain assumptions because new types of knowledge are required (propose and fix rules and a relative completeness measurement). 4.2.2 Refining States (including Input and Output), Transitions, and Inferences - 27 - 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 of Problem-solving Paradigms Sections 3.6.1, 3.7 and 3.8 describe simple adaptation of problem-solving schemes to problem type that are not interleaved with new assumptions on domain knowledge. 4.2.3 Refining a Task A task is refined by strengthening its goal and knowledge requirements. Sections 3.32, 3.4, and 3.5 provide examples for these refinements. In section 3.4, a optimization problem is refined to design which is further refined to parametric design in section 3.5. In both steps, we refined the definition of the goal and introduced new requirements on domain knowledge. A solution for optimization must be optimal. A solution must in addition be valid (i.e., consistent and suitable) when refining to design. A solution must in addition be complete when refining to parametric design. Because new requirements on domain knowledge are introduced it is a move in a two-dimensional subspace. Refining state descriptions and inferences of problem-solving schemes 3.6.1, 3.7, 3.8 Problem -solving Scheme Refining inferences of a problem-solving scheme that introduces new assumptions 3.9 Assumption on domain knowledge Problem Commitments Refining a task 3.3, 3.4, 3.5 Fig. 17 Two-dimensional moves in the problem space. 2. Section 3.3 refines the empty problem definition. - 28 - date: 28.4.98 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 4.3 Three-dimensional Moves Assumption on domain knowledge are introduced by problem-solving schemes to improve the competence of the method without changing their algorithmic strategy. Section 3.6.2 provided the example where a local search method received the competence to find a global optimum without any change to its incomplete search strategy. Completeness was achieved by formulating assumptions on the structure of the search graph defined by the domain knowledge. It may not contain nodes that lead to a death-end for the search process. This process relates methods with problems and close the gap by assumptions on domain knowledge. Therefore, it is necessarily a move through all three dimensions. We mentioned the alternative strategy 3.6.2 (b) that tries to close the gap between provided and required strength by improving the algorithmic scheme. Then we would again move in a twodimensional projection of the entire problem space. However in the case of knowledgebased systems it may be a necessary strategy to delegate parts of the problem solving to the domain knowledge and to weaken the task in order to enable efficient problem solving. Therefore, such a three-dimensional move may often not preventable. However it always can be realized by a sequence of two-dimensional moves. That is, we can first map method and task and establish in a second step assumptions on domain knowledge that close the encountered gaps. Another interesting example highlighting a second aspect of efficiency is described in [Eriksson et al., 1995], [Fensel et al., 1996a]. They showed the derivation of a task-specific problem-solving method from the generic search-strategy chronological backtracking by introducing commitments to the terminological structure of the task. That is, the introduced ontological commitments which are connected to the problem type. The generic problemsolving method chronological backtracking, which basically defines a search strategy, was transformed into the task-specific boardgame method. Chronological backtracking defines a specific control over elementary state transitions. It specifies neither these elementary state transitions nor the internal structure of the states. All in all, two refinements are added by the boardgame method. First, the state transitions of the search process are modeled in terms of moves. Second, the states of the search process are represented by a set of triples that defines a structure for them. As a consequence, this method could be immediately applied to an assignment task, such as the Sisyphus-I office room assignment problem (cf. [Linster, 1994]), or one-player board games, as the syntactical structure of describing a state maps immediately with the terminological structure of these tasks. Chronological backtracking requires extensive mappings so that it can be applied to these tasks. However, it can be applied to any type of task. The reason for restricting problem-solving methods to task-specific problem-solving methods using ontological commitments is their usability. The efficiency of the development process that derives a appropriate problem solver for a given application problem and the efficiency of the knowledge acquisition process which models the relevant domain knowledge are improved. The improved efficiency of knowledge acquisition is given by the fact that the refined notion to define states in the boardgame method also provides a richer terminology to define state transitions. The - 29 - date: 28.4.98 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 boardgame method describes transitions in terms of moves that influence the board position instead of providing only an abstract state transition function as it is the fact for chronological backtracking. This is also the reason why the refinement of chronological backtracking to the boardgame method is a move in three directions in our problem space: It also introduce requirements on new types of domain knowledge. Notice that this type of efficiency improvement is complementary to the process of introducing assumptions that simplifies the computational complexity of the problem. 5 The Case Study on Parametric Design The work by Motta and Zdrahal ([Motta & Zdrahal, 1996]; [Motta & Zdrahal, 1998]; [Motta, 1997]; [Zdrahal & Motta, 1995]; [Zdrahal & Motta, 1996]) attempts to provide a task-independent foundation to problem-solving methods. Their approach, which is based on the Task/Method/Domain/Application (TMDA) framework—see Figure 18—, considers a problem-solving method as a specialization of a task-specific, but problemsolving method-independent, problem solving model, which is in turn constructed by instantiating a generic problem solving paradigm (e.g. search) in terms of a task ontology. Motta and Zdrahal instantiated their approach in the area of parametric design and showed that several problem-solving methods existing in the literature—e.g. propose & backtrack [Runkel et al., 1996], propose & exchange [Poeck & Puppe, 1992] and propose & revise— could be characterized as specializations of a common problem solving model, obtained by instantiated an ontology for parametric design tasks in terms of a search model of problem solving. In particular, all problem-solving methods in the parametric design library described in [Motta, 1997] subscribe to a common, generic control regime. As discussed in ([Motta, 1997]; [Motta & Zdrahal, 1998]), this approach i) makes it possible to plug and play functionally equivalent components with no change to the control structure and ii) facilitates the comparative evaluation of alternative problem-solving methods. This work is important because it shows that i) it is possible to provide task-independent foundations to problem-solving methods, even within a task-oriented approach, and that ii) the reliance on a common problem solving model facilitates the construction and the analysis of a library of problem solving methods. However the TMDA framework is limited insofar as it only allows the analysis of problem-solving methods tackling the same class of tasks— i.e. while the framework generalizes from a particular class of tasks, it is still task-centred. Another limitation of the approach is that it only characterizes method development informally, as a relatively unstructured specialization process. The framework we propose in this paper addresses these problems by generalizing from the TMDA approach and by proposing the notion of adapter as a construct for formalizing problem- - 30 - date: 28.4.98 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 Problem Solving Paradigm Generic Task Specification Generic Problem Solving Model Application Model Problem Solving Method (def-instance Peter_S Lecturer ((courses_chaired dm862)...) Mapping Knowledge (def-instance Arthur_S Reader ((courses_chaired dm871)...) Application-specific Problem-Solving Knowledge Application Configuration Multi-functional Domain Model Fig. 18 The TMDA modelling framework. solving method refinement steps. 5.1 The Overall Picture In the following we reconstruct the library on parametric design problem solving that was developed within the TMDA approach and which has been applied in a number of technical design problems (office allocation problem, 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 [Motta, 1997]). The overall picture of refining the problem specificity of a generic search method is provided in Figure 19. On the left side we refine the problem definition and on the right side we refine the problem-solving paradigm that guides the problem-solving process. The virtual elements do not require a specification because these specifications follow from a combination of an existing specification and an adapter. However, for - 31 - date: 28.4.98 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 convenience, a library may also directly provide these derived specifications. 5.2 Defining Problem, Problem Scheme and their Connection Figure 8 provides the definition of design problems and Figure 9 provides its refinement for parametric design. A slightly generalized version of the algorithmic search scheme search that defines the common pattern of all problem-solving methods described in [Motta, 1997] was given in Figure 5. We already mentioned the fact that different search strategies can be modeled by defining alternative methods for the subtask Update Nodes. For instance, bestfirst search can be modeled by performing a simple union of Nodes and Successor Nodes, while hill-climbing can be modeled by ensuring that Update Nodes returns only Successor Nodes (cf. Figure 6). The local search model can be specialized for design tasks by means of the adapter shown in Figure 12. Essentially, this adapter introduces the term design model into the method and maps the notion of task solution to that of method solution. Refining the resulting model of design problem solving for parametric design is simply a matter of importing the problem type Parametric Design and the problem-solving method Local Search for Design, to produce the problem-solving method Local Search for Parametric Design. 5.3 Refining the Subtask (i.e., Inferences) of the Method The resulting problem-solving method is still unspecified, as it does not say how to select design models, how to derive successor designs, and how to update the set of designs. The problem-solving method is parametrized in terms of the following four subtasks. • Initialize: This defines the initial search space. • Select Node: This selects the node which is going to be expanded. • Derive Successor Nodes: This task derives the successors of the current node. • Update Nodes: This task updates the current search space to take into account the newly generated nodes. Different problem-solving methods can be defined by introducing task- or domain-specific commitments, or simply by selecting alternative control regimes for these subtasks. - 32 - date: 28.4.98 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 PSM Search (Fig. 5) Task Global Optimum (Fig. 7) Adapter local search (see Fig. 6) Adapter Desgin (see Fig. 8) PSM Local Search Adapter local search for local optima (see Fig. 10) Task Design PSM Local Search for Local Optima Adapter Parametric Desgin (see Fig. 9) Adapter local search for global optima (Fig. 11) Task Parametric Design PSM Local Search for Global Optima Adapter local search for design (Fig. 12) PSM Local Search for Design Virtual Element (is derived from an adapter) Adapter local search for pametric design (Fig. 12) Actual Element PSM Local Search for Parametric Design PSM Refined Local Search for Parametric Design Fig. 19 Adapter refined local search for pametric design (Fig. 20) The development graph of a problem-solving method for parametric design. - 33 - date: 28.4.98 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 5.3.1 Initialize Initializing the design space requires not just generating a number of design models, but also evaluating them, so that task Select Node can be carried out. For instance, a design model in the Motta library is evaluated in terms of four task-specific criteria: feasibility, completeness, consistency and cost. These criteria are defined in a task-oriented style, although, as discussed in [Fensel et al., 1997], it is also possible to characterize these notions in a task- independent fashion. 5.3.2 Derive Successor Nodes Derive Successor Nodes in [Motta, 1997] uses a rather complex three step procedure instead of directly using a successor relationship. First, a design context is abstracted from the node, then a design focus is derived within the context, and finally a transformation operator is derived from the design focus. The application of the transformation operator provides the successor relationship between nodes. The procedure that refines Derive Successor Nodes is shown in Figure 20. The use of the three-step selection process is motivated by the structure of the problem type: • The quality information of a design model distinguishes four different criteria: violation of constraints, fulfillment of requirements, completeness of value assignments and costs. Four different contexts can be immediately identified according to these four criteria: trying to repair constraint violations, trying to improve fulfillment, trying to adapter refined local search for parametric design import local search for parametric design; export refined local search for parametric design; sorts Context, Focus, Transformation, History : set of (Context x Focus x Transformation); Program Derive Successor Nodes(Design Model) Context := Decide Over Context(Design Model); Focus := Decide Over Focus(Design Model, Context); Transformation := Decide Over Transformation(Design Model, Context, Focus); Bookmark Context, Focus, and Transformation in History of Design Model; Design Models := Apply Transformation(Design Model, Transformation); RETURN Design Models endadapter Fig. 20 Refining Derive Successor Nodes. - 34 - date: 28.4.98 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 improve completeness and trying to reduce costs. As the reader may have realized, a more pedantic organization would have already introduced three of these context decisions for design problems, given that these are not specific to parametric design. For reasons of simplicity we have skipped this intermediate step. • Within a context, we can decide about the focus of the design activity by using the object information, in this case the structure of the (parametric) design model. A (parametric) design model is a set of violated constraints, non-fulfilled requirements, and not-assigned parameters. Selecting a focus is therefore selecting one of these elements (in accordance to the general context). • Finally, we select a transformation operator. In general, several transformations may be applicable for a given context and focus. The method shown in Figure 20 provides the default way of carrying out task Derive Successor Nodes in the Motta library. The reason for this choice is that this method employs minimal commitments. Further on, we will briefly illustrate how this method can be refined to specific problem-solving methods, such as propose & revise, which add commitments to the basic control regime employed by Derive Successor Nodes. 5.3.3 Select Node At any stage of a problem solving process, a reasoning system (be it human or artificial) knows about a number of design states which are relevant to the problem in hand. Typically, these are the states which have been explored during the current design process, i.e. the states included in the portion of the design space searched so far. However, human designers are of course capable of reusing past designs and the same applies to problem solvers which make use of case-based reasoning techniques when solving design applications ([Zdrahal & Motta, 1996]). Thus, the current design space includes in general all the states known to the problem solver, either because they have been explored during the current design process, or because the problem solver has access to other relevant design knowledge (e.g. a case-based library of design states). The task Select Node combines both control and problem solving aspects. It selects a node according to a number of criteria, which include an estimation of its feasibility (i.e., whether the design model may lead to a solution). Incidentally, methods like simulated annealing do not always select the best local node, in order to escape local optima in the search space. The default state selection method provided by the Motta library chooses a design model which does not violate any constraint, has maximal extension and minimizes the cost. This selection criterion is the one typically used by problem solvers which are not concerned - 35 - date: 28.4.98 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 with cost issues (as for instance most constraint satisfaction engines) and which deal with inconsistencies by backtracking to an earlier state. These include both methods which make use of simple control regimes, such as depth-first search with chronological backtracking [Runkel et al., 1996], as well as more sophisticated regimes based on techniques such as backjumping ([Gaschnig, 1978]; [Dechter, 1988]). The differences between these methods—e.g. backjumping vs. depth-first search with chronological backtracking—are therefore explained in terms of different notions of feasibility, rather than in terms of different state selection policies. Clever backtracking techniques, such as backjumping, can propagate infeasibility “backwards”, to nodes which precede an inconsistent state. Hence, even though different methods may use the same state selection policy, they can still exhibit different search behaviors. That is, different search strategies are described declaratively by specifying the search guidance as a parameter of a generic search pattern rather than by providing different procedural control structures for each search variant. 5.3.4 Update Nodes We already mentioned that Update Nodes significantly influences the type of search that is performed (see section 3.2). If the output is obtained by merging the Successor Nodes with the original input Nodes, a variant of best-first search is performed, where all expanded nodes are available for selecting the next node. If only Successor Nodes are returned, then the search is restricted to the environment of the selected node. In this case a variant of hillclimbing is performed. 5.4 Capturing a family of problem-solving method specifications A summary of parametric design problem solving in terms of its states and state transitions is provided in Figure 21. This style of specification results from the approach adopted here, which consists of choosing an algorithmic scheme and applying several adapters that refine its state descriptions and state transitions. Such a specification is more abstract than what is usually called a problem-solving method in the literature. For instance, propose & revise for parametric design instantiates the framework by distinguishing two contexts when deriving successor design models (cf. section 3.9): • propose context: design models are completed, • revise context: design models are repaired. That is, this problem-solving method can be derived from our framework by simply refining some of its parameters. - 36 - date: 28.4.98 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 Problem-solving Parametric Design Competence State Quality information: consistent suitable complete cost State Transitions Search Control Information: History information: set of context, focus, and operator triples Future Information: feasibility Object information: Set of parameter-value pairs LocalSearch() Initialize() RecursiveSearch() Select Node() Derive Successor Nodes() DecideOverContext() DecideOverFocus() DecideOverTransformation() Bookmark() ApplyTransformation() Update Nodes() Knowledge Requirements a set of constraints a set of requirements a cost function a set of parameters a set of value ranges Fig. 21 a set of contexts a set of foci a set of transformations feasibility knowledge A survey of parametric design problem solving. 6 Related Work, Conclusions and Future Work “Usable by adaptation and reusable by abstraction.” In this paper we have presented a systematic approach enabling the structured development, adaptation, and reuse of problem-solving methods. A large number of problem-solving methods can be described by means of i) a structured set of generic tasks, problem-solving patterns, and generic assumptions and ii) adapters formalizing the relevant refinement steps. These are explicitly modeled, thus allowing their reuse for new problem types and - 37 - date: 28.4.98 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 different problem-solving schemes. Adapters introduce a new modeling element into existing modeling approaches, which makes the method development process explicit and external to the model, i.e. separated from problem solving components. In most other approaches, adaptation is treated as a side issue and adaptation via several levels is not considered at all. In our view, by providing a clear foundation for both problem-solving method specification and specialization we can construct sound and reusable libraries. Externalization and explication of adaptation provides the key for reusability and maintainability by providing the record of design decisions that lead to the constructed problem solver. Distinguishing seven types of adapters according to their adaptation dimensions provide rationale and guidance to the development and adaptation process of problem solving methods. The work we presented can be situated in the general context of program derivation from specifications. However, the existing approaches rely on specific representation and specification languages (functional programming languages [Smith & Lowry, 1990] or logic-programming [Fuchs & Fromherz, 1991]) and focus on algorithmic refinement as means to improve the efficiency of programs. Therefore they are rather complementary to our approach that relies on a specific architecture for specifying knowledge-based systems and that focuses on introducing problem commitments and domain knowledge assumption to improve efficiency and to economize the adaptation of reusable components to new applications. Refining the algorithmic structure of a problem-solving method can be viewed as an activity during design time to optimize the runtime efficiency of implemented systems. Finally, we would like to mention the approach of [ten Teije, 1997] that uses meta-level reasoning to automatically configure problem-solving methods for diagnostic problems. The problem with this approach is its complexity. Configuring the optimal problem solver may have an order of magnitude higher complexity than the problem that should be solved by the problem solver. Therefore, further heuristic restrictions of her approach are required to provide reasonable semiautomatic support in constructing problem-solvers as it is aimed by the IBROW3-project [Benjamins et al., 1998]. It is clear that decision procedures for limited-rationality problem-solver (problem-solving methods are heuristic problem solvers) can only have limited rationality, too (cf. [Lipman, 1991]). Developing guidelines that support the navigation process in the three-dimensional design space and partial automatization of this process defines an interesting and promissing line for future research. Acknowledgement. We thank Richard Benjamins, Enric Plaza, Rudi Studer, and Bob Wielinga for helpful discussions. - 38 - date: 28.4.98 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 References [Aben, 1995] M. Aben: Formal Methods in Knowledge Engineering, Ph.D. dissertation, University of Amsterdam, 1995. [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, SpringerVerlag, Berlin, 1993. [Allemang & Rothenfluh, 1992] D. Allemang and T. E. Rothenfluh: Acquiring Knowledge of Knowledge Acquisition: A Self-Study of Generic Tasks. In Th. Wetter et al. (eds.), Current Trends in Knowledge Acquisition, Lecture Notes in Artificial Intelligence (LNAI) 599, Springer-Verlag, Berlin, 1992. [Angele et al., 1998] J. Angele, D. Fensel, and R. Studer: Developing Knowledge-Based Systems with MIKE, to appear in Journal of Automated Software Engineering, 1998. [Bauer & Karbach, 1992] C. Bauer and W. Karbach (eds.): Interpretation Models for KADS Proceedings of the 2nd KADS User Meeting (KUM´92), Munich, February 17-18, 1992, GMD report no. 212, 1992. [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: An Intelligent Brokering Service for Knowledge-Component Reuse on the World-WideWeb. In Proceedings of the 11th Banff Knowledge Acquisition for KnowledgeBased System Workshop (KAW´98), Banff, Canada, April 18-23, 1998. [Benjamins & Fensel, 1998] V. R. Benjamins and D. Fensel: Special issue on problem-solving methods of the International Journal of Human-Computer Studies (IJHCS), to appear 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 914, 1996. [Breuker, 1997] J. Breuker: Problems in Indexing Problem Solving Methods. In Proceedings of the Workshop on Problem-Solving Methods for Knowledge-based Systems (W26) during the Fifteenth International Joint Conference on Artificial Intelligence (IJCAI-97), NAGOYA, Japan, August 23-29, 1997. [Breuker et al., 1987] J. Breuker, B. Wielinga, M. van Someren, R. de Hoog, G. Schreiber, P. de Greef, B. Bredeweg, J. Wielemaker, and j.-P. Billault: Model-Driven Knowledge Acquisition: Interpretation Models, Esprit Project 1098, 1987. [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. [Bundy, 1990] A. Bundy (ed.): Catalogue of Artificial Intelligence Techniques, 3rd ed., SpringerVerlag, Berlin, 1990. [Bylander & Chandrasekaran, 1988] T. Bylander and B. Chandrasekaran: Generic Tasks in Knowledge-Based Reasoning. The Right Level of Abstraction for Knowledge Acquisition. In - 39 - date: 28.4.98 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 B. Gaines et al. (eds.): Knowledge Acquisition for Knowledge-Based Systems, vol I, pp. 65— 77, Academic Press, London, 1988. [Chandrasekaran, 1986] B. Chandrasekaran: Generic Tasks in Knowledge-based Reasoning: Highlevel Building Blocks for Expert System Design. IEEE Expert, 1(3): 23—30, 1986. [Chandrasekaran, 1990] B. Chandrasekaran: Design Problem Solving: A Task Analysis, AI Magazine, 1990, 59—71. [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. [Clancey, 1985] W.J. Clancey: Heuristic Classification, Artificial Intelligence, 27:289—350, 1985. [Clancey, 1992] W.J. Clancey: Model Construction Operator, Artificial Intelligence, 53:1—111, 1992. [Dechter, 1988] R. Dechter: Constraint Processing Incorporating Backjumping, Learning and Cutset-Decomposition. In Proceedings of the 4th Conference on Artificial Intelligence Applications - CAIA'88, pp. 312—319, 1988. [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. [Feigenbaum, 1977] E. A. Feigenbaum: The Art of Artificial Intelligence: Themes and Case Studies of Knowledge Engineering. In Proceedings of the 5th International Joint Conference on Artificial Intelligence (AAA)-77), Cambridge, MA, 1977. [Fensel, 1995a] D. Fensel: Assumptions and Limitations of a Problem-Solving Method: A Case Study. In Proceedings of the 9th Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW´95), Banff, Canada, January 26 - February 3, 1995. [Fensel, 1995b] D. Fensel: Formal Specification Languages in Knowledge and Software Engineering, The Knowledge Engineering Review, 10(4):361—404, 1995. [Fensel, 1997] D. Fensel: The Tower-of-Adapter Method for Developing and Reusing ProblemSolving Methods. In E. Plaza et al. (eds.), Knowledge Acquisition, Modeling and Management, Lecture Notes in Artificial Intelligence (LNAI) 1319, Springer-Verlag, 1997. [Fensel & Benjamins, 1998] 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. [Fensel et al., 1996b] D. Fensel, A. Schönegge, R. Groenboom and B. Wielinga: Specification and Verification of Knowledge-Based Systems. Proceedings of the ECAI-96 Workshop Validation, Verification and Refinement of Knowledge-Based Systems, at the 12th European Conference on Artificial Intelligence (ECAI-96), Budapest, Hungaria, August 1996. [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., to appear] D. Fensel, R. Groenboom, and G. R. Renardel de Lavalette: Modal Change Logic (MCL): Specifying the Reasoning of Knowledge-based Systems, Data and Knowledge - 40 - date: 28.4.98 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 Engineering (DKE), 25(),1998. [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 & 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, to appear in [Benjamins & Fensel, 1998]. [Fensel & Straatman, 1998] D. Fensel und R. Straatman: The Essence of Problem-Solving Methods: Making Assumptions to Gain Efficiency, The International Journal of Human Computer Studies (IJHCS), International Journal on Human-Computer Studies (IJHCS), 48(2):181-215, 1998.. [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):105—146, 1994. [Fuchs & Fromherz, 1991] N. E. Fuchs and M. P. Fromherz: Schema-Based Transformations of Logic Programs. In Proceedings of LOPSTER 91, International Workshop on Logic Program Synthesis and Transformation, University of Manchester, July 4-5, Springer-Verlag, Berlin, 1991. [Gamma et al., 1995] E. Gamma, R. Helm, R. Johnson, and J. Vlissides: Design Patterns, AddisonWesley Pub., 1995. [Gaines, 1994] B. R. Gaines: A Situated Classification Solution of a Resource Allocation Task Represented in a Visual Language. In [Linster, 1994], pp. 243—271. [Gaschnig, 1978] J. Gaschnig; Experimental case studies of Backtrack vs. Waltz-type vs. new algorithms for satisfying assignment problems. In Proceedings of the 2nd Biennial Conference of the Canadian Society for Computational Studies of Intelligence, Toronto, July 1978. [Gennari et al., 1996] J. H. Gennari, A. R. Stein, and M. A. Musen: Reuse for Knowledge-Based Systems and CORBA Components. In Proceedings of the 10th Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW´96), Banff, Canada, November 9-14, 1996. [Graham & Bailor, 1996] R. P. Graham, Jr. and P. D. Bailor: Synthesis of Local Search Algorithms by Algebraic Means. In Proceedings of the 11th Knowledge-Based Software Engineering Conference (KBSE-96), 1996. [Heineman, 1997] G. T. Heineman: A Model for Designing Adaptable Software Components, Computer Science Technical Report Series, Worcester Polytechnic Institute, WPI-CS-TR-976, September 1997. [HPKB, 1997] High Performance Knowledge Bases (HPKB). Darpa Project. Details available from http:// www.teknowledge.com:80/HPKB/, 1997. - 41 - date: 28.4.98 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 [Klinker et al., 1991] G. Klinker, C. Bhola, G. Dallemagne, D. Marques, and J. McDermott: Usable and Reusable Programming Constructs, Knowledge Acquisition, 3:117—136, 1991. [Landes & Studer, 1995] D. Landes and R. Studer: The Treatment of Non-Functional Requirements in MIKE. Proceedings of the 5th European Software Engineering Conference (ESEC´95), Sitges, Lecture Notes in Computer Science, LNCS 989, Springer-Verlag, Berlin, 1995. [Linster, 1994] M. Linster (ed.): Sisyphus ´91/92: Models of Problem Solving, International Journal of Human-Computer Studies (IJHCS), 40(3), 1994. [Lipman, 1991] B. L. Lipman: How to Decide How to Decide Hot to ...: Modeling limited Rationality, Econometria, 59(4);1105—1125, 1991. [Marcus, 1988] S. Marcus (ed.): Automating Knowledge Acquisition for Experts Systems, Kluwer Academic Publisher, Boston, 1988. [Marcus et al., 1988] S. Marcus, J. Stout, and J. McDermott VT: An Expert Elevator Designer That Uses Knowledge-based Backtracking, AI Magazine, 9(1):95—111, 1988. [Mittal & Frayman, 1989] S. Mittal and F. Frayman: Towards a Generic Model of Configuration Tasks. In Proceedings of the 11th International Joint Conference on Artificial Intelligence (IJCAI‘89), San Mateo, CA, 1989. [Motta, 1997] E. Motta: Reusable Components for Knowledge Modeling, Ph.D. Thesis, Knowledge Media Institute, The Open University, UK, 1997. [Motta & Zdrahal, 1996] E. Motta and Z. Zdrahal: Parametric Design Problem Solving. In Proceedings of the 10h Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW´96), Banff, Canada, November 9-15, 1996. [Motta & Zdrahal, 1998] E. Motta and Z. Zdrahal: An approach to the organization of a library of problem solving methods which integrates the search paradigm with task and method ontologies, to appear in [Benjamins & Fensel, 1998]. [Newell & Simon, 1976] A. Newell and H. A. Simon: Computer Science as Empirical Enquiry: Symbols and Search, Communications of the ACM, 19(3):113—126, 1976. [O'Hara, 1995] K. O'Hara: The GDM Grammar, v.4.6. VITAL Project Report NOTT/T252.3.3. Available from the author at AI Group, Department of Psychology, University of Nottingham, UK, 1995. [Orsvärn, 1996] K. Orsvärn: Principles for Libraries of Task Decomposition Methods— Conclusions from a Case-study. In N. Shadbolt et al. (eds), Advances in Knowledge Acquisition, Lecture Notes in Artificial Intelligence, 1076. Springer-Verlag, Berlin, pp. 48— 65, 1996. [Poeck et al., 1996] K. Poeck, D. Fensel, D. Landes, and J. Angele: Combining KARL And CRLM For Designing Vertical Transportation Systems. In [Schreiber & Birmingham, 1996]. [Poeck & Puppe, 1992] K. Poeck and F. Puppe: COKE: Efficient Solving of Complex Assignment Problems with the Propose- and-Exchange Method. In Proceedings of the 5th International Conference on Tools with Artificial Intelligence, Arlington, Virginia, USA, 1992. [Puerta et al., 1992] A. R. Puerta, J. W. Egar, S. W. Tu, and M. A. Musen, A Multiple-Method Knowledge Acquisition Shell for the Automatic Generation of Knowledge Acquisition Tools, Knowledge Acquisition 4:171—196, 1992. [Puppe, 1993] F. Puppe: Systematic Introduction to Expert Systems: Knowledge Representation and Problem-Solving Methods, Springer-Verlag, Berlin, 1993. - 42 - date: 28.4.98 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 [Runkel et al., 1996] J. T. Runkel, W. B. Birmingham, and A. Balkany: Solving VT by Reuse. In [Schreiber & Birmingham, 1996], pp. 403—433. [Schreiber & Birmingham, 1996] A. Th. Schreiber and B. Birmingham (eds.): Special Issue on Sisyphus, International Journal of Human-Computer Studies (IJHCS), 44(3-4), 1996. [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. [Shaw & Garlan, 1996] M. Shaw and D. Garlan: Software Architectures. Perspectives on an Emerging Discipline, Prentice-Hall, 1996. [Smith & Lowry, 1990] D. R. Smith and M. R. Lowry: Algorithm Theories and Design Tactics, Science of Computer Programming, 14:305—321, 1990. [Steels, 1990] L. Steels: Components of Expertise, AI Magazine, 11(2), 1990. [Stefik, 1995] M. Stefik: Introduction to Knowledge Systems, Morgan Kaufman Publ., San Francisco, 1995. [Stout et al., 1988] J. Stout, G. Caplain, S. Marcus, and J. McDermott: Toward Automating Recognition of Differing Problem-Solving Demands, International Journal of Man-Machine Studies (IJMCS), 29(5): 599—611, 1998. [Stutt & Motta, 1995] A. Stutt and E. Motta: Recording the design decisions of a knowledge engineering community to facilitate re-use of design models. In Proceedings of the 9th Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW´95), Banff, Canada, January 26 - February 3, 1995. [ten Teije, 1997] A. ten Teije: Automated Configuration of Problem Solving Methods in Diagnosis, Ph.D. thesis, University of Amsterdam, the Netherlands, 1997. [Terpstra et al., 1993] P. Terpstra, G. van Heijst, B. Wielinga, and N. Shadbolt: Knowledge Acquisition Support Through Generalized Directive Models. In M. David et al. (eds.): Second Generation Expert Systems, Springer-Verlag, 1993. [Van de Velde, 1994] W. Van de Velde: A Constructivistic View on Knowledge Engineering. In Proceedings of the 11th European Conference on Artificial Intelligence (ECAI-94), Amsterdam, the Netherlands, August 1994. [van Heijst et al., 1992] G. van Heijst, P. Terpstra, B. J. Wielinga and N. Shadbolt: Using Generalized Directive Models in Knowledge Acquisition. In T. Wetter et al. (eds.), Current Developments in Knowledge Acquisition, Lecture Notes in Artificial Intelligence (LNAI), Springer-Verlag, 1992. [Wiederhold, 1992] G Wiederhold: Mediators in the Architecture of Future Information Systems, IEEE Computer, 25(3):3849, 1992. [Wiederhold & Genesereth, 1997] G. Wiederhold and M. Genesereth: The Conceptual Basis for Mediation Services, IEEE Expert, September/October, pp. 3847,1997. [Wielinga et al., 1995] B. Wielinga, J. M. Akkermans, and A. TH. Schreiber: A Formal Analysis of Parametric Design Problem Solving. In Proceedings of the 9th Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW´95), Banff, Canada, January 26 - February 3, 1995. [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, - 43 - date: 28.4.98 1997. 44.1 44.2 [Zdrahal & Motta, 1995] Z. Zdrahal and E. Motta: An In-Depth Analysis of Propose & Revise 44.3 Problem Solving Methods. In Proceedings of the 9th Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW´95), Banff, Canada, January 26 - February 3, 44.4 1995. 44.5 44.6 [Zdrahal & Motta, 1996] Z. Zdrahal and E. Motta: Improving Competence by Integrating CaseBased Reasoning and Heuristic Search. In Proceedings of the 10th Banff Knowledge 44.7 Acquisition for Knowledge-Based System Workshop (KAW´96), Banff, Canada, November 944.8 14, 1996. 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 - 44 -