Facilitating dynamic flexibility and exception handling for workflows

Workflow Management Systems (WfMSs) are used to support the modelling, analysis, and enactment of business processes. The key benefits WfMSs seek to bring to an organisation include improved efficiency, better process control and improved customer service, which are realised by modelling rigidly structured business processes that in turn derive well-defined workflow process instances. However, the proprietary process definition frameworks imposed by WfMSs make it difficult to support (i) dynamic evolution and adaptation (i.e. modifying process definitions during execution) following unexpected or developmental change in the business processes being modelled; and (ii) exceptions, or deviations from the prescribed process model at runtime, even though it has been shown that such deviations are a common occurrence for almost all processes. These limitations imply that a large subset of business processes do not easily translate to the 'system-centric' modelling frameworks imposed. This research re-examines the fundamental theoretical principles that underpin workflow technologies to derive an approach that moves forward from the productionline paradigm and thereby offers workflow management support for a wider range of work environments. It develops a sound theoretical foundation based on Activity Theory to deliver an implementation of an approach for dynamic and extensible flexibility, evolution and exception handling in workflows, based not on proprietary frameworks, but on accepted ideas of how people actually perform their work activities. The approach produces a framework called worklets to provide an extensible repertoire of self-contained selection and exception-handling processes, coupled with an extensible ripple-down rule set. Using a Service-Oriented Architecture (SOA), a selection service provides workflow flexibility and adaptation by allowing the substitution of a task at runtime with a sub-process, dynamically selected from its repertoire depending on the context of the particular work instance. Additionally, an exceptionhandling service uses the same repertoire and rule set framework to provide targeted and multi-functional exception-handling processes, which may be dynamically invoked at the task, case or specification level, depending on the context of the work instance and the type of exception that has occurred. Seven different types of exception can be handled by the service. Both expected and unexpected exceptions are catered for in real time. The work is formalised through a series of Coloured Petri Nets and validated using two exemplary studies: one involving a structured business environment and the other a more creative setting. It has been deployed as a discrete service for the well-known, open-source workflow environment YAWL, and, having a service orientation, its applicability is in no way limited to that environment, but may be regarded as a case study in service-oriented computing whereby dynamic flexibility and exception handling for workflows, orthogonal to the underlying workflow language, is provided. Also, being open-source, it is freely available for use and extension.

[1]  Richard N. Taylor,et al.  Techniques for Supporting Dynamic and Adaptive Workflow , 2000, Computer Supported Cooperative Work (CSCW).

[2]  J. Paul Gibson Formal object oriented requirements: simulation, validation and verification , 1999 .

[3]  Jorge Lobo,et al.  Formalizing (and Reasoning About) the Specifications of Workflows , 2000, CoopIS.

[4]  Dimitrios Gunopulos,et al.  Mining Process Models from Workflow Logs , 1998, EDBT.

[5]  Wil M. P. van der Aalst,et al.  Inheritance of workflows: an approach to tackling problems related to change , 2002 .

[6]  Frank Leymann Workflow-Based Coordination and Cooperation in a Service World , 2006, OTM Conferences.

[7]  Gustavo Alonso,et al.  Flexible exception handling in process support systems , 1998 .

[8]  Wil M. P. van der Aalst,et al.  Conformance Testing: Measuring the Fit and Appropriateness of Event Logs and Process Models , 2005, Business Process Management Workshops.

[9]  Fabio Casati,et al.  Error Handling in Process Support Systems , 2000, Advances in Exception Handling Techniques.

[10]  Andreas Oberweis Person-to-Application Processes: Workflow Management , 2005, Process-Aware Information Systems.

[11]  Huaiqing Wang,et al.  Intelligent Agent Supported Flexible Workflow Monitoring System , 2002, CAiSE.

[12]  Johann Eder,et al.  Time Management in Workflow Systems , 1999, BIS.

[13]  Yun Yang,et al.  Towards Incompletely Specified Process Support in SwinDeW - A Peer-to-Peer Based Workflow System , 2004, CSCWD.

[14]  Kenneth M. Anderson,et al.  A View of Software Development Environments Based on Activity Theory , 2002, Computer Supported Cooperative Work (CSCW).

[15]  Stefan Jablonski,et al.  An Approach to Dynamic Instance Adaption in Workflow Management Applications , 2002 .

