Hostname: page-component-78c5997874-fbnjt Total loading time: 0 Render date: 2024-11-11T03:03:41.079Z Has data issue: false hasContentIssue false

Software-engineering challenges of building and deploying reusable problem solvers

Published online by Cambridge University Press:  14 October 2009

Martin J. O'Connor
Affiliation:
Stanford Center for Biomedical Informatics Research, Stanford University, Stanford, California, USA
Csongor Nyulas
Affiliation:
Stanford Center for Biomedical Informatics Research, Stanford University, Stanford, California, USA
Samson Tu
Affiliation:
Stanford Center for Biomedical Informatics Research, Stanford University, Stanford, California, USA
David L. Buckeridge
Affiliation:
Department of Epidemiology and Biostatistics, McGill University, Montreal, Canada
Anna Okhmatovskaia
Affiliation:
Department of Epidemiology and Biostatistics, McGill University, Montreal, Canada
Mark A. Musen
Affiliation:
Stanford Center for Biomedical Informatics Research, Stanford University, Stanford, California, USA

Abstract

Problem solving methods (PSMs) are software components that represent and encode reusable algorithms. They can be combined with representations of domain knowledge to produce intelligent application systems. A goal of research on PSMs is to provide principled methods and tools for composing and reusing algorithms in knowledge-based systems. The ultimate objective is to produce libraries of methods that can be easily adapted for use in these systems. Despite the intuitive appeal of PSMs as conceptual building blocks, in practice, these goals are largely unmet. There are no widely available tools for building applications using PSMs and no public libraries of PSMs available for reuse. This paper analyzes some of the reasons for the lack of widespread adoptions of PSM techniques and illustrate our analysis by describing our experiences developing a complex, high-throughput software system based on PSM principles. We conclude that many fundamental principles in PSM research are useful for building knowledge-based systems. In particular, the task–method decomposition process, which provides a means for structuring knowledge-based tasks, is a powerful abstraction for building systems of analytic methods. However, despite the power of PSMs in the conceptual modeling of knowledge-based systems, software engineering challenges have been seriously underestimated. The complexity of integrating control knowledge modeled by developers using PSMs with the domain knowledge that they model using ontologies creates a barrier to widespread use of PSM-based systems. Nevertheless, the surge of recent interest in ontologies has led to the production of comprehensive domain ontologies and of robust ontology-authoring tools. These developments present new opportunities to leverage the PSM approach.

Type
Research Article
Copyright
Copyright © Cambridge University Press 2009

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

REFERENCES

