Sie sind auf Seite 1von 16

Computers in Industry 47 (2002) 139±154

A document-process association model


for work¯ow management
Hyerim Bae, Yeongho Kim*
Department of Industrial Engineering, Seoul National University, Seoul 151-742, South Korea
Received 7 June 2001; accepted 27 October 2001

Abstract

A WorkFlow Management System (WFMS) is a software system to support an automatic, ef®cient execution of business
processes. A business process often involves document processing. Although, many traditional WFMSs can support the
document processing to some extent, they are concerned mainly with document delivery. We propose an XML-based approach
to WFMS for form document processing on the Web. Taking advantage of XML, we can partition a document into several
meaningful segments, each of which in this approach becomes a unit of work that can be performed by some activities in a
work¯ow process. Based on this document partition, we develop a formal model, called document-process association model,
which can associate the units of work with process activities. The model not only provides a tight control over document-related
processes, but it also enables various useful services, such as customization of document monitoring and contents-based
interaction between WFMS and other application programs. A prototype system has been implemented to demonstrate the
usefulness of the proposed model. # 2002 Elsevier Science B.V. All rights reserved.

Keywords: Business process; Work¯ow; XML; Form document

1. Introduction to control their dependency with the underlying work-


¯ow process.
Today's business environment makes it indispensa- Many traditional WFMSs can support document
ble for a company to deal with complex business processing to some extent [27]. However, the WFMSs
processes. A work¯ow management system is a soft- are concerned mainly with document delivery. While
ware system to support an automatic, ef®cient execu- controlling a business process, a WFMS identi®es a
tion of the business processes [14,18]. Such a business document that the process should deal with, and
process often involves document processing. In this simply conveys the document to a relevant user.
paper, we consider a WorkFlow Management System Consider typical documents, such as purchase order,
(WFMS) that can manage the document ¯ow over a engineering change order, and cost estimation sheet,
work¯ow process. An essential ability in such a and so on. Most such documents in a business process
WFMS is to keep track of the documents' trace and have a certain format, that is, it is composed of a
number of ®elds with some kind of structures. We call
such a document a form document.
*
Corresponding author. Tel.: ‡82-2-880-8335;
In a typical business process, an activity is often
fax: ‡82-2-889-8560. associated with ®lling in a form document. It may
E-mail address: yeongho@snu.ac.kr (Y. Kim). involve inserting new values into some ®elds of the

0166-3615/02/$ ± see front matter # 2002 Elsevier Science B.V. All rights reserved.
PII: S 0 1 6 6 - 3 6 1 5 ( 0 1 ) 0 0 1 5 0 - 6
140 H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154

document or modifying those values. This indicates identify a task list that the user has to carry out. The
that document processing may not be considered system assists the user by delivering task related
separately from the process ¯ow. Such a notion leads information including due date, process name, priority
us to consider the necessity of associating form docu- and status of task, input and output ®les, and so on.
ment elements with process activities, so that WFMS These are presented on a user interface for WFMS
can provide a more tight control over document- clients. On completing the task assigned, the user
related processes. Although, existing form-based noti®es the WFMS of the task results. Then, the WFMS
WFMS's support such activities, they are signi®cantly proceeds to the remained part of the process by assign-
limited as follows. First, the existing approaches ing the subsequent tasks to other relevant users.
consider a whole document as a unit work. This means Work¯ow Management Coalition (WfMC), an
that it is hard for an activity to deal with a part of one international standard organization on WFMS, has
document. Second, most commercial form-based proposed a Work¯ow Reference Model (WRM)
WFMS's use their own proprietary format. This [14,29±33]. Fig. 1 presents the general architecture
requires that to understand the document contents a of WRM, which is adopted by most existing WFMSs.
client application should know the format. Using WRM consists of ®ve components: work¯ow engine,
XML [34] as a form document format, we have been process de®nition tools, monitoring tools, work¯ow
able to develop an effective method that can resolve clients, and invoked applications. The central part of
the above problems. the system is the engine that interprets process de®ni-
We propose, an XML-based approach to WFMS for tions, controls process execution, and manages work
form document processing on the Web. Taking advan- items in user's work lists. It also interacts with work¯ow
tage of XML, we can partition a document into several participants, and invokes some required applications.
meaningful segments. A segment is a unit of work that The process de®nition tools create process models and
can be performed by some activities in a work¯ow store them in a proper format. There are two types of
process. We develop a formal model that associates work¯ow clients: work¯ow client applications and
those units of work with process activities. The pro- invoked applications. While both perform work¯ow
posed model not only supports the execution of docu- activities, the former are controlled by human clients,
ment processing with respect to the document ¯ow, but and the latter are software programs that perform the
it also enables various useful services during the activities automatically. The administration and mon-
document processing. A prototype system has been itoring tools provide a user interface for administration
implemented to demonstrate some important docu- and supervision of work¯ow management.
ment-related functions. Many recently released commercial WFMSs are
Web-based systems [13,27]. Such a system provides
location transparency by allowing a user to access the
2. Backgrounds system simply using a Web browser. Almost all the
Web-based WFMSs use HTML as client user inter-
2.1. Work¯ow management system faces. This, however, has several limitations particu-
larly in interfacing the work¯ow engine with the other
A WFMS in general is a software system that components in Fig. 1. As an alternative, we use
de®nes, creates, and manages automated business pro- eXtensible Markup Language (XML), which is further
cesses [2,11,21,23]. The WFMS helps users involved discussed in the next section.
in a business process to carry out their tasks following
certain business logic [19]. This means that the WFMS 2.2. XML
should have a process model representing the business
logic. A process model consists of a number of HTML has been popularized as the standard for
activities and their precedence relations [4,10]. Once Web documents due to its simplicity and ease of use. It
a process model is set up, the WFMS automatically therefore has been adopted in many Web-based
assigns activities to individual users based on the WFMSs. However, the use of HTML is limited in
model [24]. By logging in the system, a user can that the tags are prede®ned and inextensible, deal with
H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154 141

