
CPNs are one of the enhancements of Petri nets,
and formally defined as follows (Jensen, 1997).
CPN=(S, P, T, A, N, C, G, E, I) ,
where
S : a finite set of non-empty types, called color
sets,
P : a finite set of places,
T : a finite set of transitions,
A : finite set of arcs P ∩T = P ∩A = T ∩A = ∅,
N : node function A → P × T ∪ T × P ,
C : a color function P → S,
G : a guard function T → expression,
E : an arc expression function A → expression
and
I : an initialization function : P → closed ex-
pression.
In order to transform a process in RA
xP
into a
CPN model, we introduce the following basic rules
(Shinkawa and Matsumoto, 2000). Let the original
process be
P
i
(x) = {hA
(i)
j1
(x), . . . ,
A
(i)
jm
ij
(x), A
(i)
j
(x),
A
(i)
j1
(x), . . . , A
(i)
jn
ij
(x)i}
and let the resultant CPN model be
CPN
i
(x) =
¡
S
i
(x), P l
i
(x), T
i
(x), A
i
(x),
N
i
(x), C
i
(x), G
i
(x), E
i
(x), I
i
(x)
¢
where x is a decision level.
1. T (x) is a set of the activities that occur in the P
i
(x)
as A,
A, or A.
2. P l
i
(x) is a set of the organizations that are included
in A, A, or A in the form of
A
i
(x) = hF
j
(x), V
k
(x)i,
where V
k
(x) represents an organization.
3. A tuple hV
(i)
jk
(x), A
(i)
j
(x)i, is a member of N(x),
iff A
(i)
jk
(x) = h
F
(i)
jk
(x),
V
(i)
jk
(x)i is one of the pre-
ceding activities of A
(i)
j
(x).
4. A tuple hA
(i)
j
(x), V
(i)
jk
(x)i, is a member of N(x),
iff A
(i)
jk
(x) = hF
(i)
jk
(x), V
(i)
jk
(x)i is one of the suc-
ceeding activities of A
(i)
j
(x).
5. The union of the above two sets of tuples,
N(x) = {hV
(i)
jk
, A
(i)
j
(x)i}
S
{hA
(i)
j
(x), V
(i)
jk
i}
determines the structure of the CPN model.
6. S
i
(x) = U/RA
xR
and P l
i
(x) = V/RA
xO
, where
U/RA
xR
means all the classes made by the equiv-
alence relations included in RA
xR
.
7. A
i
(x) is a set of arc names, and we can give arbi-
trary names to the arcs defined by N
i
(x).
8. C
i
(x) represents the associated colors to each
place, and it means the required resource types for
the transition that receive the tokens from the place.
This association is imbedded in each
A
i
(x) = hF
j
(x), V
j
(x)i and
F
j
(x) : U
j1
(x) × · · · × U
jm
j
(x) −→ U
j
(x).
¡
U
jk
(x) ∈ C
i
(x)
¢
9. E(x), an arc expression function represents the
function that each activity performs, therefore it
can be derived from A
i
(x) = hF
j
(x), V
k
(x)i.
10. G
i
(x), a guard function, and I
i
(x), an initialization
function, are derived from the constraint statements
C.
3.3 Model Creation from a
Information System View
CPN models are too abstract to be implemented into
enterprise information systems. In addition, most
software developers, e.g., programmers, system de-
signers, or systems engineers, seem not to be familiar
with CPN. Therefore, those models should be trans-
formed into the models written in more appropriate
methods for software development. UML (Unified
Modeling Language) is one of the most popular tools
to design software and systems.
Although many kinds of diagrams are provided by
UML, the most essential ones for enterprise modeling
are class diagram, activity diagram, and sequence di-
agram. Some other diagrams, such as component dia-
grams, deployment diagrams, or state chart diagrams,
are to be created after the enterprise modeling, while
use case diagrams are considered to be embedded in
CPN models.
The roles of places, transitions, arc expression
functions, and guard functions discussed in the pre-
vious section suggests the following transformation
rules from a CPN model to UML models.
1. A class is an entity that provides some functional-
ity. This role is taken by a pair of an input place
and a transition in our CPN models. Therefore,
each pair of an input place and a transition com-
pose a class, where arc expression functions are re-
garded as methods. The attributes in the class are
defined by colors associated to the tokens that make
the transition fire.
2. The role of an activity in UML is approximately the
same as that of a transition in CPN models. Since
activity diagrams show the execution sequences of
those activities, they are formed by deleting the
places from the CPN models, and connecting the
transitions directly.
3. The role of a sequence diagram is to describe the
message passing between objects. The places in
ICEIS 2004 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
666