Process Enactment and Workflow
17 October 2002
Web-based software process models and process enactment
- What is computer-supported "workflow"?
- (early 1980's) Office automation?
- (late 1980's) Run-time execution
of procedural process programs?
- (1990's) Email+Groupware?
- (1990's) Logical workflow using DBMS?
- (2000+) Web surfing ECommerce sites, like Amazon.com?
- Workflow Management Coalition
- WfMC Reference Architecture (graphic)
- Workflow as "implementation" vs. "specification" of
a business process
- Who gets to specify, refine, or redesign workflow/business
- Programmers consume,
use, and/or produce (imperative) source code
- End-users consume, use, and/or produce (declarative)
- Should workflow/process models be source code or content
- Separation of the internal representation from the
external presentation form.
- Problem: how to provide "process enactment" support
global distributed software development projects?
- Problem space (graphic)
- People (agents), Places (network locales),
Products (software development hypertext or linked artifacts), Programs (tools/applications), and Processes
- A simple process model as a directed attributed graph (graphic)
- Precedence relations (directed links/edges)
- Decomposition relations
- Process object types as nodes
- Attributes for People, Products, and Programs for
each process nodes
- Attribute (instance) values as enactable workflow
- Process model as a semantic hypertext
- Possible solution (graphic)
- Provides "process-based integration"
- Enables "process-directed intranets/VPNs"
- Process enactment as navigational traversal
of a process hypertext
- Enactment as "Web surfing" a process modeled
as a (semantic) hypertext
- Content Management System as Workflow environment
- Content management systems
- Web server + database management system + file server
- PHP-Nuke, Zope, etc.
- Example (Zope,
- WSDL, SOAP, UDDI, XML?
- WSFL, EBXML, etc.
- Web Services Flow Language (WSDL+Routing)
- Implementation vs. specification, once again!
- Process Markup Language (PML)
process life cycle environment (demo)
A Process Enactment Operating System (PEOS) Architecture
- Discovering global software development processes
in open source software development projects
- Distributed: Logically centralized, but physically
- Decentralized: logically and physicallyt distributed
- Recovering global software development processes
that breakdown during enactment and must be repaired, managed, or redirected
- Redesigning software development processes based
on capture (event monitoring and enactment history logging), analysis (measurement),
replay (simulated re-enactment), and optimization (redesign transformation
- Visualizing global software development processes,
events, and resource bindings.
Workflow Management Technologies. This paper surveys current approaches
to project communication and coordination, details the range of requirements
across several related disciplines, and identifies various tradeoffs and
trends that may effect the adoption, design, and evolution of an advanced
technical workflow infrastructure. (appears in Software Process--Improvement
and Practice, 4(3), 125-171, 1998.)
Software Development in Virtual Enterprises This paper presents recent
developments in a distributed semantic hypertext framework called DHT
that supports software development projects within virtual enterprises.
We show how such hypertext functionality embodied solves the practical
problems of project coordination including, collaborative sharing data
in a virtual enterprise of distributed teams, integrating existing tools
and environments, and enacting software processes to coordinate development
activities for teams across wide-area networks. In particular, we describe
how software process enactment can be achieved within a virtual enterprise
without centralized mechanisms. This is when the process description
is represented as a user navigable hypertext graph whose nodes associate
process steps, staff roles, and associated tools with designated software
products. Overall, these capabilities provide support for coordinating
software development projects across a virtual enterprise of teams connected
via the Internet. (appears in Journal of Digital
Information, 1(4), February 1999).
Specifying Process-Oriented Hypertext for Organizational Computing.
A process-oriented hypertext links information, tools, and activities
into a seamless organizational web. Using such a hypertext, and process
performer can enact a process by browsing, and receive guidance on how to
perform the process activities, where to and relevant information, and what
tools to use. The PML process modeling language provides a way for process
engineers to specify process models in terms of activities, and the sequence
in which they should be performed. The specifcation can be elaborated with
descriptions of resources and tools required and provided by activities,
and the skills necessary to carry out an activity. The resulting models are
then translated into one or more process-oriented hypertexts that represent
instances of the process currently being performed. PML includes features
that allow the modeler to specify how the process activities should be dynamically
linked to information and resource nodes at the time the process is performed.
This enables processes to be described as abstract models that can be instantiated
as process-oriented hypertexts in different organizational settings. (appears
in Journal of Network Computing and Applications, 24(1):39-61, 2001).
Intranets: Life Cycle Support for Process Reengineering. This
paper presents an approach to process design, the technology of process-driven
intranets for electronic commerce, a case study applying this approach
and technology at ONR, and a discussion of lessons learned.(appears
in IEEE Internet Computing, 1(5):42-49, 1997).