logical expression, i.e. receiving a set of formu-
las of linear time temporal logic of class K.
Let us introduce all formal concepts necessary for the
application of the above steps to illustrate the entire
procedure in a more formal way.
The temporal logic alphabet consists of the fol-
lowing symbols: a countable set of atomic formulas
p, q, r, etc., classical logic symbols like true, false, ¬,
∨, ∧, ⇒, ⇔ and two linear temporal logic operators
2 and 3. (One can also introduce other symbols, e.g.
parenthesis, which are omitted here to simplify the
definition.) For this alphabet, syntax rules for build-
ing well-formed logic formulas can be defined. These
rules are based on BNF notation. The definition of
formula of linear time temporal logic LTL includes
the following steps:
• every atomic formula p, q, r, etc. is a formula,
• if p and q are formulas, then ¬p, p ∨ q, p ∧ q,
p ⇒ q, p ⇔ q are formulas, too,
• if p and q are formulas, then 2p, 3p, are formu-
las, too.
Examples of valid, well-formed and typical formulas,
restricted to the logic K, are the following formulas:
p ⇒ 3q and 2¬(p∧ (q∨ r)).
A set of LTL formulas describe temporal prop-
erties of individual design patterns of every UML
activity diagram. This aspect is important as the
approach presented here is based on predefined de-
sign patterns. An elementary set of formulas over
atomic formulas a
i
, where i = 1, . . . , n, which is de-
noted pat(a
i
), is a set of temporal logic formulas
f
1
, ..., f
m
such that all formulas are well-formed (and
restricted to the logic K). For example, an elemen-
tary set pat(a, b, c) = {a ⇒ 3b, 2¬(b ∧ ¬c)} is a
two-element set of LTL formulas, created over three
atomic formulas.
Suppose that there are predefined sets of formulas
for every design pattern of the UML activity work-
flow from Fig. 2. The proposed temporal logic for-
mulas should describe both safety and liveness prop-
erties of each pattern. In this way, Sequence(a, b) =
{a ⇒ 3b, 2¬(a ∧ b)} describes properties of the Se-
quence pattern. Set Concurrency(a, b, c) = {a ⇒
3b∧ 3c, 2¬(a∧ (b∨c))} describes the Concurrency
pattern and Branching(a, b, c) = {a ⇒ (3b ∧ ¬3c) ∨
(¬3b∧ 3c), 2¬(b∧ c)} the Branching pattern.
Let us introduce some aliases for all patterns
(Fig. 2): Seq as Sequence, Concur as Concurrency,
Branch as Branching and Loop as Loop−while.
Every activity diagram workflow is designed us-
ing only predefined design patterns. Every design
pattern has a predefined and countable set of linear
temporal logic formulas. The workflow model can
be quite complex and it may contain nesting patterns.
This is one important reason why it is needed to define
a symbolic notation which represents any potentially
complex structure of the activity workflow. Logical
expression W
L
is a structure created using the follow-
ing rules:
• every elementary set pat(a
i
), where i = 1, . . . , n
and a
i
is an atomic formula, is a logical expres-
sion,
• every pat(A
i
), where i = 1, . . . , n and where A
i
is
either
– a sequence of atomic formulas a
j
, where j =
1, . . . , m, or
– a set pat(a
j
), where j = 1, . . . , m and a
j
is an
atomic formula, or
– a logical expression pat(A
j
), where j =
1, . . . , m
is also a logical expression.
The above defined symbolic notation is equivalent to
a graphical one which is usually the most convenient
for users when modeling a system. However, another
rule describing a special case of a sequence of se-
quences is introduced:
• if pat
1
() and pat
2
() are logical expressions, where
the empty parentheses means any arguments, then
their concatenation pat
1
() · pat
2
(), also noted
pat
1
()pat
2
(), is also a logical expression.
This rule is redundant but the concatenation of se-
quences seems more convenient and in addition it
provides concatenation of sequences as a sequence
of three arguments. Thus, another predefined set
SeqSeq(a, b, c) = {a ⇒ 3b, b ⇒ 3c, 2¬((a ∧ b) ∨
(b∧ c) ∨ (a∧ c))} is introduced. It describes the con-
catenation properties of sequences of two patterns.
Any logical expression represents an arbitrary
complex and nested workflow model for an activ-
ity diagram which was modeled using predefined de-
sign patterns. The logical expression allows repre-
sentation of sets of temporal logic formulas for ev-
ery design pattern. Thus, the last step is to define a
logical specification which is generated from a log-
ical expression. Logical specification L consists of
all formulas derived from a logical expression, i.e.
L(W
L
) = { f
i
: i > 0}, where f
i
is a temporal logic for-
mula. Generating logical specifications, which con-
stitutes a set of formulas, is not a simple summation
of formula collections resulting from a logical expres-
sion. Thus, the sketch of the generation algorithm is
presented below.
The generation process of a logical specification L
has two inputs. The first one is a logical expression
W
L
which is built for the activity workflow model.
ProposaltoImprovetheRequirementsProcessthroughFormalVerificationusingDeductiveApproach
111