COCO: Consistency Analysis of Process-Driven
Internetware Applications
Wenjia Zhang, Wei Song*
Nanjing University of Science
and Technology
Nanjing, China
wsong@njust.edu.cn
Xiaoxing Ma
Nanjing University
Nanjing, China
xxm@nju.edu.cn
Qiliang Yang, Xuewei Zhang
PLA University of Science and
Technology
Nanjing, China
ABSTRACT
Processes are an effective and efficient way to construct on-
demand Internetware applications. It is often needed to evaluate
whether two process-driven applications are consistent, or
whether the implemented process conforms to the process
specification. Most existing methods only return qualitative
results (i.e., true or false), so slight inconsistencies may lead to a
false result. To address this problem, based on activity constraints,
we have presented a quantitative approach to process consistency
analysis. In this paper, we focus on the implementation issues of
our approach and introduce how to use our tool in practice.
Categories and Subject Descriptors
D.2 [Software Engineering]; D.2.10 [Design]: Methodologies
General Terms
Management, Measurement, Design.
Keywords
Internetware, process-driven, consistency, activity constraint
1. INTRODUCTION
With the development of service and cloud technology, more and
more applications are deployed, used, maintained and composed
in the open Internet environment. From the perspective of
software engineering, this trend reflects a shift of software
paradigm: Internetware [1], [2], which receives increasing
attentions. Processes are regarded as an effective and efficient way
to construct on-demand Internetware applications. For example,
the Web Services Business Process Execution Language (BPEL
[6]) is the de facto standard for developing process-driven
Intertware applications. With BPEL, Web services across
organizational boundaries can be combined together to fulfill
different users’ requirements. Thus, processes become more and
more important in enterprise software engineering projects.
Different professionals and stakeholders have different views on
the same process. For instance, business analysts may only focus
on business aspects, so an abstract process is sufficient to them.
While for IT architects and programmers, they usually work on
executable processes that incorporate more technical details. On
the other hand, different programmers may develop different
executable processes according to the same conceptual one. Thus,
to develop a process-driven application, an organization can have
various kinds of business processes which may be from different
perspectives or at different abstraction levels.
A conceptual business process only focuses on activities and their
control flow relations. There are lots of process models to
describe conceptual processes. Without loss of generality, we use
Petri nets [7] to model conceptual processes, because it is
intuitive to describe the control flow relations of a process, e.g.,
sequence, concurrency, choice, etc. Executable business processes
always have more detailed information for execution, e.g.,
activities’ inputs and outputs, partner services, etc. We use BPEL
[6] to describe executable processes.
To ensure the development quality, we need to know whether
relevant processes are consistent. Existing methods use strict
notions (e.g., trace equivalence) to check process consistency, and
most of them only supply a “true”/“false” result of consistency.
Such a result cannot identify slight inconsistencies. In this tool
demo, we leverage activity constraints (partial order, mutual-
exclusion, independence) to characterize processes, and measure
the consistency degree of two processes by using the rate of
consistent activity constraints. Our method and the
implementation tool COCO have the following characteristics:
We utilize BPEL program dependence graphs (BPDGs) [4] and
behavioral profiles [7] to capture essential activity constraints
of executable and conceptual business processes, respectively.
Our tool COCO can not only measure the consistency between
executable processes, but also the consistency between the
conceptual and executable business processes.
COCO can produce three useful by-products. The first is the
behavioral profile of the conceptual business process. The last
two are BCFG (BPEL control flow graph) and BPDG of the
executable BPEL process. They are useful for process analysis
and users can utilize them to study other issues: e.g.,
conformance checking of process instance, process testing.
In the following, COCO refers to both our method and our
implemented prototype tool. The rest of this paper is organized as
follows. Section 2 introduces the COCO method. Section 3
discusses implementation issues of COCO. Section 4 illustrates
how to use COCO in practice. Section 5 concludes the paper.
Permission to make digital or hard copies of all or part of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
for profit or commercial advantage and that copies bear this notice and the full citation
on the first page. Copyrights for components of this work owned by others than the
author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee. Request permissions from Permissions@acm.org.
Internetware'13, October 23-24, 2013, Changsha, China
ACM 978-1-4503-2369-7/13/10…$15.00.
http://dx.doi.org/10.1145/2532443.2532471