Fig. 1. WRM and interfaces [14].

only displaying aspects, and do not support represen- tents allows one to modularize form documents. Since
tation of semantic structures [8]. Since one cannot a stylesheet takes charge of the presentation, the data
de®ne one's own tags and attributes and the tags in content can be handled independently of the presenta-
themselves are meaningless, users and applications tion [1]. In our approach, the content of a form docu-
are prohibited from manipulating individual contents ment is modularized into several parts using XML tags,
of a document. To overcome such limitations, Stan- so that our system can handle each of the individual
dard General Markup Language (SGML) [16] can be parts. On the other hand, for the representation of the
used. However, SGML is much more complex than form document, we use the eXtensible Styling Lan-
HTML, and dif®cult to use [8]. guage (XSL) stylesheet [35]. By altering the stylesheet,
We employ XML, a relatively new technology, which an XML document can be viewed in many different
takes advantages of both HTML and SGML [22]. It is ways. This feature can be very effectively used to
simpler than SGML, and more powerful than HTML. provide different users with different presentations,
The underlying basis of XML is at the separation of in particular for WFMS of which the participants
document structure and presentation style [26]. In order usually have different presentation requirements.
to use XML in Web applications, users need to have
XML Document Type De®nition (DTD) and stylesheet.
DTD de®nes a document structure using user-de®ned 3. Workunit model
tags and attributes to specify the semantic relationships
of document elements. The stylesheet speci®es how an In a typical business process dealing with a form
XML document is presented on a Web-browser. The document, an activity is associated with a set of
stylesheet speci®cation includes the presentation styles elements in the document. In this section, we describe
of document contents, such as color, font, and size. a formal model, called a workunit model, for the
It has been recognized that XML has a great poten- association between process activities and form docu-
tial to many Web-based applications [9,22]. In the ments elements.
WFMS area, a number of researchers have considered
taking advantage of the standard [6,20], and WfMC's 3.1. Process and workunit models
Wf-XML binding [30] is one of the early research
results. XML gives several advantages [22]. Among As mentioned earlier, a critical challenge in
those, the separation of presentation styles from con- our form-based work¯ow is to associate document
142 H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154

Fig. 2. (a) Document workunits, (b) process activities, and their associations.

contents with work¯ow activities. We propose the Definition 3-1 (Process). A process is defined as a
concept of workunit. The term workunit is de®ned directed graph p ˆ …A; L†, where
as a logical partition of a form document, and is used
as a unit of work assignment. A workunit is composed  A ˆ fai ji ˆ 1; . . . ; Ng is the set of activities,
of several document components, such as labels, text and
input ®elds, and check boxes. The hierarchical rela-  L  f…ai ; aj †jai ; aj 2 Ag is the set of links, each
tions among document, workunit, and document com- of which, for example, (ai, aj) represents that
ponents are illustrated in Fig. 2a. the i-th activity immediately precedes the j-th
In the Fig. 2a, a folder is a logical space to store activity.
all the documents processed in a work¯ow process.
We assume that a folder has one-to-one mapping Definition 3-2 (Workunit). Consider a form document
with a process instance, that is, a folder is created dk, …k ˆ 1; . . . ; K†. The document is composed of a set
whenever a new process instance is launched. This is of workunits, and each workunit consists of a number
to make our problem simple, and the notion of of fields as follows.
folder is not further considered in the rest of this
paper.  dk ˆ fwm jm ˆ 1; . . . ; Mg;
Fig. 2a indicates that a form document is composed  wm ˆ ffl jl ˆ 1; . . . ; Lg;
of a set of workunits. Fig. 2b shows a process dealing
with the form document. Fig. 2a and b shows that each such that wm \ wn ˆ ;, and a ®eld fl is speci®ed
of the workunits is assigned to at least one activity of with a pair of name and value, that is, (®eld name,
the process. This is represented as directed arrows. value).
Such assignment of individual workunits to process Based on the above two de®nitions, form document
activities becomes possible because the form docu- elements and process activities are denoted using
ment is modularized into workunits. common dot () notation. Let dkwm be the m-th work-
A formal de®nition of workunit model forms a unit of document dk, and pai, the i-th activity of
theoretical basis of our approach. We ®rst con- process p. This notation can be used with a wild card
sider the de®nitions of process and workunit as fol- (). For example, dk. represents all the workunits of
lows. document dk.
H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154 143

