This Article 
 Bibliographic References 
 Add to: 
Structured Development of Problem Solving Methods
November/December 2001 (vol. 13 no. 6)
pp. 913-932

Abstract—Problem solving methods (PSMs) describe the reasoning components of knowledge-based systems as patterns of behavior that 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. Hence, despite the number of libraries which have been developed, it is still not clear what organization principles should be adopted to construct truly comprehensive libraries, covering large numbers of applications and encompassing both task-specific and task-independent problem solving methods. In this paper, we address these “fundamental” issues and present a comprehensive and detailed framework for characterizing problem solving methods and their development process. In particular, we suggest that PSM development consists of introducing assumptions and commitments along a three-dimensional space defined in terms of problem-solving strategy, task commitments, and domain (knowledge) assumptions. Individual moves through this space can be formally described by means of adapters. In the paper, we illustrate our approach and argue that our architecture provides answers to three fundamental problems related to research in problem solving methods: 1) what is the epistemological structure and what are the modeling primitives of PSMs? 2) how can we model the PSM development process? and 3) how can we develop and organize truly comprehensive and manageable libraries of problem solving methods?

[1] M. Aben, “Formal Methods in Knowledge Engineering,” PhD dissertation, Univ. of Amsterdam, 1995.
[2] J.M. Akkermans, B. Wielinga, and A.Th. Schreiber, “Steps in Constructing Problem-Solving Methods,” Knowledge-Acquisition for Knowledge-Based Systems, N. Aussenac et al., eds., 1993.
[3] D. Allemang and T.E. Rothenfluh, “Acquiring Knowledge of Knowledge Acquisition: A Self-Study of Generic Tasks,” Current Trends in Knowledge Acquisition, Th. Wetter et al., eds., 1992.
[4] J. Angele, D. Fensel, and R. Studer, “Developing Knowledge-Based Systems with MIKE,” J. Automated Software Eng., vol. 5, no. 4, pp. 389-418, 1998.
[5] “Interpretation Models for KADS,” Proc. Second KADS User Meeting (KUM '92), C. Bauer and W. Karbach, eds., 1992.
[6] V.R. Benjamins, “Problem Solving Methods for Diagnosis and Their Role in Knowledge Acquisition,” Int'l J. Expert Systems: Research and Application, vol. 8, no. 2, pp. 93–120, 1995.
[7] V.R. Benjamins, B. Wielinga, J. Wielemaker, and D. Fensel, “Brokering Problem-Solving Knowledge at the Internet,” Proc. European Knowledge Acquisition Workshop (EKAW-99), D. Fensel et al., eds., May 1999.
[8] V.R. Benjamins and D. Fensel, Special issue on problem-solving methods of the Int'l J. Human-Computer Studies (IJHCS), vol. 49, no. 4, 1998.
[9] P. Beys, R. Benjamins, and G. van Heijst, “Remedying the Reusability-Usability Trade-Off for Problem-Solving Methods,” Proc. 10th Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW '96), 1996.
[10] J. Breuker, “Problems in Indexing Problem Solving Methods,” Proc. 15th Int'l Joint Conf. Artificial Intelligence (IJCAI-97), 1997.
[11] 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.
[12] The CommonKADS Library for Expertise Modeling, J. Breuker and W. Van de Velde, eds. Amsterdam, The Netherlands: IOS Press, 1994.
[13] Catalogue of Artificial Intelligence Techniques, A. Bundy, ed., third ed. Berlin: Springer-Verlag, 1990.
[14] T. Bylander and B. Chandrasekaran, “Generic Tasks in Knowledge-Based Reasoning: The Right Level of Abstraction for Knowledge Acquisition,” Knowledge Acquisition for Knowledge-Based Systems, B. Gaines et al., eds., vol I, pp. 65–77, 1988.
[15] T. Bylander, D. Allemang, M.C. Tanner, and J.R. Josephson, “The Computational Complexity of Abduction,” Artificial Intelligence, vol. 49, pp. 25–60, 1991.
[16] B. Chandrasekaran, “Generic Tasks in Knowledge-Based Reasoning: High-level Building Blocks for Expert System Design,” IEEE Expert, vol. 1, no. 3, pp. 23–30, 1986.
[17] B. Chandrasekaran, “Towards a Functional Architecture for Intelligence Based on Generic Information Processing Tasks,” Proc. 10th Int'l Joint Conf. Artificial Intelligence (IJCAI-87), vol. 2, pp. 1183-1192, 1987.
[18] B. Chandrasekaran, “Design Problem Solving: A Task Analysis,” AI Magazine, pp. 59-71, 1990.
[19] B. Chandrasekaran, T.R. Johnson, and J.W. Smith, “Task-Structure Analysis for Knowledge Modeling,” Comm. ACM, vol. 35, no. 9, pp. 124–137, Sept. 1992.
[20] W.J. Clancey, "Heuristic Classification," Artificial Intelligence, Vol. 27, No. 3, Dec. 1985, pp. 289-350.
[21] W. Clancey, "Model Construction Operators," Artificial Intelligence, vol. 53, pp. 1-115, Jan. 1992.
[22] R. Dechter, “Constraint Processing Incorporating Backjumping, Learning and Cutset-Decomposition,” Proc. Fourth Conf. Artificial Intelligence Applications—CAIA '88, pp. 312–319, 1988.
[23] J. de Kleer and B. Williams, "Diagnosing Multiple Faults," Artificial Intelligence, vol. 32, pp. 97-130, Elsevier, 1987.
[24] J. Domingue, “Tadzebao and WebOnto: Discussing, Browsing, and Editing Ontologies on the Web,” Proc. 11th Banff Knowledge Acquisition for Knowledge-Based Systems Workshop (Univ. of Calgary), B.R. Gaines and M. Musen, eds., 1998.
[25] H. Eriksson et al., "Task Modeling with Reusable Problem-Solving Methods," Artificial Intelligence, vol. 79, no. 2, Dec. 1995, pp. 293-326.
[26] E.A. Feigenbaum, “The Art of Artificial Intelligence: Themes and Case Studies of Knowledge Engineering,” Proc. Fifth Int'l Joint Conf. Artificial Intelligence (AAA-77), 1977.
[27] D. Fensel, “Assumptions and Limitations of a Problem-Solving Method: A Case Study,” Proc. Ninth Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW '95), 1995.
[28] D. Fensel, “Formal Specification Languages in Knowledge and Software Engineering,” The Knowledge Eng. Rev., vol. 10, no. 4, pp. 361–404, 1995.
[29] D. Fensel, “The Tower-of-Adapter Method for Developing and Reusing Problem-Solving Methods,” Knowledge Acquisition, Modeling and Management, E. Plaza et al., eds., Springer-Verlag, 1997.
[30] D. Fensel, “Problem-Solving Methods: Understanding, Development, Description, and Reuse,” Lecture Notes of Artificial Intelligence (LNAI) 179, 2000.
[31] D. Fensel and R. Benjamins, “The Role of Assumptions in Knowledge Engineering,” Int'l J. Intelligent Systems (IJIS), vol. 13, no. 8, pp. 715–748, 1998.
[32] D. Fensel and V.R. Benjamins, “Key Issues for Problem-Solving Methods Reuse,” Proc. 13th European Conf. Artificial Intelligence (ECAI-98), pp. 63-67, 1998.
[33] D. Fensel, H. Eriksson, M.A. Musen, and R. Studer, “Conceptual and Formal Specification of Problem-Solving Methods,” Int'l J. Expert Systems, vol. 9, no. 4, 1996.
[34] D. Fensel et al., "Using Ontologies for Defining Tasks, Problem-Solving Methods and Their Mappings," Knowledge Acquisition, Modeling and Management, E. Plaza and V.R. Benjamins, eds., Springer-Verlag, New York, 1997, pp. 113-128.
[35] D. Fensel, R. Groenboom, and G.R. Renardel de Lavalette, “MCL: Specifying the Reasoning of Knowledge-Based Systems,” Data and Knowledge Eng. (DKE), vol. 26, no. 3, pp. 243-269, 1998.
[36] D. Fensel, V.R. Benjamins, E. Motta, and B. Wielinga, “UPML: A Framework for Knowledge System Reuse,” Proc. Int'l Joint Conf. AI (IJCAI-99), 1999.
[37] D. Fensel and R. Groenboom, “An Architecture for Knowledge-Based Systems,” The Knowledge Eng. Rev. (KER), vol. 14, no. 3, 1999.
[38] D. Fensel and A. Schönegge, “Using KIV to Specify and Verify Architectures of Knowledge-Based Systems,” Proc. 12th IEEE Int'l Conf. Automated Software Eng. (ASEC-97), 1997.
[39] D. Fensel and A. Schönegge, “Inverse Verification of Problem-Solving Methods,” Int'l J. Human-Computer Studies, vol. 49, 1998.
[40] D. Fensel and R. Straatman, “The Essence of Problem-Solving Methods: Making Assumptions to Gain Efficiency,” The Int'l J. Human Computer Studies (IJHCS), vol. 48, no. 2, pp. 181-215, 1998.
[41] D. Fensel and F. van Harmelen, “A Comparison of Languages which Operationalize and Formalize KADS Models of Expertise,” The Knowledge Eng. Rev., vol. 9, no. 2, pp. 105–146, 1994.
[42] N.E. Fuchs and M.P. Fromherz, “Schema-Based Transformations of Logic Programs,” Proc. LOPSTER 91, Int'l Workshop Logic Program Synthesis and Transformation, 1991.
[43] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns, Addison-Wesley, 1995.
[44] B.R. Gaines, “A Situated Classification Solution of a Resource Allocation Task Represented in a Visual Language,” Int'l J. Humna-Computer Studies, pp. 243–271, 1994.
[45] J. Gaschnig, “Experimental Case Studies of Backtrack vs. Waltz-type vs. New Algorithms for Satisfying Assignment Problems,” Proc. Second Biennial Conf. Canadian Soc. for Computational Studies of Intelligence, July 1978.
[46] J.H. Gennari and M. Ackerman, “Extra-Technical Information for Method Libraries,” Proc. 12th Workshop Knowledge Acquisition, Modeling and Management (KAW '99), 1999.
[47] J.H. Gennari, A.R. Stein, and M.A. Musen, “Reuse for Knowledge-Based Systems and CORBA Components,” Proc. 10th Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW '96), 1996.
[48] R.P. GrahamJr. and P.D. Bailor, “Synthesis of Local Search Algorithms by Algebraic Means,” Proc. 11th Knowledge-Based Software Eng. Conf. (KBSE-96), 1996.
[49] D. Harel, “Dynamic Logic,” Handbook of Philosophical Logic, vol. II, Extensions of Classical Logic, D. Gabby et al., eds., 1984.
[50] High Performance Knowledge Bases (HPKB). Darpa Project, available from, 1997.
[51] G. Klinker,C. Bhola,G. Dallemagne,D. Marques,, and J. McDermott,“Usable and re-usable programming constructs,” Knowledge Acquisition, vol. 3, pp. 117-135, 1991.
[52] D. Landes and R. Studer, "The Treatment of Non-Functional Requirements in MIKE," Proc. ESEC 5: European Software Eng. Conf., Sitges, Springer-Verlag, Lecture Notes in Computer Science, vol. 989, 1995.
[53] “Sisyphus '91/92: Models of Problem Solving,” Int'l J. Human-Computer Studies (IJHCS), M. Linster, ed., vol. 40, no. 3, 1994.
[54] B.L. Lipman, “How to Decide How to Decide Hot to ...: Modeling Limited Rationality,” Econometria, vol. 59, no. 4, pp. 1105–1125, 1991.
[55] Automating Knowledge Acquisition for Expert Systems, S. Marcus, ed., Kluwer Academic, Boston, 1988.
[56] S. Marcus, J. Stout, and J. McDermott, "VT: An Expert Elevator Designer that Uses Knowledge-Based Backtracking," AI Magazine, vol. 9, no. 1, pp.95-114, Spring 1988.
[57] J. McDermott, “Preliminary Steps Toward a Taxonomy of Problem-Solving Methods,” Automating Knowledge Acquisition for Expert Systems, S. Marcus, ed., 1988.
[58] S. Mittal and F. Frayman, “Towards a Generic Model of Configuration Tasks,” Proc. 11th Int'l Joint Conf. Artificial Intelligence—(IJCAI '89), 1989.
[59] E. Motta, Reusable Components for Knowledge Modeling, IOS Press, Amsterdam, The Netherlands, 1999.
[60] E. Motta and Z. Zdrahal, “Parametric Design Problem Solving,” Proc. 10th Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW '96), 1996.
[61] 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,” Int'l J. Human-Computer Studies (IJHCS), vol. 49, 1998.
[62] E. Motta, D. Fensel, M. Gaspari, and R. Benjamins, “Specifications of Knowledge Components for Reuse,” Proc. 11th Int'l Conf. Software Eng. and Knowledge Eng. (SEKE '99), pp. 36-43, 1999.
[63] E. Motta, S. Buckingham-Shum, and J. Domingue, “Ontology-Driven Document Enrichment: Principles, Tools and Applications,” Int'l J. Human-Computer Studies, to appear.
[64] M.A. Musen, “Modern Architectures for Intelligent Systems: Reusable Ontologies and Problem-Solving Methods,” AMIA Ann. Symp., C.G. Chute, ed., 1998.
[65] A. Newell and H.A. Simon,“Computer science as empirical inquiry: Symbols and search,” Comm. ACM, vol. 19, 1976.
[66] N.J. Nilsson, Principles of Artificial Intelligence. Morgan Kaufmann, 1980.
[67] K. O'Hara, “The GDM Grammar v.4.6. VITAL Project Report NOTT/T252.3.3.,” available from the author at AI Group, Dept. of Psychology, Univ. of Nottingham, UK, 1995.
[68] K. Orsvärn, “Principles for Libraries of Task Decomposition Methods—Conclusions from a Case-Study,” Advances in Knowledge Acquisition, N. Shadbolt et al., eds., pp. 48–65, 1996.
[69] K. Poeck and F. Puppe, "COKE: Efficient Solving of Complex Assignment Problems with the Propose-And-Exchange Method," Proc. Fifth Int'l Conf. Tools with Artificial Intelligence,Arlington, Va., 1992.
[70] 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, vol. 4, pp. 171–196, 1992.
[71] F. Puppe, "Systematic Introduction to Expert Systems," Knowledge Representation and Problem-Solving Methods, Springer-Verlag, Berlin, 1993.
[72] J.T. Runkel, W.B. Birmingham, and A. Balkany, “Solving VT by Reuse,” Int'l J. Human-Computer Studies (IJHCS), pp. 403–433, 1996.
[73] Special issue on Sisyphus, Int'l J. Human-Computer Studies (IJHCS), A.Th. Schreiber and B. Birmingham, eds., vol. 44, nos. 3-4, 1996.
[74] G. Schreiber et al., "CommonKADS: A Comprehensive Methodology for KBS Development," IEEE Expert, Vol. 9, No. 6, Dec. 1994, pp. 28-37.
[75] N. Shadbolt, E. Motta, and A. Rouge, “Constructing Knowledge Based Systems,” IEEE Software, vol. 10, no. 6, pp. 34-38, 1993.
[76] W. Swartout, Y. Gil, and A. Valente, “Representing Capabilities of Problem-Solving Methods,” Proc. 1999 16th Int'l Joint Conf. Artificial Intelligence (IJCAI-99), 1999.
[77] M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
[78] D.R. Smith and M.R. Lowry, “Algorithm Theories and Design Tactics,” Science of Computer Programming, vol. 14, pp. 305–321, 1990.
[79] L. Steels, “Components of Expertise,” AI Magazine, vol. 11, no. 2, pp. 28–49, 1990.
[80] M. Stefik, Introduction to Knowledge Systems, Morgan Kaufmann, 1995.
[81] J. Stout, G. Caplain, S. Marcus, and J. McDermott, “Toward Automating Recognition of Differing Problem-Solving Demands,” Int'l J. Man-Machine Studies (IJMCS), vol. 29, no. 5, pp. 599–611, 1998.
[82] A. Stutt and E. Motta, “Recording the Design Decisions of a Knowledge Engineering Community to Facilitate Re-Use of Design Models,” Proc. Ninth Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW '95), 1995.
[83] A. ten Teije, “Automated Configuration of Problem Solving Methods in Diagnosis,” PhD thesis, Univ. of Amsterdam, The Netherlands, 1997.
[84] P. Terpstra, G. van Heijst, B. Wielinga, and N. Shadbolt, “Knowledge Acquisition Support Through Generalized Directive Models,” Second Generation Expert Systems, M. David et al., eds., 1993.
[85] M. Valasek and Z. Zdrahal, “Experiments with Applying Knowledge Based Techniques to Parametric Design,” Proc. Int'l Conf. Eng. Design—ICED '97, A. Riitahuhta, ed., vol. 1, pp. 277-280, 1997.
[86] W. Van de Velde, “A Constructivistic View on Knowledge Engineering,” Proc. 11th European Conf. Artificial Intelligence (ECAI-94), 1994.
[87] G. van Heijst, P. Terpstra, B.J. Wielinga, and N. Shadbolt, “Using Generalized Directive Models in Knowledge Acquisition,” Current Developments in Knowledge Acquisition, T. Wetter et al., eds., 1992.
[88] G. Wiederhold, "Mediators in the Architecture of Future Information Systems," Computer, pp. 38-49, Mar. 1992.
[89] G. Wiederhold and M. Genesereth, “The Conceptual Basis for Mediation Services,” IEEE Expert, p. 3847, Sept./Oct. 1997.
[90] B. Wielinga, J.M. Akkermans, and A.Th. Schreiber, “A Formal Analysis of Parametric Design Problem Solving,” Proc. Ninth Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW '95), 1995.
[91] D.M. Yellin and R.E. Strom, “Protocol Specifications and Component Adapters,” ACM Trans. Programming Languages and Systems, vol. 19, no. 2, pp. 292–333, 1997.
[92] Z. Zdrahal and E. Motta, “An In-Depth Analysis of Propose&Revise Problem Solving Methods,” Proc. Ninth Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW '95), 1995.
[93] Z. Zdrahal and E. Motta, “Improving Competence by Integrating Case-Based Reasoning and Heuristic Search,” Proc. 10th Banff Knowledge Acquisition for Knowledge-Based System Workshop (KAW '96), 1996.

D. Fensel, E. Motta, "Structured Development of Problem Solving Methods," IEEE Transactions on Knowledge and Data Engineering, vol. 13, no. 6, pp. 913-932, Nov.-Dec. 2001, doi:10.1109/69.971187
Usage of this product signifies your acceptance of the Terms of Use.