Hostname: page-component-74656f9884-j7cmm Total loading time: 0 Render date: 2026-11-06T12:47:01.497Z 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
Rights & Permissions [Opens in a new window]

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.

Information

Type
Research Article
Copyright
Copyright © Cambridge University Press 2009
Figure 0

Fig. 1. An example of task–method decomposition illustrating how task models are constructed using PSMs as building blocks.

Figure 1

Fig. 2. The template data-source ontology for data and metadata, customized for syndromic surveillance. (Left) Data values are associated with metadata describing the data and other relevant context. Arrows indicate one–one and many–one relationships between concepts. (Right) Highlights show additions to our template data-source ontology that are specific to syndromic surveillance. The first snapshot shows the structure of the template with our added context classes. The second snapshot shows the top levels of the taxonomy of metadata attributes, expanded with our vocabulary of “Measurable Properties,” used to build LOINC objects.

Figure 2

Fig. 3. BioSTORMA's surveillance problem solving ontology. (Left) A schematic representation of the refinement of the monitoring task into subtasks defined by information scenarios in public health surveillance and the decomposition of standard temporal surveillance into further subtasks. (Right, top) A snapshot of our resulting surveillance problem solving ontology that is focused on the ontology of surveillance methods. (Right, bottom) Another snapshot of the problem solving ontology that is focused on the method ontology in which each problem solving method declares its expectations on input and output data. [A color version of this figure can be viewed online at journals.cambridge.org/aie]

Figure 3

Fig. 4. An overview of BioSTORMA's architecture and components. Using a blackboard mechanism, the deployment controller orchestrates the problem solvers’ deployment. It also instructs the Data Broker to process incoming data streams. These processed streams are then fed to the Mapping Interpreter, which routes them through the blackboard to the appropriate PSMs. [A color version of this figure can be viewed online at journals.cambridge.org/aie]

Figure 4

Fig. 5. A screenshot of a BiOSTORMA monitoring tool showing a deployment of a set of PSMs. The tool displays groups of PSMs tackling a particular task (temporal, magnitude, and clustering in this example) and shows the communication paths between them. The tool monitors all communication between entities in a deployed system and visually displays these interactions. [A color version of this figure can be viewed online at journals.cambridge.org/aie]

Figure 5

Fig. 6. The general task structure of temporal aberrancy detection algorithms. Temporal algorithms are represented as instances of a task–decomposition method, Aberrancy Detection(Temporal), that performs the task of detecting aberrations in the surveillance data by decomposing this task into four subtasks (ellipses). Each subtask can be accomplished by different methods (rectangles), some of which perform the task directly (primitive methods, dark rectangles), and some further decompose the task into subtasks (task decomposition methods, light rectangles). For instance, the compute expectation task, which constitutes one of the steps (subtasks) of aberrancy detection, can in turn be decomposed into four subtasks if the empirical forecasting method is used. [A color version of this figure can be viewed online at journals.cambridge.org/aie]

Figure 6

Fig. 7. The relationships among tasks, methods, iterations, and algorithms. When a task is accomplished by a task–decomposition method (TDM), this implies that the method performs several steps in a particular order; that is, the method has an algorithm associated with it. An algorithm in turn consists of interconnected tasks (these are the subtasks of the original, higher level task) and iterations. An iteration specifies repetition of a sequence of tasks (or other, nested iterations); this sequence is also represented by an algorithm. [A color version of this figure can be viewed online at journals.cambridge.org/aie]

Figure 7

Fig. 8. The BioSTORMB system architecture illustrating the ontology-driven deployment of PSMs as JADE agents. The architecture has three layers: (1) a knowledge layer, containing all of the ontologies that describe the problem decomposition; (2) an agent platform, which contains the deployed agents in a system; and (3) a data-source layer, which represents a semantically characterized view of the external environment of the agents.