3.2. Assignment of workunit to process p1:  " W


A  : ˆ fd1  w1 ; d1  w2 ; d1  w3 ; d1  w4 ; d1
 w5 ; d2  w6 ; d2  w7 g (Ex5-3)
Using the de®nitions of process and workunit in
Section 3.1, the document-process association is p1:  " W
A d1 : ˆ fd1  w1 ; d1  w2 ; d1  w3 ; d1
represented as follows.  w 4 ; d1  w 5 g (Ex5-4)

Definition 3-3 (Document-process associations). The p1  a2 " W


A  : ˆ fd1  w2 ; d2  w6 g (Ex5-5)
association between document and process is repre- p1  a2 " W
A d2 : ˆ fd2  w6 g (Ex5-6)
sented using upward and downward arrows, that is, `"'
and `#'. There are four types of associations: activity d1 :  #W
A  : ˆ fp1  a1 ; p1  a2 ; p1  a4 ; p1  a5 ; p1
to workunit " W W
A , workunit to activity # A , process to
 a6 ; p2  a7 ; p2  a8 ; . . . ; p2  a12 g (Ex5-7)
document " P , and document to process # D
D
P. d1 :  # W
A p1: ˆ fp1  a1 ; p1  a2 ; p1  a4 ; p1  a5 ; p1  a6 g
 "WA identifies all the workunits that are assigned to (Ex5-8)
an activity.
d1  w1 # W  : ˆ fp1  a1 ; p2  a7 g (Ex5-9)
 #WA identifies all the activities that a workunit is
A

assigned to. d1  w1 # W
A p1: ˆ fp1  a1 g (Ex5-10)
 "DP identifies all the documents that a process deals
…p1 " D
P †: ˆ fd1  w1 ; d1  w2 ; d1  w3 ; d1  w4 ; d1
with.
 #D  w 5 ; d2  w 6 ; d2  w 7 g (Ex5-11)
P identifies all the processes that deal with a
document. …d1 # D
P †: ˆ fp1  a1 ; p1  a2 ; p1  a3 ; p1  a4 ; p1
The use of our document-process association is  a5 ; p1  a6 ; p2  a7 ; p2  a8 ; . . . ; p2  a12 g
explained. Consider two process de®nitions p1 and (Ex5-12)
p2 shown in Fig. 3. Process p1 deals with two docu-
ments d1 and d2, and p2 does d1 and d3. Each document 3.3. Activity and workunit dependency
has several workunits, and the workunits are assigned
to activities as shown in Fig. 3. Typical uses of the A process activity is somehow interrelated with
associations are listed below. other activities. In De®nition 3-1, the interrelations
between two directly preceding activities are repre-
p1 " D
P  ˆ fd1 ; d2 g (Ex5-1)
sented using directed arcs. This can be more general-
d1 # D
P  ˆ fp1; p2g (Ex5-2) ized between two arbitrary activities as follows.

Fig. 3. Examples of document-process association.


144 H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154

Definition 3-4 (Activity dependency). Consider two  Uniqueness: a workunit cannot be assigned twice or
arbitrary activities ai and aj. These two activities have more to the same activity.
either a precedence relation or a parallel relation as
follows. For p:ai " W W
A d:wm and p:aj " A d:wn ;
…i ˆ j† ! …m 6ˆ n†
 Activity precedence relation: there is a path in the
