<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Practical Verification of Hierarchical Artifact Systems</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yuliang Li Co-Advised by Alin Deutsch</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Victor Vianu UC San Diego La Jolla</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>California</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>Data-driven work ows, of which IBM's Business Artifacts are a prime exponent, have been successfully deployed in practice, adopted in industrial standards, and have spawned a rich body of research in academia, focused primarily on static analysis. The present research bridges the gap between the theory and practice of artifact veri cation by studying the implementation of a full- edged and e cient artifact veri er for a variant of the Hierarchical Artifact System (HAS) model presented in [9]. With a family of specialized optimizations to the classic Karp-Miller algorithm, our veri er performs &gt;10x faster than a nontrivial Spin-based baseline on real-world work ows and is scalable to large synthetic work ows.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. INTRODUCTION</title>
      <p>
        The past decade has witnessed the evolution of
workow speci cation frameworks from the traditional
processcentric approach towards data-awareness. Process-centric
formalisms focus on control ow while under-specifying the
underlying data and its manipulations by the process tasks,
often abstracting them away completely. In contrast,
dataaware formalisms treat data as rst-class citizens. A notable
exponent of this class is IBM's business artifact model
pioneered in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], successfully deployed in practice [
        <xref ref-type="bibr" rid="ref18 ref3 ref5">3, 5, 18</xref>
        ]
and adopted in industrial standards.
      </p>
      <p>
        In a nutshell, business artifacts (or simply \artifacts")
model key business-relevant entities, which are updated by a
set of services that implement business process tasks,
speci ed declaratively by pre-and-post conditions. A collection
of artifacts and services is called an artifact system. IBM
has developed several variants of artifacts, of which the most
recent is Guard-Stage-Milestone (GSM) [
        <xref ref-type="bibr" rid="ref11 ref7">7, 11</xref>
        ]. The GSM
approach provides rich structuring mechanisms for services,
including parallelism, concurrency and hierarchy, and has
been incorporated in the OMG standard for Case
Management Model and Notation (CMMN) [
        <xref ref-type="bibr" rid="ref12 ref15">15, 12</xref>
        ].
      </p>
      <p>Artifact systems deployed in industrial settings typically
specify complex work ows prone to costly bugs, whence the
need for veri cation of critical properties. Over the past few
years, the veri cation problem for artifact systems was
intensively studied. Rather than relying on general-purpose
software veri cation tools su ering from well-known
limitations, the focus of the research community has been to
Proceedings of the VLDB 2017 PhD Workshop, August 28, 2017.
Munich, Germany. Copyright (c) 2017 for this paper by its authors. Copying
permitted for private and academic purposes.
identify practically relevant classes of artifact systems and
properties for which fully automatic veri cation is possible.
This is an ambitious goal, since artifacts are in nite-state
systems due to the presence of unbounded data. Along this
line, decidability and complexity results were shown for
different versions of the veri cation problem with various
expressiveness of the artifact models, as reviewed in the next
section.</p>
      <p>
        The project described in this paper bridges the gap
between the theory and practice of artifact veri cation by
providing the rst implementation of a full- edged and e cient
artifact veri er. The artifact model we use is a variant of
the Hierarchical Artifact System (HAS) model of [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which
captures core elements of IBM's GSM model. Rather than
building on top of an existing program veri cation tool such
as Spin, which we have shown to have strong limitations,
we implemented our veri er from scratch. The
implementation is based on the classic Karp-Miller algorithm [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ],
with a family of specialized optimizations to boost
performance. The experimental results show that our veri er
performs an order of magnitude faster compared to a baseline
implementation using Spin [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] on speci cations based on
real-world BPMN work ows [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], and scales well on large
synthetic work ows. To the best of our knowledge, our
artifact veri er is the rst implementation with full support of
unbounded data.
2.
      </p>
      <p>
        BACKGROUND AND RELATED WORK
[
        <xref ref-type="bibr" rid="ref6 ref8">8, 6</xref>
        ] studied the veri cation problem for a bare-bones
variant of artifact systems, in which each artifact consists
of a at tuple of evolving values and the services are
speci ed by simple pre-and-post conditions on the artifact and
database. The veri cation problem was to check statically
whether all runs of an artifact system satisfy desirable
properties expressed in LTL-FO, an extension of linear-time
temporal logic where propositions are interpreted as existential
rst-order logic sentences on the database and current
artifact tuple. In order to deal with the resulting in nite-state
system, a symbolic approach was developed in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] to allow
a reduction to nite-state model checking and yielding a
pspace veri cation algorithm for the simplest variant of the
model (no database dependencies and uninterpreted data
domain). In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] the approach was extended to allow for
database dependencies and numeric data testable by
arithmetic constraints.
      </p>
      <p>
        In our previous work [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], we made signi cant progress on
