5 Logic-Based Approaches to Workflow Modeling and Verification Saikat Mukherjee 1 , Hasan Davulcu 2 , Michael Kifer 1 , Pinar Senkul 3 , and Guizhen Yang 1 1 Department of Computer Science, Stony Brook University, Stony Brook, NY 11794-4400, USA {saikat,kifer,guizyang}@cs.stonybrook.edu 2 Department of Computer Science & Engineering, Arizona State University, Tempe, AZ 85287-5406,USA hdavulcu@asu.edu 3 Department of Computer Engineering, Middle East Technical University, Ankara, 06531, Turkey karagoz@ceng.metu.edu.tr Abstract. A workflow is a collection of coordinated activities designed to carry out a well-defined complex process, such as trip planning, student registration, or a business process in a large enterprise. An activity in a workflow might be performed by a human, a device, or a program. Workflow management systems (or WfMS ) provide a framework for capturing the interaction among the activities in a workflow and are recognized as a new paradigm for integrating disparate systems, including legacy systems. A large workflow system might involve many disparate activities that are coordinated in complex ways and are subject to many constraints. Thus, modeling such systems and ensuring that they perform according to the specifications is not an easy task. To be able to analyze the properties of workflows, the latter must be specified using a formalism with well-defined semantics. The popular formalisms in this area are the various logics, Petri Nets [1,35], Event- Condition-Action rules [23,15], and State Charts [36]. In this chapter we survey and compare a number of logic-based formalisms that were proposed in the literature. 5.1 Introduction A workflow is a collection of coordinated activities designed to carry out a well-defined complex process, such as trip planning, student registration, or a business process in a large enterprise. Business processes are represented as sets of tasks, where each task carries out some well-defined activity. An activity can be as simple as reading and approving a document or it may involve a complex process of its own. An activity can be completely auto- mated or may involve manual interaction. A workflow management system (WfMS) is a set of tools for defining, analyzing, and managing the execution of workflows. To design a workflow, one uses a workflow modeling language (often through a graphical interface) to specify the tasks, the flow of data, the control flow, and a set of constraints on the execution. A WfMS includes