Verifying Aspect-Oriented Activity Diagrams Against
Crosscutting Properties with Petri Net Analyzer
Zhanqi Cui, Linzhang Wang, Xi Liu, Lei Bu, Jianhua Zhao, Xuandong Li
State Key Laboratory of Novel Software Technology
Department of Computer Science and Technology
Nanjing University, Nanjing, 210046, China
zqcui@seg.nju.edu.cn, lzwang@nju.edu.cn, liux@seg.nju.edu.cn, {bulei, zhaojh, lxd}@nju.edu.cn
Abstract—Aspect-oriented model-driven approaches are
proposed to model and integrate crosscutting concerns at
design phase. However, potential faults that violate desired
properties of the software system might still be introduced
during the process. Verification technique is well-known for its
ability to assure the correctness of models and uncover design
problems before implementation. This paper presents a
framework to verify aspect-oriented UML activity diagrams
based on Petri net verification techniques. For verification
purpose, we transform the integrated activity diagrams into
Petri nets. Then, the Petri nets are checked against formalized
crosscutting requirements to detect potential faults.
Furthermore, we implement a tool named Jasmine-AOV to
support the verification process. Case studies are conducted to
evaluate the effectiveness of our approach.
Keywords: aspect-oriented modeling; verification; model
checking; activity diagram; Petri net
I. INTRODUCTION
Dealing with crosscutting concerns has been a critical
problem during software development life cycles. In our
previous work [1], we proposed an aspect-oriented model-
driven approach based on UML activity diagrams. The
approach shifts aspect-oriented techniques [2] from a code-
centric to a model-centric, which is employed to handle the
crosscutting concerns during design phases. Thus, it
alleviates software complexity in a more abstract level. The
primary functional concerns are modeled with activity
diagrams, and crosscutting concerns are modeled with
aspectual activity diagrams, respectively. Then the overall
system design model, which is also an activity diagram, is
integrated by weaving aspect models into primary models.
Design models are widely used as a basis of subsequent
implementation [3][4] and testing [5][6][7] processes. It is
costly if defects in design models are discovered at later
implementation and testing stages. Aspect-oriented
modeling techniques cannot guarantee the correctness of
produced design models. For instance, wrong weaving
sequences may cause the integrated models violate system
crosscutting requirements. Therefore, assuring the
correctness of the aspect-oriented design models is vitally
important. So far, the applicable approach is manual review.
It is time consuming and dependent on reviewers’ expertise.
However, existing automatic verification tools cannot deal
with UML diagrams directly.
As an ongoing work, in this paper, in order to ensure
crosscutting concerns are correctly modeled, we propose a
rigorous approach to automatically verify aspect-oriented
models (activity diagrams) by using Petri net based
verification techniques. Firstly, the integrated activity
diagram is translated into a Petri net. Then, crosscutting
concerns in system requirements are refined to properties in
the form of CTL formulas. Finally, the Petri net is verified
against the formalized properties.
The rest of this paper is organized as follows. Section 2
presents backgrounds of activity diagrams, Petri nets, and a
running example. Section 3 discusses the verification of
aspect-oriented activity diagrams. Section 4 presents 2 case
studies and evaluations of our approach. Section 5 reviews
the related work. Finally, section 6 concludes the paper and
discusses future work.
II. B
ACKGROUND
In this section, we briefly introduce UML activity
diagrams and Petri nets, and a running example that will be
employed to demonstrate our approach in following sections.
A. Activity Diagrams and Petri nets
The UML activity diagram is a powerful tool to describe
control flow based program logic at different levels of
abstraction. Designers commonly use activity diagrams to
describe the sequence of behaviors between classes in a
software system. Nodes and edges are two kinds of elements
in activity diagrams. Nodes in activity diagrams are
connected by edges. We formally define activity diagrams
as follows.
Definition 1. (Activity Diagram). An activity diagram
AD is a 4-tuple (N, E, F), where:
N = {n
1
, n
2
, …, n
i
} is a finite set of nodes, which
contains action, initial/final, decision/merge and
fork/join nodes, n
I
∈ N is the initial activity state,
N
F
N is a set of final activity states;
E = {e
1
, e
2
, … , e
j
} is a finite set of edges;
F ⊂ (N × E) ∪ (E × N) is the flow relation between
nodes and edges.
Due to the nature of UML is semi-formal and UML
diagrams are design-oriented models, translating activity
diagrams into formal verification-oriented models is