directed graph from ai to aj. If {(ai, ak), (ak, ak‡1),  Completeness: every workunit in d should be
f…ak ; ak‡1 †…ak‡1 ; ak‡2 †; . . . ; …ak‡n ; aj †g  L, then ai assigned to at least one activity of p. That is,
and aj are in a precedence relation represented as
ai < A aj . For all i; d:wi # W
A p: 6ˆ f
 Activity parallel relation: there is no path in the  Consistency: a workunit cannot be associated to
process graph. If ai and aj do not have a precedence parallel activities.
relation, then they are in a parallel relation repre-
sented as ai jjA aj . For p:ai and p:aj …i 6ˆ j†;
An activity precedence relation indicates that there …p:ai jjA p:aj † ! …p:ai " W W
A  :† \ …p:aj " A  :† ˆ f
is a path from the ®rst activity to the second one. In  Compatibility: if two workunits have a precedence
other words, the second activity is dependent on the relation, this needs to be preserved in the relations
®rst. On the other hand, activities with a parallel of the activities dealing with the workunits.
relation can be performed independently.
There exists similar dependency among workunits, For all m and n…m 6ˆ n†;
called workunit dependency. This speci®es the order …d  wm <W d  wn † ! ai <A aj or
of processing the workunits. If one workunit should be
processed after another, the former workunit may not ai ˆ aj …ai 2 d  wm # W
A p:; aj 2 d  wn # W
A p:†
be assigned to any activity that precedes the activity
for the latter. A de®nition of this workunit dependency When a document-process association violates any
is presented below. of these rules, it does not guarantee a proper proces-
sing of the document with the process. First, the
Definition 3-5 (Workunit dependency). Consider two uniqueness rule states that it is simply meaningless to
workunits wm and wn in a document d. These two assign a workunit to an activity multiple times.
workunits have either a precedence relation or a Second, it is obvious that a violation of the com-
parallel relation as follows. pleteness rule leaves some workunits not handled
 Workunit precedence relation: if wn should be until the end of a process execution. Third, for the
processed after wm, then wn and wm are in a pre- consistency rule, consider a situation that a workunit
cedence relation represented as wm <W wn . is assigned to two or more activities that are in a
 Workunit parallel relation: If wm and wn do not have parallel relation. Since such activities can be exe-
a precedence relation, then they are in a parallel cuted concurrently, it may produce inconsistent docu-
relation represented as wm jjW wn . ment. A simple way to prevent the inconsistency is
disallowing such assignment. Another is to employ a
3.4. Association rules version control or advanced transaction model, but is
out of the scope of this paper. The ®nal rule states
Considering the de®nitions in Section 3.3, we can that there should be compatibility between workunit
identify several rules that should be satis®ed when dependency and activity dependency. If two work-
assigning workunits to activities. units have a precedence relation, either the relation
should be maintained in the activities to which the
Definition 3-6 (Association rules). Consider a process workunits are assigned or both workunits be assigned
p that deals with a document d. The association of d's to the same activity. Notice that activity dependency
workunits with p's activities should meet the follow- does not always mean workunit dependency, how-
ing four associations rules. ever.
H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154 145

4. Form document monitoring tions. The monitoring functions are detailed in the
subsequent section.
The workunit model addressed in Section 3 enables The use of monitoring template is explained with an
several document-related functions in WFMS. This example. Suppose that a user wants to monitor all the
includes automatic identi®cation of relevant docu- documents that have been created since 4 April 2000
ments for individual activities and handling of the in process p1. The user is interested in the documents'
contents contained in a certain part of form document. names, employees in charge of, and the duration of
Another interesting and important function is form each activity that is associated with the documents'
document monitoring. In general, work¯ow monitor- workunits. The user is also concerned with the pro-
ing is the ability to trace processes being currently ductivity of p1's activities dealing with d1's workunits
carried out and to report summary statistics over past that are performed by Mr. Hur. This is compared with
processes [33]. Almost all work¯ow systems provide that of the activities dealing with the same document's
tools for this service, but most deal with process- workunits but performed by Mr. Bae. For this pro-
related information. We focus on the form document ductivity comparison, the user wants to analyze the
monitoring in this section, since it should involve the actual durations of those two groups of activities using
above two document-related functions. the ANOVA analysis [25].
The monitoring template for the above example
4.1. Monitoring template situation is provided below.

We provide form document monitoring with a mon- T1 ˆ ‰fo1 ; o2 ; o3 ; o4 g; fm1 ; m2 ; m3 ; m4 ; m5 gŠ


itoring template. A monitoring template is actually a
o1 ˆ …document d1 : creation-t…p1 " D
P †
monitoring pattern of a certain user. A monitoring
template speci®es objects to monitor and conditions > ``4 April 2000'' †
to con®ne the boundary of the objects to be monitored. o2 ˆ …activity a1 : worker…d1   # W
A p1  † > ``Hur''†
The monitoring template is de®ned as follows.
o3 ˆ …activity a2 : worker…d1   # W
A p1  † ˆ ``Bae''†
Definition 4-1 (Monitoring template). Monitoring o4 ˆ …activity a3 : …d1 :† # W
A  :†
Template T consists of object elements ou and mon-
itoring elements mv , that is, T ˆ ‰fo1 ; o2 ; . . . ; ou g; m1 ˆ …name; user†…d1 †
fm1 ; m2 ; . . . ; mv gŠ. An object element ou is a set of m2 ˆ duration…a3 †
objects that are homogeneous in that they all meet
certain conditions. A monitoring element mv is a set of m3 ˆ …name; start t; urgency; duration†…a1 †
monitoring attributes whose values are returned by
m4 ˆ …name; start t; urgency; duration†…a2 †
applying some functions to the object element.
m5 ˆ anova…duration…a1 †; duration…a2 ††
 ou ˆ …hobject typei hobject aliasi: hcondition(s)i),
where object type can be a process, activity, docu-
The object elements, o1, o2, o3, o4, specify the
ment, workunit, or field, and object alias is a name
objects required for the monitoring, and the monitor-
given to the set of homogeneous objects that meet
ing elements, m1, m2, m3, m4, m5, denote the attributes
condition(s). The condition(s) restricts the object
to monitor and the analysis to be carried out. In the
set.
template, variable d1 in o1, which is used to refer to a
 mv ˆ hfunction…s†i (h<object (alias)i), where func-
document, appears again in m1. The variable, d1 in o1,
tion returns some attribute values of objects. The
declares the objects, and d1 in m1 indicates that it
functions that can be used in a template are
simply uses the object. This applies to the use of all the
explained in the next section. The arguments of
other variables. The object aliases in the monitoring
the function can be a set of objects or an alias.
elements are used to make it easy to transform directly
In specifying ou and m v, we use the document- a template into database query that is described in a
process association in Section 3 and monitoring func- later section.
146 H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154

Table 1
Basic monitoring functions

Object type Function Meaning Return value type Example

Folder, document, and workunit creation-t Creation time Date creation-t(d)