[16]  van der Wmp Wil Aalst,et al.  Dealing with workflow change: identification of issues and solutions , 2000 .

[17]  D. K. Hammer,et al.  TREX, workflow TRansaction by means of EXceptions , 1998 .

[18]  Wil M. P. van der Aalst,et al.  Change Mining in Adaptive Process Management Systems , 2006, OTM Conferences.

[19]  Jr. John J. Lee The Producer's Business Handbook , 2000 .

[20]  Susanne Bødker Activity Theory as a Challenge to Systems Design , 1990 .

[21]  François Pacull,et al.  XFolders: a flexible workflow system based on electronic circulation folders , 2002, Proceedings. 13th International Workshop on Database and Expert Systems Applications.

[22]  Gerhard Knolmayer,et al.  Modeling Processes and Workflows by Business Rules , 2000, Business Process Management.

[23]  Karl R. P. H. Leung,et al.  The Liaison Workflow engine architecture , 1999, Proceedings of the 32nd Annual Hawaii International Conference on Systems Sciences. 1999. HICSS-32. Abstracts and CD-ROM of Full Papers.

[24]  Peter Dadam,et al.  Adaptive process management with ADEPT2 , 2005, 21st International Conference on Data Engineering (ICDE'05).

[25]  Avigdor Gal,et al.  Flexible Business Process Management Using Forward Stepping and Alternative Paths , 2005, Business Process Management.

[26]  Erhard Rahm,et al.  Adaptive Guideline-based Treatment Workflows with AdaptFlow , 2004, CGP.

[27]  Giorgio De Michelis,et al.  A Light Workflow Management System Using Simple Process Models , 2000, Computer Supported Cooperative Work (CSCW).

[28]  Dickson K. W. Chiu,et al.  ADOME-WFMS: Towards Cooperative Handling of Workflow Exceptions , 2000, Advances in Exception Handling Techniques.

[29]  Daniela Grigori,et al.  Enhancing the flexibility of workflow execution by activity anticipation , 2006, Int. J. Bus. Process. Integr. Manag..

[30]  Andreas Geppert,et al.  Building Extensible Workflow Systems Using an Event-Based Infrastructure , 2000, CAiSE.

[31]  Johann Eder,et al.  The Workflow Activity Model WAMO , 1995, CoopIS.

[32]  Christine Halverson,et al.  Considering an organization's memory , 1998, CSCW '98.

[33]  Diane M. Strong,et al.  Exceptions and exception handling in computerized information processes , 1995, TOIS.

[34]  Mark Klein An Exception Handling Approach to Enhancing Consistency, Completeness, and Correctness in Collaborative Requirements Capture , 1997 .

[35]  Maria E. Orlowska,et al.  On Capturing Process Requirements of Workflow Based Business Information Systems , 1999, BIS.

[36]  Wil M. P. van der Aalst,et al.  Design and Implementation of the YAWL System , 2004, CAiSE.

[37]  Boudewijn F. van Dongen,et al.  Discovering Workflow Performance Models from Timed Logs , 2002, EDCIS.

[38]  Ilia Bider,et al.  Achieving Workflow Flexibility through Taming the Chaos , 2000, OOIS.

[39]  Arthur H. M. ter Hofstede,et al.  Specifying complex process control aspects in workflows for exception handling , 1999, Proceedings. 6th International Conference on Advanced Systems for Advanced Applications.

[40]  Wil M. P. van der Aalst,et al.  Generic Workflow Models: How to Handle Dynamic Change and Capture Management Information? , 1999, CoopIS.

[41]  A. N. Leont’ev The Problem of Activity in Psychology , 1974 .

[42]  Peter Dadam,et al.  Evaluation of Correctness Criteria for Dynamic Workflow Changes , 2003, Business Process Management.

[43]  Gwm Matthias Rauterberg,et al.  Activity and perception: an action theoretical approach , 1998 .

[44]  Stefanie Rinderle-Ma,et al.  Balancing Flexibility and Security in Adaptive Process Management Systems , 2005, OTM Conferences.

[45]  Wil M. P. van der Aalst,et al.  DecSerFlow: Towards a Truly Declarative Service Flow Language , 2006, WS-FM.

[46]  van der Wmp Wil Aalst,et al.  Workflow mining: which processes can be rediscovered? , 2002 .

[47]  Thorsten Löffeler,et al.  Support for exception handling through workflow management systems , 1998 .

[48]  Boudewijn F. van Dongen,et al.  Workflow mining: A survey of issues and approaches , 2003, Data Knowl. Eng..

[49]  Dieter K. Hammer,et al.  TREX: Workflow TRansactions by Means of EXceptions , 1998 .

[50]  Fabio Casati,et al.  An Environment for Designing Exceptions in Workflows , 1998, Inf. Syst..

[51]  Jakob E. Bardram,et al.  Designing for the dynamics of cooperative work activities , 1998, CSCW '98.

[52]  Mathias Weske,et al.  Case handling: a new paradigm for business process support , 2005, Data Knowl. Eng..

[53]  Manfred Reichert,et al.  A framework for dynamic changes in workflow management systems , 1997, Database and Expert Systems Applications. 8th International Conference, DEXA '97. Proceedings.

[54]  van der Wmp Wil Aalst,et al.  From task descriptions via coloured Petri Nets towards an implementation of a new electronic patient record , 2006 .

[55]  Dongsoo Han,et al.  Exception Specification and Handling in Workflow Systems , 2003, APWeb.

[56]  Håvard D. Jørgensen,et al.  Interactive Process Models , 2004 .

[57]  Alexander Borgida,et al.  Tolerating exceptions in workflows: a unified framework for data and processes , 1999, WACC '99.

[58]  Fabio Casati,et al.  WIDE Workflow Model and Architecture , 1996 .

[59]  Calton Pu,et al.  ActivityFlow: Towards Incremental Specification and Flexible Coordination of Workflow Activities , 1997, ER.

[60]  Tobias Scheffer,et al.  Algebraic foundations and improved methods of induction or ripple-down rules , 1996 .

[61]  Manfred Reichert,et al.  Adeptflex—Supporting Dynamic Changes of Workflows Without Losing Control , 1998, Journal of Intelligent Information Systems.

[62]  Kurt Jensen,et al.  Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 2, Analysis Methods , 1992 .

[63]  Lucy A. Suchman,et al.  Plans and Situated Actions: The Problem of Human-Machine Communication (Learning in Doing: Social, , 1987 .

[64]  Santhosh Kumaran,et al.  Reliable Execution Planning and Exception Handling for Business Process , 2003, TES.

[65]  Clay Spinuzzi,et al.  Context and consciousness: Activity theory and human-computer interaction , 1997 .

[66]  Giorgio De Michelis,et al.  Reengineering a business process with an innovative workflow management system: a case study , 1993, COCS '93.

[67]  Manfred Reichert,et al.  Clinical Workflows - The Killer Application for Process-oriented Information Systems? , 2000 .

[68]  B. Lomov The Problem of Activity in Psychology , 1982 .

[69]  Debbie Richards,et al.  The Reuse of Ripple Down Rule Knowledge Bases : Using Machine Learning to Remove Repetition , 1996 .

[70]  Amit P. Sheth,et al.  Exception Handling in Workflow Systems , 2004, Applied Intelligence.

[71]  Hajo A. Reijers,et al.  The Case Handling Case , 2003, Int. J. Cooperative Inf. Syst..

[72]  Giorgio De Michelis,et al.  Keeping Workflow Models as Simple as Possible , 1994 .

[73]  B. Nardi Activity theory and human-computer interaction , 1995 .

[74]  Lei Yu,et al.  A Comparison of Workflow Metamodels , 1997 .

[75]  Kevin Crowston,et al.  Tools for Inventing Organizations: Toward a Handbook of Organizational Processes , 1999 .

[76]  H. Hendriks-Jansen Catching Ourselves in the Act: Situated Activity, Interactive Emergence, Evolution, and Human Thought , 1996 .

[77]  Maria E. Orlowska,et al.  Pockets of Flexibility in Workflow Specification , 2001, ER.

[78]  Amit P. Sheth,et al.  Exception Handling for Conflict Resolution in Cross-Organizational Workflows , 2003, Distributed and Parallel Databases.

[79]  Grzegorz Rozenberg,et al.  Dynamic change within workflow systems , 1995, COCS '95.

[80]  Edward Gould,et al.  Activity Theory Applied to the Corporate Memory Loss Problem , 2000 .

[81]  Donald A. Norman,et al.  The invisible computer , 1998 .

[82]  Lynn Andrea Stein,et al.  Challenging the Computational Metaphor: Implications for How We Think , 1999, Cybern. Syst..

[83]  Jacques Wainer,et al.  WorkFlow systems: a few definitions and a few suggestions , 1995, COCS '95.

[84]  N. Ilker Altintas,et al.  Business Rules Segregation for Dynamic Process Management with an Aspect-Oriented Framework , 2006, Business Process Management Workshops.

[85]  Alex Borgida,et al.  A Uniied Framework for Exceptions in Workkow and Process Models { an Approach Based on Persistent Objects , 1998 .

[86]  Manfred Reichert,et al.  ADEPTworkflow - Advanced Workflow Technology for the EfficientSupport of Adaptive, Enterprise-wide Processes , 2000 .

[87]  Calton Pu,et al.  Methodical restructuring of complex workflow activities , 1998, Proceedings 14th International Conference on Data Engineering.

[88]  Peter Dadam,et al.  Correctness criteria for dynamic changes in workflow systems - a survey , 2004, Data Knowl. Eng..

[89]  Mathias Weske,et al.  Triggering Replanning in an Integrated Workflow Planning and Enactment System , 2004, ADBIS.

[90]  Kevin Crowston,et al.  Tools for inventing organizations: toward a handbook of organizational processes , 1993, [1993] Proceedings Second Workshop on Enabling Technologies@m_Infrastructure for Collaborative Enterprises.

[91]  Wil M. P. van der Aalst,et al.  A configurable reference modelling language , 2007, Inf. Syst..

[92]  Silvana Castano,et al.  WERDE: A Pattern-Based Tool for Exception Design in Workflows , 1998, SEBD.

[93]  Peter Dadam,et al.  On the Common Support of Workflow Type and Instance Changes under Correctness Constraints , 2003, OTM.

[94]  Frank Maurer,et al.  Knowledge-Based Techniques to Increase the Flexibility of Workflow Management , 1997, Data Knowl. Eng..

[95]  Fabio Casati,et al.  A discussion on approaches to handling exceptions in workflows , 1999, SIGG.

[96]  Victor Kaptelinin,et al.  Computer-mediated activity: functional organs in social and developmental contexts , 1995 .

[97]  Wil M. P. van der Aalst,et al.  Workflow Patterns , 2004, Distributed and Parallel Databases.

[98]  Helen Hasan,et al.  Activity Theory as a Basis for the Design of a Web Based System of Inquiry for World War 1 Data , 2000 .

[99]  Ole Smørdal,et al.  Classifying Approaches to Object Oriented Analysis of Work with Activity Theory , 1997, OOIS.

[100]  Jian Tang,et al.  Consulting past exceptions to facilitate workflow exception handling , 2004, Decis. Support Syst..

[101]  Wil M. P. van der Aalst,et al.  Workflow Exception Patterns , 2006, CAiSE.

[102]  Takahiro Murata,et al.  Workflow as persistent objects with persistent exceptions: a framework for flexibility , 1999, SIGG.

[103]  Hugo Fuks,et al.  Groupware: Design, Implementation, and Use, 11th International Workshop, CRIWG 2005, Porto de Galinhas, Brazil, September 25-29, 2005, Proceedings , 2005, CRIWG.

[104]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[105]  Catriel Beeri,et al.  A Workflow System through Cooperating Agents for Control and Document Flow over the Internet , 2000, CoopIS.

[106]  Pedro Antunes,et al.  Exception Handling Through a Workflow , 2004, CoopIS/DOA/ODBASE.

[107]  Jian Tang,et al.  Mining exception instances to facilitate workflow exception handling , 1999, Proceedings. 6th International Conference on Advanced Systems for Advanced Applications.

[108]  Jakob E. Bardram,et al.  “I love the system—I just don't use it!” , 1997, GROUP.

[109]  J. Wertsch The Concept of Activity in Soviet Psychology , 1981 .

[110]  Luciano Baresi,et al.  WIDE workflow development methodology , 1999, WACC.

[111]  Susanne Bødker,et al.  Design of information systems: things versus people , 1992 .

[112]  Kees M. van Hee,et al.  Workflow Management: Models, Methods, and Systems , 2002, Cooperative information systems.

[113]  Fabio Casati,et al.  Specification and implementation of exceptions in workflow management systems , 1999, TODS.

[114]  Wil M. P. van der Aalst,et al.  On the Notion of Coupling in Communication Middleware , 2005, OTM Conferences.

[115]  Dickson K. W. Chiu,et al.  A Logical Framework for Exception Handling in ADOME Workflow Management System , 2000, CAiSE.

[116]  Erhard Rahm,et al.  AGENTWORK: a workflow system supporting rule-based workflow adaptation , 2004, Data Knowl. Eng..

[117]  Akhil Kumar,et al.  A framework for dynamic routing and operational integrity controls in a workflow management system , 1996, Proceedings of HICSS-29: 29th Hawaii International Conference on System Sciences.

[118]  Gwm Matthias Rauterberg,et al.  Human errors : disadvantages and advantages , 1996 .

[119]  Wil M. P. van der Aalst,et al.  A Declarative Approach for Flexible Business Processes Management , 2006, Business Process Management Workshops.

[120]  Anatol W. Holt,et al.  Organized Activity and its Support by Computer , 1997, Springer Netherlands.

[121]  Johannes W. Lux Creating a Reference Model for the Creative Industries – Evaluation of Configurable Event Driven Process Chains in Practice , 2006 .

[122]  Wil M. P. van der Aalst,et al.  Challenges for Business Process and Task Management , 2005 .

[123]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[124]  Zhaohui Wu,et al.  Enhancement of workflow flexibility by composing activities at run-time , 2004, SAC '04.

[125]  A. Agostini,et al.  Modeling the Document Flow within a Cooperative Process as a Resource for Action , 2007 .

[126]  Paul Compton,et al.  Knowledge in Context: A Strategy for Expert System Maintenance , 1990, Australian Joint Conference on Artificial Intelligence.

[127]  Wil M. P. van der Aalst,et al.  Workflow mining: discovering process models from event logs , 2004, IEEE Transactions on Knowledge and Data Engineering.

[128]  Arthur H. M. ter Hofstede,et al.  A reflective infrastructure for workflow adaptability , 2000, Data Knowl. Eng..

[129]  Peter Dadam,et al.  On Dealing with Structural Conflicts between Process Type and Instance Changes , 2004, Business Process Management.

[130]  Peter Dadam,et al.  Semantic Correctness in Adaptive Process Management Systems , 2006, Business Process Management.

[131]  Jacques Wainer,et al.  Proclets: A Framework for Lightweight Interacting Workflow Processes , 2001, Int. J. Cooperative Inf. Syst..

[132]  David F. Redmiles,et al.  Activity Theory and System Design: A View from the Trenches , 2002, Computer Supported Cooperative Work (CSCW).

[133]  Dickson K. W. Chiu,et al.  A Meta Modeling Approach to Workflow Management Systems Supporting Exception Handling , 1999, Inf. Syst..

[134]  Ute Beyer,et al.  Process-Aware Information Systems: Bridging People and Software Through Process Technology , 2005 .

[135]  Jacques Wainer,et al.  Constraint-Based Flexible Workflows , 2003, CRIWG.

[136]  Fabio Casati,et al.  Adaptive and Dynamic Service Composition in eFlow , 2000, CAiSE.

[137]  Wil M. P. van der Aalst,et al.  Exterminating the Dynamic Change Bug: A Concrete Approach to Support Workflow Change , 2001, Inf. Syst. Frontiers.

[138]  Paul F. Marty,et al.  Coping with errors: the importance of process data in robust sociotechnical systems , 2000, CSCW '00.

[139]  Jakob E. Bardram,et al.  Plans as Situated Action: An Activity Theory Approach to Workflow Systems , 1997, ECSCW.

[140]  Kerim Tumay Business process simulation , 1995, WSC '95.

[141]  Avigdor Gal,et al.  Optimizing Exception Handling in Workflows Using Process Restructuring , 2006, Business Process Management.

[142]  Thomas Schael,et al.  Workflow Management Systems for Process Organisations , 1998, Lecture Notes in Computer Science.

[143]  Wil M. P. van der Aalst,et al.  Beyond workflow management: product-driven case handling , 2001, GROUP.

[144]  S.M.M. Joosten,et al.  Fundamental Concepts for Workflow Automation in Practice , 1995 .

[145]  Debbie Richards,et al.  Combining Cases and Rules to Provide Contextualised Knowledge Based Systems , 2001, CONTEXT.

[146]  Stefan Jablonski,et al.  A comprehensive approach to flexibility in workflow management systems , 1999 .

[147]  Amit P. Sheth,et al.  An overview of workflow management: From process modeling to workflow automation infrastructure , 1995, Distributed and Parallel Databases.

[148]  Gillian Symon,et al.  The coordination of work activities: Cooperation and conflict in a hospital context , 1996, Computer Supported Cooperative Work (CSCW).

[149]  Stefanie Rinderle-Ma,et al.  Change Patterns and Change Support Features in Process-Aware Information Systems , 2007, Seminal Contributions to Information Systems Engineering.

[150]  Frank Leymann,et al.  Exception Handling in the BPEL4WS Language , 2003, Business Process Management.

[151]  Dickson K. W. Chiu,et al.  Exception handling with workflow evolution in ADOME-WFMS: a taxonomy and resolution techniques , 1999, SIGG.

[152]  Ole Smørdal,et al.  Human work as context for development of object oriented modelling techniques , 1996 .

[153]  S.M.M. Joosten,et al.  Conceptual Theory for Workflow Management Support Systems , 1995 .

[154]  Ruth Breu,et al.  CBRFlow: Enabling Adaptive Workflow Management Through Conversational Case-Based Reasoning , 2004, ECCBR.

[155]  Stefanie Rinderle-Ma,et al.  Integrating Process Learning and Process Evolution - A Semantics Based Approach , 2005, Business Process Management.

[156]  David Kang,et al.  A systematic approach in managing post-deployment system changes , 2006, Commun. ACM.

[157]  Gregor Joeris Defining Flexible Workflow Execution Behaviors , 1999, Enterprise-wide and Cross-enterprise Workflow Management.

[158]  A. N. Leont’ev,et al.  Activity, consciousness, and personality , 1978 .

[159]  Byeong Ho Kang,et al.  The Use of Simulated Experts in Evaluating Knowledge Acquisition , 1995 .

[160]  Michael Schrefl,et al.  Workflow Transparency , 1997, CAiSE.

[161]  Otthein Herzog,et al.  Managing evolving workflow specifications , 1998, Proceedings. 3rd IFCIS International Conference on Cooperative Information Systems (Cat. No.98EX122).

[162]  Manfred Reichert,et al.  Dealing with forward and backward jumps in workflow management systems , 2004, Informatik Forschung und Entwicklung.

[163]  L. Mumford Technics and Civilization , 1934, Nature.

[164]  Giorgio De Michelis,et al.  Improving Flexibility of Workflow Management Systems , 2000, Business Process Management.

[165]  Gert Faustmann WORKFLOW MANAGEMENT AND CAUSALITY TREES , 1996 .

[166]  Pedro Antunes,et al.  A Collaborative Framework for Unexpected Exception Handling , 2005, CRIWG.

[167]  Andreas Geppert,et al.  Dynamic workflow schema evolution based on workflow type versioning and workflow migration , 1999, Proceedings Fourth IFCIS International Conference on Cooperative Information Systems. CoopIS 99 (Cat. No.PR00384).

[168]  John Krogstie,et al.  Evaluating flexible workflow systems , 1997, Proceedings of the Thirtieth Hawaii International Conference on System Sciences.

[169]  Kurt Jensen,et al.  Coloured Petri Nets , 1996, Monographs in Theoretical Computer Science. An EATCS Series.

[170]  Fausto Giunchiglia,et al.  Theories and uses of context in knowledge representation and reasoning , 2003 .

[171]  K. Kuutti Activity theory as a potential framework for human-computer interaction research , 1995 .

[172]  Gustavo Alonso,et al.  Exception Handling in Workflow Management Systems , 2000, IEEE Trans. Software Eng..

[173]  David K. Irving,et al.  Producing and Directing the Short Film and Video , 1995 .

[174]  Michel Manago,et al.  Noise and Knowledge Acquisition , 1987, IJCAI.