Bellifemine, F.L., Caire, G., & Greenwood, D. (2007). Developing Multi-Agent Systems with JADE. Hoboken, NJ: Wiley.CrossRefGoogle Scholar
Benjamins, R. (2008). Near term prospects for semantic technologies. IEEE Intelligent Systems 23(1), 7688.CrossRefGoogle Scholar
Benjamins, R., Decker, S., Fensel, D., Motta, E., Schreiber, G., Studer, R., & Wielinga, B. (1998). IBROW3—An intelligent brokering service for knowledge-component reuse on the World Wide Web. Proc. 11th Banff Knowledge Acquisition for Knowledge-Based Systems Workshop.Google Scholar
Buckeridge, D.L., Okhmatovskaia, O., Tu, S.W., O'Connor, M.J., Nyulas, C.I., & Musen, M.A. (2008). Understanding detection performance in public health surveillance: modeling aberrancy-detection algorithms. Journal of the American Medical Informatics Association 15(6), 760769.CrossRefGoogle ScholarPubMed
Buckeridge, D.L., Burkom, H., Moore, A.W., Pavlin, J.A., Cutchis, P.N., & Hogan, W. (2004). Evaluation of syndromic surveillance systems: development of an epidemic simulation model. Syndromic Surveillance: Reports from a National Conference. Morbidity and Mortality Weekly Report 53(Suppl.), 137143.Google Scholar
Buckeridge, D.L., Graham, J., O'Connor, M.J., Choy, M.K., Tu, S.W., & Musen, M.A. (2002). Knowledge-based bioterrorism surveillance. AMIA Annual Symp., pp. 7680. Bethesda, MD: American Medical Informatics Association.Google Scholar
Buckeridge, D.L., O'Connor, M.J., Xu, H., & Musen, M.A. (2004). A knowledge-based framework for deploying surveillance problem solvers. Int. Conf. Information and Knowledge Engineering (IKE ’04), Las Vegas, NV.Google Scholar
Buehler, J.W., Berkelman, R.L., Hartley, D.M., & Peters, C.J. (2003). Syndromic surveillance and bioterrorism-related epidemics. Emerging Infectious Diseases 9(10), 11971204.CrossRefGoogle ScholarPubMed
Carriero, N., & Gelertner, D. (1989). How to write parallel programs: a guide to the perplexed. ACM Computing Surveys 21(3), 323357.CrossRefGoogle Scholar
Chandrasekaran, B. (1986). Generic tasks in knowledge-based reasoning: high-level building blocks for expert systems design. IEEE Expert 1(3), 2330.CrossRefGoogle Scholar
Chandrasekaran, B. (2009). Problem solving methods and knowledge systems: a personal journey to perceptual images as knowledge. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 23(4), 331338[this issue].CrossRefGoogle Scholar
Chandrasekaran, B., Johnson, T., & Smith, J.W. (1992). Task structure analysis for knowledge modeling. Communications of the ACM 33(9), 124136.CrossRefGoogle Scholar
Clancey, W.J. (1986). From GUIDON to NEOMYCIN to HERACLES in twenty short lessons. AI Magazine 7(3), 4060.Google Scholar
Clancey, W.J., Sierhius, M., & Seah, C. (2009). Workflow agents versus expert systems: problem solving methods in work systems design. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 23(4), 357371[this issue].CrossRefGoogle Scholar
Crubézy, M., Motta, E., Lu, W., & Musen, M.A. (2003). Configuring online problem-solving resources with the internet reasoning service. IEEE Intelligent Systems 18(2), 3442.CrossRefGoogle Scholar
Crubézy, M., O'Connor, M.J., Buckeridge, D.L., Pincus, Z., & Musen, M.A. (2005). Ontology-centered syndromic surveillance for bioterrorism. IEEE Intelligent Systems 20(5), 2635.CrossRefGoogle Scholar
Crubézy, M., & Musen, M.A. (2004). Ontologies in support of problem solving. In Handbook on Ontologies (Staab, S., & Studer, R., Eds.), pp. 321342. Berlin: Springer.CrossRefGoogle Scholar
Domingue, J., & Fensel, D. (2009). Problem solving methods in a global networked age. Artificial Intelligence for Engineering Design, Analysis and Manufacturing 23(4), 373390[this issue].CrossRefGoogle Scholar
Eriksson, H., Puerta, A.R., Gennari, J.H., Rothenfluh, T.E., Tu, S.W., & Musen, M.A. (1995). Custom-tailored development tools for knowledge-based systems. Proc. 9th Banff Knowledge Acquisition for Knowledge-Based Systems Workshop.Google Scholar
Fensel, D., & Groenboom, R. (1997). Specifying knowledge-based systems with reusable components. Proc. 9th Int. Conf. Software Engineering, pp. 1820.Google Scholar
Fensel, D., Motta, E., Benjamins, V.R., Crubézy, M., Decker, S., Gaspari, M., Groenboom, R., Grosso, W., van Harmelen, F., Musen, M.A., Plaza, E., Schreiber, G., Studer, R., & Wielinga, B. (2002). The unified problem-solving method development language UPML. Knowledge and Information Systems 5(1), 83131.CrossRefGoogle Scholar
Gennari, J.H., Fergerson, R.W., Grosso, W.E., Crubézy, M., Eriksson, H., Noy, N., & Tu, S.W. (2003). The evolution of Protégé: an environment for knowledge-based system development. International Journal of Human–Computer Studies 1(58), 89123.CrossRefGoogle Scholar
Gennari, J.H., Tu, S.W., Rothenfluh, T.E., & Musen, M.A. (1994). Mapping domains to methods in support of reuse. International Journal of Human–Computer Studies 41, 399424.CrossRefGoogle Scholar
Halter, S. (2002). JavaSpaces Example by Example. New York: Prentice Hall.Google Scholar
IBM. (2006). Model-driven software development. IBM Systems Journal 45(3), 449.Google Scholar
Knublauch, H., Fergerson, R., Noy, N.F., & Musen, M.A. (2004). The Protégé OWL plugin: an open development environment for Semantic Web applications. Third Int. Semantic Web Conf., pp. 229243, Hiroshima.CrossRefGoogle Scholar
Lombardo, J., Burkom, H., Elbert, E., Magruder, S., Lewis, S.H., Loschen, W., Sari, J., Sniegoski, C., Wojcik, R., & Pavlin, J. (2003). A systems overview of the electronic surveillance system for the early notification of community-based epidemics (ESSENCE II). Journal of Urban Health 80(2, Suppl. 1), i32i42.CrossRefGoogle ScholarPubMed
Marcus, S., Stout J., & McDermott, J. (1988). VT: an expert elevator designer that uses knowledge-based backtracking. AI Magazine 9(1), 95111.Google Scholar
Martin, D., Burstein, M., Hobbs, J., Lassila, O., McDermott, D., McIlraith, S., Narayanan, S., Paolucci, M., Parsia, B., Payne, T., Sirin, E., Srinivasan, N., & Sycara, K. (2004). OWL-S: semantic markup for Web services. Proc. W3C. Accessed athttp://www.w3.org/Submission/2004/SUBM-OWL-S-20041122/Google Scholar
McDermott, J.P., & Bachant, J. (1984). R1 revisited: four years in the trenches. AI Magazine 5(3), 2132.Google Scholar
McDonald, C.J., Huff, S.M., Suico, J.G., Hill, G.Leavelle, D., Aller, R., Forrey, A., Mercer, K., DeMoor, G., Hook, J., Williams, W., Case, J., & Maloney, P. (2003). LOINC, a universal standard for identifying laboratory observations: a 5-year update. Clinical Chemistry 49, 624633.CrossRefGoogle ScholarPubMed
Musen, M.A., & Schreiber, G. (1995). Architectures for intelligent systems based on reusable components. Artificial Intelligence in Medicine 7(3), 189199.CrossRefGoogle ScholarPubMed
Nyulas, C.I., O'Connor, M.J., Tu, S.W., Okhmatovskaia, A., Buckeridge, D., & Musen, M.A. (2008). An ontology-driven framework for deploying JADE agent systems. IEEE/WIC/ACM International Conf. Intelligent Agent Technology, pp. 573577, Sydney, Australia.CrossRefGoogle Scholar
OWL. (2004). Accessed atwww.w3.org/TR/owl-refGoogle Scholar
Pincus, Z., & Musen, M.A. (2003). Contextualizing heterogeneous data for integration and inference. AMIA Annual Symp., pp. 514518. Bethesda, MD: American Medical Informatics Association.Google Scholar
R. (2009). Accessed athttp://www.r-project.org in January 2009.Google Scholar
rJava. (2009). Accessed at http://rosuda.org/rJava/ in January 2009.Google Scholar
Rothenfluh, T.E., Gennari, J., Eriksson, H., Puerta, A.R., Tu, S.W., & Musen, M.A. (1995). Reusable ontologies, knowledge-acquisition tools, and performance systems: PROTEGE-II solutions to Sisyphus-2. International Journal of Human–Computer Studies 44(3–4), 303332.CrossRefGoogle Scholar
Schreiber, G., Akkermans, H., Anjewierden, A., de Hoog, R., Shadbolt, N., Van de Velde, W., & Wielinga, B. (1999). Knowledge Engineering and Management: The CommonKADS Methodology. Cambridge, MA: MIT Press.CrossRefGoogle Scholar
Steels, L. (1990). Components of expertise. AI Magazine 11(2), 3049.Google Scholar
Steinberg, D., Budinsky, F., Paternostro, M., & Merks, E. (2008). EMF: Eclipse Modeling Framework, 2nd ed.Reading, MA: Addison–Wesley.Google Scholar
Tu, S.W., Eriksson, H., Gennari, J.H.Shahar, Y., & Musen, M.A. (1995). Ontology-based configuration of problem-solving methods and generation of knowledge-acquisition tools: application of PROTÉGÉ-II to protocol-based decision support. Artificial Intelligence in Medicine 7(3), 257289.Google ScholarPubMed
Tsui, F.C., Espino, J.U., Dato, V.M., Gesteland, P.H., Hutman, J., & Wagner, M.M. (2003). Technical description of RODS: a real-time public health surveillance system. Journal of the American Medical Informatics Association 10(5), 399408.CrossRefGoogle ScholarPubMed
UML. (2009). Accessed at http://www.uml.org/ in January 2009.Google Scholar