modified-t Modified time Date modified-t(dw)
lock-state Lock-state {Locked, unlocked} lock-state(dw)
user User String user(dw)
length Length Integer length(d)
name Name String name(d)
Field value Field value Integer, float, date, string value(dwf)
length Field length Integer length(dwf)
Process and activity (: activity only) state State {Not ready, ready, state(p)
doing, done, failed}
duration Duration Float duration(p)
start-t Start time Date start-t(pa)
finish-t Finish time Date finish-t(pa)
urgency Urgency Boolean urgency(pa)
worker User String worker(pa)
priority Priority Integer priority(pa)

4.2. Monitoring functions For example, the basic monitoring function, mod-
i®ed-t(dw), returns all the dates and times when the
A monitoring template uses some functions. There workunit, dw, is modi®ed. The derived monitoring
are two types of monitoring functions: basic monitor- function, max(modi®ed-t(d.)), returns the latest one
ing functions and analytic monitoring functions. A among all the results of modi®ed-t(d.).
basic monitoring function is one that simply returns
attribute values. An analytic monitoring function is 4.3. Monitoring query
applied to the results of basic monitoring function and
derives a new value from them. Some basic and Once a monitoring template is de®ned, it needs
analytic monitoring functions are listed in Table 1 to be transformed into a database query language
and Table 2, respectively. Notice that the functions are that retrieves relevant records from a work¯ow data-
also based on the workunit model in Section 3. base.

Table 2
Analytic monitoring functions

Function Example Description



count count(urgency(p. )) The number of urgent activities in process p
max max(value(.wf)) The maximum value of field wf in all the document instances
min min(value(d..f)) The minimum value of field f in all the workunits of document d
sum sum(value(.wf)) The sum of values of field wf of all the document instances
avg avg(duration(p.)) The average duration of all the activities in process p
var var(duration(p.)) The variance of duration of all the activities in process p
sd sd(duration(p.)) The standard deviation of duration of all the activities in process p
anova anova(duration(p1.), The result of ANOVA analysis on the duration of the activities in
duration(p2.), duration(p3.)) processes p1, p2, and p3
reg reg(dur(p),val(dwf)) The result of regression with the duration of process p and the
values of field dwf
cor cor(urgency(pa1), urgency(pa2)) The correlation between urgencies of pa1 and pa2
H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154 147

A monitoring element using basic monitoring func- For some analytic functions, like count, max, min,
tions is transformed into an SQL language. Object etc., we can simply apply corresponding database
elements in a monitoring template determine database operations to the query results of basic monitoring
tables and conditions. That is, the elements contain the functions. For the other analytic functions, like var-
information needed to specify FROM and WHERE iance, ANOVA analysis, and regression, we can call a
clauses of a query statement. A special care is exer- relevant function that a statistical package provides.
cised in handling the document-process association
described in Section 3.2. The association is always
transformed into a join operation in a WHERE clause. 5. XML representation in prototype
The elements also determine the ®elds to retrieve, and implementation
thus are used in a SELECT clause. The algorithm
developed for this transformation is available in [7]. The proposed workunit model in Section 3 is
For example, the monitoring element, m1, in Sec- indeed enabled by XML and its related technologies.
tion 4.1 can be transformed into an SQL query state- In this section, the use of XML is described with a
ment. The monitoring element is de®ned based on prototype implementation of our work¯ow manage-
the monitoring object o1. Notice that the object set ment system.
is de®ned on process p1, which is associated with
documents, and the document is con®ned to those 5.1. System architecture
that are created after 4 April 2000. It is straightfor-
ward to identify these three conditions from the First of all, consider the overall architecture of our
monitoring element speci®cation, and thus the algo- system illustrated in Fig. 4. The system is composed of
rithm transforms them to those three conditions in the ®ve main components: process designer, form
WHERE clause. The resulting query statement is designer, work¯ow engine, work¯ow database, and
as follows. client applications. The ®rst two, called build-time
SELECT d.name, d.user modules, are implemented in Microsoft Visual C‡‡.
FROM document d, process p The others, run-time modules, are in Java servlet and
WHERE p.process_idˆ`p1' JSP [5], so that our system becomes platform-inde-
AND d.process_id ˆ p.process_id pendent in the Web environment.
AND d.create_t<TO_DATE(`4 April 2000') Our system architecture is basically the as with that
of WfMC's WRM. Components of WFMS are often
Consider a more complex example m2 that involves classi®ed into two types: build-time and run-time
sub-queries. The transformation of such a query is functions. A build-time function is mainly concerned
basically the same with the above simple example, with de®ning a process model, whereas a run-time
but the algorithm generates the sub-query since the function with executing, controlling, and monitoring
object element, o4, uses another object element o1. of the process de®ned. Our architecture differs from
Our algorithm outputs the following query statement WRM in the functions related to form document
for m2. processing.
SELECT a.duration Our system has two build-time modules: a process
FROM activity a, workunit w designer and a form designer. The process designer
WHERE a.activity_id ˆ w.activity_id module, shown at the right hand side of Fig. 5, is used
AND w.workunit_id ˆ (SELECT ww.workunit_id to generate a process model. In the ®gure, a typical
FROM workunit ww) process model is presented. The use of the process
WHERE ww.document_id ˆ (SELECT d.docu- designer is almost the same as that of the existing
ment_id) WFMS's. On the other hand, the form designer mod-
FROM document d, process p ule, which does not appear in the WRM, is used to
WHERE d.process_id ˆ p.process_id create XML form documents. The form designer is
AND p.process_idˆ`p1' shown at the left hand side of Fig. 5. It currently shows
AND d.create_t < TO_DATE(`4 April 2000')) a form document to be processed in the process
148 H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154

