Abstract:
Workflow technology is widely used for automation of business processes that supports
their modeling, enactment, tracking, and analysis. Processes represented as workflows
are composed of ordered and coordinated activities that integrate humans, resources,
and applications. Workflow brings flexibility through explicit definition of processes
enabling applications to be easily managed without disturbing the program code. Such
unique characteristics of workflow technology enable it to be used in domains other
than business also. In fact, workflow based programming brings a paradigm shift in the
development of applications in more flexible, natural, and usable way.
Recent advancement in communication, electronics, sensors, and software architectures
pose requirements of context-aware applications that are dynamic, flexible, and
adaptable. These applications are not limited to emerging domains like pervasive and
ubiquitous computing but also required by traditional business processes to survive in
today’s competitive market. The design and maintenance of context-aware applications
may greatly be simplified by using workflows to represent variability associated with
these applications. However, rigidity in workflow representation and enactment
necessitates modifications and extensions in workflow technology before it could be
adopted in context-aware application development.
This thesis investigates key issues and challenges in adopting workflow technology for
context-aware applications. Governed by the guiding principles of flexibility,
adaptability, extensibility, reusability, autonomy, and usability; a generic framework for
context-aware workflow design and management is presented. Making use of explicit
modeling of context information, adaptation rule-set, and sub-workflows, a
conventional workflow application may be transformed to become context-aware. A
Context-Activity Architecture is presented that describes the integration and working of
constituent components of context-aware workflow system. Most notably, an activity is
represented as specially designed context-aware activity that adapts itself to a
contextually suitable activity at runtime with the help of necessary functionality
embedded within the activity itself. The proposed architecture is realized through the
development of a context aware workflow designer tool (CAWD) using Windows
Workflow Foundation classes. A couple of example scenarios and simulated testing
elaborate and verify the intended adaptation operations and handling of evolutionary
changes within a process that may be experienced by a context-aware workflow
application.