Ph.D. Thesis

MICRO-WORKFLOW: A WORKFLOW ARCHITECTURE SUPPORTING COMPOSITIONAL OBJECT-ORIENTED SOFTWARE DEVELOPMENT


Dragos-Anton Manolescu, Ph.D.
Department of Computer Science
University of Illinois at Urbana-Champaign, 2001
Ralph E. Johnson, Advisor
Copyright © 2000 Dragos-Anton Manolescu. All rights reserved.
AbstractWorkflow technology and process support lies at the center of modern information systems architectures. But despite the large number of commercial workflow systems, object-oriented developers implement their business, scientific, or manufacturing processes with home-made workflow solutions. Current workflow architectures are based on requirements and assumptions that don’t hold in the context of object-oriented software development. This dissertation proposes micro-workflow, a new workflow architecture that bridges the gap between the type of functionality provided by current workflow systems and the type of workflow functionality required in object-oriented applications. Micro-workflow provides a better solution when the focus is on customizing the workflow features and integrating with other systems. In this thesis I discuss how micro-workflow leverages object technology to provide workflow functionality. As an example, I present the design of an object-oriented framework which provides a reusable micro-workflow architecture and enables developers to customize it through framework-specific reuse techniques. I show how through composition, developers extend micro-workflow to support history, persistence, monitoring, manual intervention, worklists, and federated workflow. I evaluate this approach with three case studies that implement processes with different requirements.

Table of Contents

Table of Contents

Acknowledgments
Contents
List of Tables
List of Figures
List of Abbreviations
Introduction
The Problem
The Solution
The Method
Contributions
Thesis Organization
Workflow
Workflow Technology
Definitions and Example
Workflow and Process Automation
Workflow Features
Flow-Independence
Domain-Independence
Monitoring and History
Manual Intervention
Workflow and Seemingly Similar Systems
Workflow and Programming Languages
Workflow, Operating Systems and Batch Systems
Workflow and Situated Work Environments
Workflow and Computer Simulation
Workflow Standards
Workflow System Examples
TriGSflow
Vortex
METEOR2
Examples Summary
Workflow Issues Relevant to Micro-Workflow
The Micro-Workflow Architecture
From Document Routing to Middleware Services
Object-Oriented Workflow Architecture
Basic Workflow Functionality
Defining Workflows
Executing Workflows
Advanced Workflow Features
Why Compositional Reuse is Hard
When Not to Use Micro-Workflow
Thesis Contributions Revisited
The Micro-Workflow Core
Execution Component
Usage
Design Details
Discussion of the Execution Component
Synchronization Component
Usage
Design Details
Discussion of the Synchronization Component
Process Component
Sequence
Procedure with Subject
Primitive
Procedure with Guard
Conditional
Repetition
Iterative
Fork
Join
Discussion of the Process Component
Advanced Workflow Features Through Composition
History
Usage
Design Details
Discussion of the History Component
Persistence
Storing Objects in GemStone/S
The Structure of GemStone Applications
The Structure of the Persistence Component
Persistence Component, Client Side
Persistence Component, Server Side
Persistence with Relational Database Technology
Discussion of the Persistence Component
Workflow Monitoring
Usage
Design Details
Discussion of the Monitoring Component
Manual Intervention
Context
Problem
Solution
Usage
Design Details
Discussion of the Manual Intervention Component
Worklists
Usage
Design
Discussion of the Worklist Component
Federated Workflow
Context
Problem
Solution
Usage
Design Details
Discussion of the Federated Workflow Component
Putting It All Together
Evaluation of the Architecture
Proposal Review Process
Process Overview
Domain Objects
Workflow Definition
Discussion
Strep Throat Treatment Process
Process Overview
Workflow Actors
Workflow Definition
Discussion
Newborn Followup Process
Process Overview
Domain Objects and Workflow Actors
Workflow Definition
Discussion
Framework Changes
Changes for the Proposal Review Process
Changes for the Strep Throat Treatment Process
Changes for the Newborn Followup Process
Runtime Overhead
Evaluation Summary
Related Research
Workflow Architectures
Mentor-lite
OPERA
Development Environments for Workflow
Teamware
Transaction-Oriented Workflow Environment
TriGSflow
OPENFlow
Dynamic Changes
MOBILE
Obligations
Endeavors
CRISTAL
Related Research Summary
Conclusion
Summary of Contributions
Open Issues and Future Work
Additional Insights
Closing Statement
Software Patterns
The Micro-Workflow Framework
Bibliography
Vita