Principles for interactive acquisition and validation of workflows

Jihie Kim, Yolanda Gil, Marc Spraragen
2010 Journal of experimental and theoretical artificial intelligence (Print)  
Workflows, also known as process models, are essential in many science and engineering fields. Workflows express compositions of individual steps or tasks that assembled together account for various aspects of an overall process. When workflows include dozens of components and many links among them, the creation of valid workflows becomes challenging since users have to track many interdependencies and constraints. This paper describes principles for assisting users to create valid workflows
more » ... t are based on two knowledge acquisition systems that we have developed. A shared goal in these projects was to enable end users who do not have computer science backgrounds, such as biologists, military officers, or engineers, to create valid end-to-end process models or workflows. Our approach exploits knowledge-rich descriptions of the individual components and their constraints in order to validate the composition, and uses artificial intelligence planning techniques in order to systematically verify formal properties of valid workflows. Both systems analyze partial workflows created by the user, determine whether they are consistent with the background knowledge that the system has, notifies the user of issues to be resolved in the current workflow, and suggests to the user what actions could be taken to correct those issues. Figure 3. An example CAT Knowledge Base. Supporting knowledge base: representing entities and workflow components This section describes how we represent workflow components and data. Figure 3 shows a portion of a sample CAT Knowledge Base (KB). Here we use an example from a travel planning domain for readability. In the KB, there is a hierarchy of data types. A workflow component represents an executable software program and is represented in terms of its input and output parameters, each with a data type expressed in the KB ontology. For example, component Car-Rental-at-Airport has a corresponding executable program. The component takes an Airport (as arrival-place) and a Date (as arrival-date) as input, and produces a Car-Reservation. We assume that the outputs of components produce new information and there are no deletions of existing information. Abstract components may have more abstract types of parameters. For example, a more abstract component Car-Rental has an input parameter arrival-place with type Location instead of Airport. CAT uses OWL (the W3C Ontology Web Language standard) [OWL, 2008] for representing data types, but can access different KBs using the following generic KB access functions: • KB-components(): returns a set of available components (including abstract ones) defined in the KB. • KB-data-types(): returns a set of data types defined in the KB. • KB-input-parameters(c): returns input parameters of component c.
doi:10.1080/09528130902823698 fatcat:e3hy26myr5b25pcn7iablkao4a