several fronts. We introduced the HAS model, a much richer
and more realistic model abstracting the core elements of
the GSM model. The model features task hierarchy,
concurrency, and richer artifact data (including updatable
artifact relations). In more detail, a HAS consists of a database
and a hierarchy (rooted tree) of tasks. Each task has
associated to it local evolving data consisting of a tuple of
artifact variables and an updatable artifact relation. It also
has an associated set of services. Each application of a
service is guarded by a pre-condition on the database and
local data and causes an update of the data, speci ed by a
post-condition (constraining the next artifact tuple) and an
insertion or retrieval of a tuple from the artifact relation.
In addition, a task may invoke a child task with a tuple of
input parameters, and receive back a result if the child task
completes. To express properties of HAS we introduce
hierarchical LTL-FO (HLTL-FO), which is similar to LTL-FO
but adapted to the hierarchy. The main results of [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
establish the complexity of checking HLTL-FO properties for
various classes of HAS, highlighting the impact of various
features on veri cation.
3.
      </p>
    </sec>
    <sec id="sec-2">
      <title>MODEL AND EXAMPLE</title>
      <p>
        The artifact model used in our implementation is a variant
of the HAS model of [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] denoted HAS*, which di ers from
the HAS model used in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] in two respects. On one hand,
it restricts HAS by disallowing arithmetic in service
preand-post conditions, and requires the underlying database
schema to use an acyclic set of foreign keys, as in the widely
used Star (or Snow ake) schemas [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. On the other hand,
HAS* extends HAS by allowing an arbitrary number of
artifact relations in each task, arbitrary variable propagation,
and more exible interactions between tasks. As shown by
our real-life examples, HAS* is powerful enough to model a
wide variety of business processes, and so is a good vehicle
for studying the implementation of a veri er. Moreover,
despite the extensions, the complexity of verifying HLTL-FO
properties of HAS* can be shown to remain expspace, by
adapting the techniques of [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>We illustrate the HAS* model with a simpli ed example
of order ful llment business process based on a real-world
BPMN work ow. The work ow allows customers to place
orders and suppliers to process the orders. It has the
following database schema:</p>
      <p>CUSTOMERS(id; name; address; record)
ITEMS(id; item name; price; in stock)
CREDIT RECORD(id; status)</p>
      <p>In the schema, the id's are key attributes, and record is a
foreign key referencing CREDIT RECORD. The CUSTOMERS
table contains basic customer information and CREDIT RECORD
provides each customer's credit rating. The ITEMS table
contains information on all the items. The artifact system has 4
tasks: T1:ProcessOrders, T2:TakeOrder, T3:CheckCredit
and T4:ShipItem, which form the hierarchy in Figure 1.</p>
      <p>Intuitively, the root task ProcessOrders serves as a global
coordinator which manages a pool of orders and the child
tasks TakeOrder, CheckCredit and ShipItem implement
the 3 processing stages of an order. At each point in a run,
ProcessOrders nondeterministically picks an order from
its pool, triggers one processing stage, and places it back
into the pool upon completion.</p>
      <p>T1: ProcessOrders
T2: TakeOrder</p>
      <p>T3: CheckCredit</p>
      <p>T4: ShipItem</p>
      <sec id="sec-2-1">
        <title>StoreOrder :</title>
        <p>Pre: cust id 6= null^item id 6= null^status 6= \Failed"
Post: cust id = null ^ item id = null ^ status = \Init"
Update: f+ORDERS(cust id; item id; status)g</p>
      </sec>
      <sec id="sec-2-2">
        <title>RetrieveOrder :</title>
        <p>Pre: cust id = null ^ item id = null // Post: True
Update: f ORDERS(cust id; item id; status)g
TakeOrder: When this task is called, the customer enters
the information of the order (cust id and item id) and the
status of the order is initialized to \OrderPlaced". The
task contains cust id, record and status as variables and
all are return variables to the parent task. There are two
services called EnterCustomer and EnterItem, that allow
the customer to enter her and the item's information. The
CUSTOMERS and ITEMS tables are queried to obtain the
customer ID and item ID. These two services can be called
multiple times to allow the customer to modify previously
entered data. The task's termination condition is cust id 6=
null ^ item id 6= null, at which time its variables are
returned to its parent task ProcessOrders.</p>
        <p>CheckCredit: This task checks the nancial record of a
customer and decides whether the supplier will go ahead
with the sale. It is called when status = \OrderPlaced".
It has artifact variables cust id (input variable), record
and status. When the credit record is good, status is set
to \Passed", and otherwise to \Failed". After status is
set, the task terminates and returns status to the parent
task. The task has a single service Check performing the
credit check.</p>
      </sec>
      <sec id="sec-2-3">
        <title>Check :</title>
        <p>Pre: true // Post:
9n9a CUSTOMERS(cust id; n; a; record)^
(CREDIT RECORD(record; \Good") ! status = \Passed")^
(:CREDIT RECORD(record; \Good") ! status = \Failed")</p>
        <p>Note that in a service we can also specify a set of
propagated variables whose values stay unchanged when the
service is applied. In Check, only cust id is a propagated
variable and others will be assigned new values.</p>
        <p>ShipItem: This task checks whether the desired item is in
stock by looking up the item id in the ITEMS table to see
whether the in stock attribute equals \Yes". If so, the item
ProcessOrders: The task has the artifact variables: cust id, is shipped to the customer (status is set to \Shipped")
othitem id, status which store basic information of an order. erwise the order fails (status is set to \Failed"). This task
It also has an artifact relation ORDERS(cust id; item id; status) is speci ed similarly to CheckCredit (details omitted).
storing the orders to be processed. Properties of HAS* can be speci ed in LTL-FO. In the
above work ow, we can specify a temporal property saying
\If an order is taken and the ordered item is out of stock,
then the item must be restocked before it is shipped." It can
be written in LTL-FO as:
8i G(EnterItem ^ item id = i ^ instock = \No") !</p>
        <p>(:(ShipItem ^ item id = i) U (Restock ^ item id = i))</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>VERIFIER IMPLEMENTATION</title>
      <p>
        Although decidability of veri cation was shown in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], a
naive implementation of the expspace algorithm outlined
there would be wholly impractical. Instead, our
implementation brings to bear a battery of optimization techniques
crucial to performance. This approach of [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is based on
developing a symbolic representation of the runs of a HAS*.
      </p>
      <p>
        In the representation, each snapshot is summarized by:
(i) the isomorphism type of the artifact variables, describing
symbolically the structure of the portion of the database
reachable from the variables by navigating foreign keys
(ii) for each artifact relation and isomorphism type, the
number of tuples in the relation that share that isomorphism
type
The heart of the proof in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is showing that it is su cient
to verify symbolic runs rather than actual runs. Observe
that because of (ii), the symbolic representation is not nite
state. Indeed, (ii) requires maintaining a set of counters,
which can grow unboundedly. Therefore, the veri cation
algorithm relies on a reduction to state reachability in Vector
Addition Systems with States (VASS) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. A VASS is a
nite-state machine augmented with positive counters that
can be incremented and decremented (but not tested for
zero). This is essentially equivalent to a Petri Net.
      </p>
      <p>
        A direct implementation of the above algorithm is
impractical because the resulting VASS can have exponentially
many states and counters in the input size, and
state-of-theart VASS tools can only handle a small number of
counters (&lt;100) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. To mitigate the ine ciency, our
implementation never generates the whole VASS but instead lazily
computes the symbolic representations on-the- y. Thus, it
only generates reachable symbolic states, whose number is
usually much smaller. In addition, isomorphism types in
the symbolic representation are replaced by partial
isomorphism types, which store only the subset of constraints on the
variables imposed by the current run, leaving the rest
unspeci ed. This representation is not only more compact, but
also results in an exponentially smaller search space. Then
our veri er performs the (repeated) state reachability search
using the classic Karp-Miller algorithm [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] with three
specialized optimizations to further accelerate the search. We
discuss these next.
      </p>
      <p>
        State Pruning The classic Karp-Miler algorithm is
wellknown to be ine cient and pruning is a standard way to
improve its performance [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. We introduce a new pruning
technique which can be viewed as a generalization of the
strategies in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. The high-level idea is that when a new
state I is found, if there exists a reached state I0 such that
all states reachable from I are also reachable from I0, then
we can stop exploring I immediately. In this case, we call I0
a superstate of I and I a substate. Similarly, if there exists
a reached state I0 which is a substate of I, then we can
prune I0 and its successors. Compared to [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], our pruning
is more aggresive, resulting in a much smaller search space.
As shown in Section 5, the performance of the veri er is
signi cantly improved.
      </p>
      <p>Data Structure Support When the above optimization is
applied, a frequent operation during the search is to nd
substates and superstates of a given candidate state in the
current set of reached symbolic states. This operation becomes
the performance bottleneck when there is a large number
of reached states. We accelerate the superstate and
substate queries with a Trie index and an Inverted-Lists index,
respectively.</p>
      <p>Static Analysis The veri er statically analyzes and
simpli es the input work ow with a preprocessing step. We
notice that in real work ows, some contraints in the
speci cation can never be violated in a symbolic run, and thus
can be removed. For example, for a constraint x = y in
the speci cation, where x; y are variables, if x 6= y does not
appear anywhere in the speci cation and is not implied by
other constraints, then x = y can be safely removed from the
speci cation without a ecting the result of the veri cation
algorithm.
5.</p>
    </sec>
    <sec id="sec-4">
      <title>EXPERIMENTAL RESULTS</title>
      <p>We evaluated the performance of our veri er using both
real-world and synthetic artifact speci cations.</p>
      <p>
        The Real Set As the artifact approach is still new to
the industry, real-world processes available for evaluation
are limited. We therefore built an artifact system
benchmark speci c to business processes, by rewriting the more
widely available process-centric BPMN work ows as HAS*
speci cations. There are numerous sources of BPMN
workows, including the o cial BPMN website [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], that provides
36 work ows of non-trivial size. To rewrite these work ows
into the HAS*, we manually added the database schema,
artifact variables/relations, and services for updating the
data. Among the 36 real-world BPMN work ows collected
from the o cial BPMN website bpmn.org, our model is
sufciently expressive to specify 32 of them in HAS* and can
thus be used for performance evaluation. The remaining
ones cannot be expressed in HAS* because they involve
computing aggregate functions or updating the artifact relations
in ways that are not supported in the current model. We
will consider these features in our future work.
      </p>
      <p>The Synthetic Set The second benchmark we used for
evaluation is a set of randomly generated HAS speci cations.
All components of each speci cation, including DB schema,
task hierarchy and services, are generated fully at random
of a certain size. The ones with empty search space due to
unsatis able conditions are removed from the benchmark.
Table 1 shows some statistics of the benchmarks.</p>
      <p>Dataset Size #Relations #Tasks #Variables #Services</p>
      <sec id="sec-4-1">
        <title>Real 32</title>
        <p>
          Synthetic 120
Baseline and Setup We compare our veri er with a
simpler implementation built on top of Spin, a widely used
software veri cation tool [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Building such a veri er is by itself
a challenging task since Spin is incapable of handling data
of unbounded size, present in the HAS* model. We
managed to build a Spin-based veri er supporting a restricted
version of out model, without updatable artifact relations.
As the read-only database can still have unbounded size and
domain, the veri er requires a set of nontrivial translations
and optimizations. The details will be discussed in a
separate paper.
        </p>
        <p>We implemented both veri ers in C++ with Spin version
6.4.6 for the Spin-based veri er. All experiments were
performed on a Linux server with a quad-core Intel i7-2600 CPU
and 16G memory. For each work ow in each dataset, we ran
our veri ers to test a randomly generated liveness property.
The time limit of each run was set to 10 minutes. For fair
comparison, since the Spin-based veri er (Spin-Opt) cannot
handle artifact relations, we ran both the full
Karp-Millerbased veri er (KM), and the Karp-Miller-based veri er with
artifact relations ignored (KM-NoSet).</p>
        <p>Performance Table 2 shows the results on both sets of
work ows. The Spin-based veri er achieves acceptable
performance on the real set with an average elapsed time of few
seconds and only 1 timeout instance. However, it failed on
most runs (109/120) in the synthetic set of work ows. On
the other hand, both KM and KM-NoSet achieve average
running times below 1 second and with no timeout on the
real set, and the average running time is in seconds on the
synthetic set, with only 3 timeouts. The presence of artifact
relations introduced only a negligible amount of overhead
in the running time. Compared with the Spin-based
verier, the KM-based approach is &gt;10x faster in the average
running time and more scalable to large work ows.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Spin-Opt</title>
        <p>KM-NoSet</p>
        <p>KM
3.111s
.2635s
.2926s
1
0
0
67.01s
3.214s
3.355s
109
3
2
5 10 15 20 25 30 35 40 45</p>
        <p>Cyclomatic Complexity</p>
        <p>Figure 2: Running Time vs. Cyclomatic Complexity
Comparing Di erent Optimizations We show next the
e ect of our 3 optimization techniques: state pruning (SP),
static analysis (SA) and data structure support (DSS), by
rerunning the experiment with the optimization turned o ,
and comparing the di erence. Table 3 shows the average</p>
      </sec>
      <sec id="sec-4-3">
        <title>Dataset</title>
      </sec>
      <sec id="sec-4-4">
        <title>Trim.</title>
      </sec>
      <sec id="sec-4-5">
        <title>Mean SA DSS Trim. Mean Trim.</title>
        <p>55.31x 1.80x 1.66x 1.90x 1.24x
180.82x 17.92x 0.92x 1.45x 1.27x</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>MIST</given-names>
            <surname>-</surname>
          </string-name>
          <article-title>a safety checker for petri nets and extensions</article-title>
          . https://github.com/pierreganty/mist/wiki.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <article-title>[2] Object management group business process model and notation</article-title>
          . http://www.bpmn.org/. Accessed:
          <fpage>2017</fpage>
          -03-01.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K.</given-names>
            <surname>Bhattacharya</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. S.</given-names>
            <surname>Caswell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kumaran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Nigam</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F. Y.</given-names>
            <surname>Wu</surname>
          </string-name>
          .
          <article-title>Artifact-centered operational modeling: Lessons from customer engagements</article-title>
          .
          <source>IBM Systems Journal</source>
          ,
          <volume>46</volume>
          (
          <issue>4</issue>
          ):
          <volume>703</volume>
          {
          <fpage>721</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Blockelet</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Schmitz</surname>
          </string-name>
          .
          <article-title>Model checking coverability graphs of vector addition systems</article-title>
          .
          <source>In Mathematical Foundations of Computer Science</source>
          <year>2011</year>
          , pages
          <fpage>108</fpage>
          {
          <fpage>119</fpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>T.</given-names>
            <surname>Chao</surname>
          </string-name>
          et al.
          <article-title>Artifact-based transformation of IBM Global Financing: A case study</article-title>
          .
          <source>In BPM</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E.</given-names>
            <surname>Damaggio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          .
          <article-title>Artifact systems with data dependencies and arithmetic</article-title>
          .
          <source>TODS</source>
          ,
          <volume>37</volume>
          (
          <issue>3</issue>
          ):
          <fpage>22</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E.</given-names>
            <surname>Damaggio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          , and
          <string-name>
            <surname>R.</surname>
          </string-name>
          <article-title>Vacul n. On the equivalence of incremental and xpoint semantics for business artifacts with guard-stage-milestone lifecycles</article-title>
          .
          <source>Information Systems</source>
          ,
          <volume>38</volume>
          :
          <fpage>561</fpage>
          {
          <fpage>584</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Patrizi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          .
          <article-title>Automatic veri cation of data-centric business processes</article-title>
          .
          <source>In ICDT</source>
          , pages
          <volume>252</volume>
          {
          <fpage>267</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Deutsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          .
          <article-title>Veri cation of hierarchical artifact systems</article-title>
          .
          <source>In PODS</source>
          , pages
          <volume>179</volume>
          {
          <fpage>194</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>G.</given-names>
            <surname>Holzmann. Spin Model</surname>
          </string-name>
          <string-name>
            <surname>Checker</surname>
          </string-name>
          , the: Primer and
          <string-name>
            <given-names>Reference</given-names>
            <surname>Manual</surname>
          </string-name>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
            <given-names>Professional</given-names>
          </string-name>
          ,
          <source>rst edition</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          et al.
          <article-title>Business artifacts with guard-stage-milestone lifecycles: Managing artifact interactions with conditions and events</article-title>
          .
          <source>In ACM DEBS</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Marin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          , and
          <string-name>
            <surname>R.</surname>
          </string-name>
          <article-title>Vacul n. Data centric bpm and the emerging case management standard: A short survey</article-title>
          .
          <source>In BPM Workshops</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>T. J.</given-names>
            <surname>McCabe</surname>
          </string-name>
          .
          <article-title>A complexity measure</article-title>
          .
          <source>IEEE Transactions on software Engineering</source>
          , (
          <volume>4</volume>
          ):
          <volume>308</volume>
          {
          <fpage>320</fpage>
          ,
          <year>1976</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Nigam</surname>
          </string-name>
          and
          <string-name>
            <given-names>N. S.</given-names>
            <surname>Caswell</surname>
          </string-name>
          .
          <article-title>Business artifacts: An approach to operational speci cation</article-title>
          .
          <source>IBM Systems Journal</source>
          ,
          <volume>42</volume>
          (
          <issue>3</issue>
          ):
          <volume>428</volume>
          {
          <fpage>445</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Object</surname>
            <given-names>Management</given-names>
          </string-name>
          <string-name>
            <surname>Group</surname>
          </string-name>
          .
          <source>Case Management Model and Notation (CMMN)</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>P.-A.</given-names>
            <surname>Reynier</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Servais</surname>
          </string-name>
          .
          <article-title>Minimal coverability set for petri nets: Karp and miller algorithm with pruning</article-title>
          .
          <source>In International Conference on Application and Theory of Petri Nets and Concurrency</source>
          , pages
          <volume>69</volume>
          {
          <fpage>88</fpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>P.</given-names>
            <surname>Vassiliadis</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Sellis</surname>
          </string-name>
          .
          <article-title>A survey of logical models for olap databases</article-title>
          .
          <source>ACM Sigmod Record</source>
          ,
          <volume>28</volume>
          (
          <issue>4</issue>
          ):
          <volume>64</volume>
          {
          <fpage>69</fpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>W.-D.</surname>
          </string-name>
          Zhu et al.
          <source>Advanced Case Management with IBM Case Manager. IBM Redbooks</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>