Fig. 4. System architecture.

created by the process designer. Notice that the form ciated with the activities in the process model. In the
document is partitioned into several workunits, and ®gure, an arrow indicates such an association.
their relationships are presented in a tree structure. Process, form document, and their association mod-
Once a process model and a form document are both els are stored in a work¯ow database. Based on these
prepared, the workunits in the document can be asso- models, run-time functions of our WFMS can work

Fig. 5. Form designer and process designer.


H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154 149

with an actual business process. At the core of the run- `PRODUCTSTATE' workunit is identi®ed as
time functions is the work¯ow engine. The engine `WS_P001_01', which contains three ®elds,
communicates with work¯ow client, work¯ow mon- `ORDERQTY', `PRODUCTIONQTY', and `INVEN-
itoring, and invoked applications during executing the TORYQTY'.
process. This is implemented on the basis of the XML An XML document contains data only. In order to
representation and document-process association present the contents, we should have styling formats.
model, as is expressed in the subsequent sections. There are several styling languages, such as XSL and
CSS. We use XSL, which speci®es how form data are
5.2. XML representation of form document viewed and whether the data are modi®able or read-
only. The style formatting classes in Fig. 6 show
In our system, a form document is represented in the styling components, such as label, text input ®eld,
XML format. A simple example XML document is and so on. The modi®ability is speci®ed as an
shown in Fig. 6. This ®gure also shows a class diagram attribute of the component class. Such speci®cations
designed to implement our workunit model. The class on document styling appear in an XSL stylesheet.
diagram describes the relationships of XML document Once an XML document and a corresponding XSL
objects. Every class has its corresponding objects in an stylesheet are prepared, the document can be viewed
XML document. (The folder class represents a set of directly and operated on a Web browser. Our system
documents that are dealt with in a process model.) The requires no additional module to handle the form
document class is mapped to the entire XML docu- document.
ment, and a workunit and ®eld is mapped to a certain Example styles of XML form document are pre-
part of the document. The example document has three sented in Fig. 7. The two styles are generated from one
workunits, and each workunit has three ®elds. A XML form document by applying different XSL
workunit is speci®ed using an XML attribute, and a stylesheets. Consider the two workunits indicated
®eld is enclosed in an XML tag. For example, the ®rst in the ®gure. Suppose that the document-process

Fig. 6. Class diagram for (a) workunit model and (b) XML representation of workunits.
150 H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154

Fig. 7. Different presentation of one form document: (a) form document A and (b) form document B.

association model contains a condition that `Workunit 5.3. Monitoring template with invoked application
1' and `Workunit 2' be processed by `activity 1' and
`activity 2', respectively. When our work¯ow engine Another use of monitoring template is found with
orders a client user to perform the document operation communication between work¯ow engine and
for `activity 1', it checks out the form document A invoked applications. Our workunit model and
shown in Fig. 7a. Notice that only the workunit XML-based approach provide a promising way for
associated with the activity is enabled, but the other the interaction. We adopt simple object access proto-
disabled. The form document B in Fig. 7b is similarly col (SOAP) [36], which is an XML-based standard
created for `activity 2'. However, in this form, the protocol for exchanging messages among heteroge-
workunit for `activity 1'is disabled. Our system can neous systems.
control this modi®ability by applying different XSL During run-time, the work¯ow system generates an
stylesheets to one XML document. input SOAP message to an invoked application. The
Regarding with a monitoring application, the mon- input message includes two types of information:
itoring template explained in Section 4 can be used. A input data and task instruction. First, a monitoring
template, once de®ned, is transformed into a database template is de®ned for the data that should be input to
query. Consider the monitoring template, T1, in Sec- an invoked application. Then, a database query for the
tion 4. The query results are presented in Fig. 8. Here, template is built and executed to obtain the input data.
XML is used once again, and thus the presentation can The task instruction is to let the application know the
be readily altered re¯ecting monitoring users' roles task that the application should perform with the input
and preferences. data. The task is identi®ed from the activity descrip-
H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154 151

Fig. 8. An example use of monitoring template.

tion in a process model. The task instruction and the object element presents all the data ®elds of workunit
query results are transformed into an XML message, w1 in document d1 that are processed by activities of
like the one in Fig. 9. process p1. The required input data, name, value, and
For example, consider an object element and a user, are retrieved and transformed to the SOAP
monitoring element as follows. message in Fig. 9. The invoked application is sup-
posed to calculate an optimal order quantity based on
o5 ˆ …field f1 : …p1:  " W
A d1  w1 †:† the values in the speci®ed ®elds. This task appears in
m6 ˆ …name; value; user†…f1 † the task instruction tag, that is, CalculateOrderQuan-
tity. The name of the tag can be automatically retrieved
The work¯ow system can specify the input data to an from an activity description in a process model de®ned
invoked application with the monitoring element. The at build-time.
152 H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154

