(1, 1): getAuthorAccount, getReviewerAccount,
submitFinalPaper, enterPaymentInfo.
(1, *): submitPaper, reviewPapers.
(*, 1): assignPapers, reassignPapers, evaluate-
Papers, defineProgram.
4 MODELING BUSINESS
PROCESSES WITH TK-NETS
The model of ConferenceBP is shown in Figure 2.
The notation proposed in this paper, i.e. tk-nets, is
illustrated in this section.
Process ConferenceBP is a case-based process
describing the life cycle of a conference: this is
indicated with annotation “manages Conference” in
Figure 2, where Conference is the “managed” class,
i.e. the class of the business objects (called managed
objects) managed by the process instances.
There are two kinds of transitions (or process
steps) in tk-nets: those related to tasks (referred to as
task transitions) are represented as rectangles with
rounded corners, while regular rectangles represent
procedures that can automatically be performed by
the system. Each transition is mapped to a process
action describing its detailed behavior. An informal
definition of the process actions associated with
ConferenceBP is presented in Table 1. The role of
process actions will be discussed in subsection 4.1.
A task transition indicates the task involved, the
interaction pattern and the role of the performer: in
fact, the name of the task is the name of the task
transition, the interaction pattern is indicated by the
stereotype (e.g. <<1, *>>), and the role required is
written between parentheses. The action of a task
transition can give rise to a number of similar tasks;
in that case, for documentation purposes, the task
transition (e.g. “reviewPapers”) is shown shaded.
There are two kinds of places in tk-nets, i.e.
typed places and simple ones. Simple places are
depicted as small grey circles, such as “c1” and
“c2”; they only have a name. Typed places are
depicted as larger circles and have a label consisting
of the place name, followed by the place type.
The process elements, places and transitions, are
formal items, in the sense that they are a kind of
templates for the actual items belonging to the
process instances. In fact, a process instance is made
up of actual places, each actual place referring to the
corresponding formal place. Actual places contain
tokens: typed places contain typed tokens, while
simple ones contain simple (or empty) tokens. A
typed token is associated with a business object; the
class of the business object coincides with the type
of the corresponding formal place. A typed token
represents a state of the related business object; for
example, a token in place “p1” denotes a paper that
has just been submitted, in the context of a certain
instance of ConferenceBP.
The information flow and the control flow may
overlap at typed places, and, in order to explain what
it means, the notion of triggers is introduced.
From a logical point of view, a trigger is issued
by an actual place in three modes, as follows. If the
place is a fully triggering (or “ft”) place, it issues a
trigger as soon as it receives a token; if it is a non-
triggering (or “nt”) place, it never issues triggers; if
it is a partially triggering (or “pt”) place, it issues a
trigger only when an input transition ends. The “pt”
behavior is based on a special event, i.e. the ending
of an input (with respect to the place) transition. A
procedure ends when the corresponding action has
been performed, while a task transition ends when
all the tasks it has activated are completed. This
way, a task transition, besides activating a number of
tasks, can synchronize their completion.
The purpose of triggers is as follows. When a
trigger is issued by an actual place, say p, if the
corresponding formal place has just one outgoing
transition, the process manager (PM) tries to
perform that transition by calling the associated
process action. A process action incorporates a
guard, which can accept or reject the trigger on the
basis of the tokens available in the actual input
places, as will be discussed in subsection 4.1. In case
the formal place has two or more outgoing
transitions, PM call the corresponding actions in
sequence, on the basis of their priorities, until the
guard of one of them is successful. In Figure 2, the
priority is the same for all the transitions.
Simple places are always “ft” places: in fact,
they support the control flow only. The triggering
behavior of typed places is indicated by acronym
“ft”, “nt” or “pt” depicted in the circle. A graphical
alternative is adopted in Figure 2: the white typed
places denote “ft” places, and the grey typed places
denote “pt” places; there are no “nt” places.
The information flow of a transition is indicated
by its surrounding typed places. In order to make the
model more expressive, the input arcs and the output
ones of task transitions are shown thin or thick. A
thin input (with respect to a transition) arc means
that the task will receive a single token from the
corresponding input place. Likewise, a thin output
arc means that the task will deliver a single token to
the corresponding output place. In case of thick arcs,
the task will receive or deliver a number of tokens,
instead of a single one. For example, the outgoing
arc of “submitPaper” is thick, as an author can
submit several papers.
ICSOFT 2007 - International Conference on Software and Data Technologies
82