Fig. 9. An example SOAP message sent to an invoked application.

The output that the application program produces is process. The use of XML can partition a form docu-
returned to the work¯ow engine. Since this return ment into several meaningful parts. This document
message is also in an XML format, the engine can modularization provides a basis for sophisticated con-
interpret it and an appropriate workunit can be ®lled in trol of document contents during a process execution.
with the message contents, if necessary. This mechan- We have developed a formalized model to associate
ism can also be used for the analytic functions in objects in form documents with a process model. This
Section 4.2. model can support various document-related functions
The XML-based approach can be applied to agent in WFMS. A set of document objects or their proper-
communication in agent-based work¯ow systems ties can be easily obtained through database queries,
[15]. In addition, if other work¯ow systems support so that our approach facilitates document-related
the SOAP protocol, they can be treated as invoked activities. It also makes it easy to customize the
applications and thus it can be interfaced with our monitoring environment for individual users. Another
system. This provides a method of interoperation advantage is that a work¯ow engine can interact with
among heterogeneous work¯ow systems. an invoked application based on document contents. A
prototype system has been implemented to demon-
strate these advantages.
6. Conclusions and further research issues An interesting further research issue is to augment
WFMS functions with synchronous collaboration.
The main purpose of our research is to develop an WFMS is a typical example of asynchronous colla-
effective method of handling form documents con- boration system, like groupware and electronic docu-
sidering the semantics of work¯ow processes. Since ment management systems. For the synchronous
traditional WFMSs supporting a simple delivery of collaboration, however, it requires a ®ne control
form documents cannot handle a part of the document mechanism to avoid inconsistency among document
elements, it is dif®cult to make any meaningful action contents, maintain dynamic changes in the documents,
based on the contents. To solve this problem, an and handle exceptions [12,17]. Advanced transaction
XML-based document-process association model is models [3] and technologies in computer supported
proposed. Our approach supports the semantic rela- cooperative work [28] may be able to provide a
tionships between a form document and a work¯ow potential solution to these issues.
H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154 153

Acknowledgements automation infrastructure, Distributed and Parallel Databases


3 (2) (1995) 119±154.
[12] C. Hagen, G. Alonso, Exception handling in work¯ow
This research was supported by the program of management systems, IEEE Transactions on Software
National Research Laboratory granted from Korea Engineering 26 (10) (2000) 943±958.
Institute Science and Technology Evaluation and [13] Handysoft, Collaborative Content Management, White Paper,
Planning, and carried out at the Research Institute http://www.handysoft.com, 2000.
of Engineering Science at Seoul National University. [14] D. Hollingsworth, Work¯ow management coalition speci®ca-
tion: the work¯ow reference model, WfMC speci®cation,
The authors would like to thank the anonymous 1994.
referees for their constructive comments which have [15] A. Inamoto, Agent oriented system approach for work¯ow
greatly improved the quality of the paper. automation, International Journal Production Economics 60/
61 (1999) 327±335.
[16] ISO, Information Processing-text and Of®ce Systems,
Standard Generalized Markup Languages, ISO standard,
References ISO 8879, 1986.
[17] D.K.W. Chiu, Q. Li, K. Karlapalem, A Meta Modeling
[1] S. Abiteboul, On Views and XML, in: Proceedings of the 18th Approach to Work¯ow Management Systems Supporting
ACM SIGMOD±SIGACT±SIGART Symposium on Principles Exception Handling, Information Systems 24 (2) (1999) 159±
of Database Systems, Philadelphia, PA, USA, 1999, pp. 1±9. 184.
[2] G. Alonso, H.J. Schek, Research Issues in Large Work¯ow [18] Y. Kim, S. Kang, D. Kim, J. Bae, K. Ju, WW-Flow: Web-
Management Systems, in: Proceedings of the NSF Workshop based work¯ow management with runtime encapsulation,
on Work¯ow and Process Automation in Information IEEE Internet Computing 4 (3) (2000) 55±64.
Systems, University of Georgia, GA, USA, 1996, pp. 126± [19] N. Krishnakumar, A. Sheth, Managing heterogeneous multi-
132. system tasks to support enterprise-wide operations, Distrib-
[3] G. Alonso, D. Agrawal, A.E. Abbadi, M. Kamath, R. uted and Parallel Databases 3 (2) (1995) 155±186.
GuÈnthoÈr, C. Mohan, Advanced Transaction Models in Work- [20] A. Kristensen, Formsheets and the XML Forms Language,
¯ow Contexts, in: Proceedings of the 12th International Computer Networks 31 (1999) 1189±1201.
Conference on Data Engineering, New Orleans, LA, USA, [21] P. Lawrence, 1997, Work¯ow Handbook 1997, Wiley, USA,
1996, pp. 574±581. New York.
[4] I.B. Arpinar, U. Halici, S. Arpinar, A. DogÏac, Formalization [22] H. Maruyama, K. Tamura, N. Uramoto, XML and Java
of Work¯ows and Correctness Issues in the Presence of Developing Web Application, Addison-Wesley, MA, 1999.
Concurrency, Distributed and Parallel Database 7 (1999) 199± [23] S. McCready, There is more than one kind of Work¯ow
248. Software, Computerworld, 2 November 1992.
[5] D. Ayers, H. Bergsten, M. Bogovich, J. Diamond, M. Fettis, [24] J.A. Miller, A.P. Sheth, K.J. Kochut, X. Wang, CORBA-based
M. Fleury, P. Houle, P. Mohseni, A. Patzer, R. Phillips, S. Li, Run-Time Architectures for Work¯ow Management Systems,
K. Vedati, M. Wilcox, S. Zeiger, Professional Java Server Journal of Database Management 7 (1) (1996) 16±27.
Programming, Wrox, Birmingham, UK, 2000. [25] J. Neter, W. Wasserman, M.H. Kutner, Applied Linear
[6] H. Bae, H. Yoon, Y. Kim, S. Kang, XML-based Interfaces for Statistical Models, 3rd Edition, IRWIN, IL, 1990.
Work¯ow Management Systems, in: Proceedings of [26] G. Salvato, I.J. Leontaritis, P. Winstone, M. Zelm, D. Rivers-
ICPR2000 Conference, Bangkok, Thailand, 2000. Moore, Presentation and Exchange of Business Models with
[7] H. Bae, Y. Kim, A Transformation algorithm of work¯ow CIMOSA_XML, Computers in Industry 40 (1999) 125±139.
monitoring data into SQL Languages, SNU-Technical Paper- [27] Pic. Staffware, Staffware 2000 Functionality, White Paper,
IS-2001-05, Seoul National University, 2001. http://www.staffware.com, 1999.
[8] F. Boumphrey, O. Drenzo, J. Duckett, J. Graf, D. Hollande, P. [28] R. Walter, S. Jean, V. Gerd, W. Michael, CSCW Tools:
Houle, T. Jenkins, P. Jones, A. Kingsley-Hughes, K. concepts and architectures, Computer 27 (1994) 28±36.
Kingsley-Hughes, C. McQueen, S. Mohr, Professional XML [29] WfMC, Interoperability Internet e-mail MIME Binding,
Applications, Wrox, Birmingham, UK, 1999. WfMC Standards, WFMC-TC-1018, http://www.wfmc.org,
[9] F.P. Colye, Legacy Integration-Changing Perspectives, IEEE 2000.
Software 17 (2) (2000) 37±41. [30] WfMC, Interoperability Wf-XML Binding, WfMC Stan-
[10] S. Das, K. Kochut, J. Miller, A. Sheth, D. Worah, ORBWork: dards, WFMC-TC-1023, http://www.wfmc.org, 2000.
a Reliable Distributed CORBA-based Work¯ow Enactment [31] WfMC, Interface1: Process De®nition Interchange Process
System for METEOR_2, Technical Report no. UGA-CS-TR- Model, WfMC Standards, WfMC-TC-1016-P, http://
97-001, Department of Computer Science, University of www.wfmc.org, 1999.
Georgia, GA, USA, 1997. [32] WfMC, Work¯ow Management Application Programming
[11] D. Georgakopoulos, M. Hornick, A. Sheth, An overview of Interface (Interfaces 2 & 3) Speci®cation, WfMC Standards,
work¯ow management: from process modeling to work¯ow WfMC-TC-1009, http://www.wfmc.org, 1998.
154 H. Bae, Y. Kim / Computers in Industry 47 (2002) 139±154

[33] WfMC, Work¯ow Management Coalition Audit Data Speci- databases, Web-based application development, work¯ow manage-
®cation, WfMC Standards, WfMC-TC-1015, http:// ment system, and document version management.
www.wfmc.org, 1998.
[34] World Wide Web Consortium (W3C), Extensible Markup
Language (XML) 1.0, W3C Recommendation, http:// Yeongho Kim is an associate professor in
www.w3c.org/TR/REC-xml.html, 1998. the Department of Industrial Engineering
[35] World Wide Web Consortium (W3C), Extensible Stylesheet at The Seoul National University. He
Language (XSL) 1.0, W3C Candidate Recommendation, received his PhD degree from The North
http://www.w3c.org/TR/xsl/, 2000. Carolina State University and BS and MS
[36] World Wide Web Consortium (W3C), Simple Object Access degrees from The Seoul National Univer-
Protocol (SOAP) 1.1, W3C Note, http://www.w3.org/TR/ sity. He is interested in the areas of Inter-
2000/NOTE-SOAP-20000508, 2000. net applications, concurrent engineering
and collaborative design, engineering
Hyerim Bae is a PhD candidate in databases, and AI applications in manu-
department of industrial engineering at facturing. His research topics cover a
Seoul National University. He received wide variety of areas including work¯ow management systems,
his BS and MS degrees in industrial product data management, and computer supported collaborative
engineering from The Seoul National work on the Internet. He is a member of the Editorial Board of
University in 1996 and 1998, respec- International Journal of Industrial EngineeringÐApplications and
tively. His research interests include Practice, International Journal of Management Systems, and Inter-
information system design, engineering national Journal of CAD/CAM.

Das könnte Ihnen auch gefallen