<!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>Proposal of a Hierarchical Approach to Formal Verification of BPMN Models Using Alvis and XTT2 Methods</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Krzysztof Kluza</string-name>
          <email>kluza@agh.edu.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Grzegorz J. Nalepa</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marcin Szpyrka</string-name>
          <email>mszpyrka@agh.edu.pl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antoni Lige˛za</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>AGH University of Science and Technology</institution>
          ,
          <addr-line>al. Mickiewicza 30, 30-059 Krakow</addr-line>
          ,
          <country country="PL">Poland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>BPMN is a visual notation for modeling business processes. Although there are many tools supporting it, they rarely provide formal verification of models. We propose a new approach to formal verification of BPMN models using the Alvis modeling language and the XTT2 knowledge representation. The structure of the BPMN model can be analyzed using translation to Alvis. Alvis models can be verified with dedicated tools, and their properties can be linked to the properties of the original BPMN model. On the other hand, selected BPMN elements can be verified using the XTT2 decision tables. Several BPMN elements can be translated to XTT2 and checked using the HeaRT rule engine with the HalVA verification and analysis tool. The paper constitutes an overview of the methods and concepts and presents preliminary results of our research.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Business Process Model and Notation (BPMN) has recently emerged as a leading visual
notation for modeling Business Processes. A BPMN model defines how the
organization works by describing the ways in which operations are carried out to accomplish its
intended goals. The progress in using the BPMN notation and the increasing complexity
of the modeled processes make new advanced methods and tools needed.</p>
      <p>BPMN provides a large collection of notation elements and allows for modeling
various workflow structures, such as conditional operations, loops, event-triggered actions,
splits and joins of sequence flow, etc. Moreover, it supports the hierarchical approach
to design; thus, the process can be modeled on several abstraction levels.</p>
      <p>
        The complexity of BPMN makes the formal verification of models a tough task.
Although there are many tools supporting BPMN modeling, most of them do not provide
any kind of formal model verification. In this paper, a new hybrid approach to formal
verification of BPMN models is presented. It uses Alvis [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and Extended Tabular Trees
version 2 (XTT2) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] methods. The considered approach is partially based on our
previous research [
        <xref ref-type="bibr" rid="ref3 ref4">3,4</xref>
        ]. It extends and separates the verification process into two layers:
the structure (or flow) layer and single components (mainly tasks) of the BPMN model.
      </p>
      <p>
        This hierarchical separation provides verification of distinct properties on different
abstraction levels. For the global (process structure) verification, the translation to Alvis
modeling language is considered. The structure of the BPMN model can be analyzed
thanks to its similarity to Alvis model, which is suitable for information systems
modeling with subsystems working in parallel. For the local (model elements) verification,
verification of single BPMN elements is considered. Such BPMN elements are mapped
to the XTT2 knowledge representation, which can be verified using the HeaRT rule
engine [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] as well as the HalVA verification and analysis tool [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>This paper constitutes an overview of the methods and concepts, and presents
preliminary results of the research aiming at formal verification of selected BPMN models
using Alvis and XTT2 methods. We have limited the presentation to describing a simple
yet illustrative case study of a student’s project evaluation process.</p>
      <p>The rest of the paper is organized as follows. Section 2 presents the BPMN
notation and the selected case study. In Section 3 several works related to our research are
presented. The BPMN model structure verification concept is introduced in Section 4,
while the BPMN elements verification concept is given in Section 5. The evaluation of
our approach is presented in Section 6. A short summary is given in the final section.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Business Process Modeling Notation</title>
      <p>A Business Process can be defined as a collection of related tasks that produce a
specific service or product for a particular customer. Business Process Model and Notation
(BPMN) is a leading visual notation for modeling Business Processes. It uses a set of
predefined graphical elements to depict a process and how it is performed. The current
version of BPMN defines three models to cover various aspects of processes:
1. Process Model – describes the ways in which operations are carried out to
accomplish the intended objectives of an organization. The process can be modeled on
different abstraction levels: public (collaborative Business 2 Business Processes)
or private (internal Business Processes).
2. Choreography Model – defines expected behavior between interacting business
participants in the process.
3. Collaboration Model – can include Processes and/or Choreographies, and provides
a Conversation view (which specifies the logical relation of message exchanges).</p>
      <p>In our research, the internal Business Process Model is considered. There are four
basic categories of elements used to model such processes: flow objects (activities,
gateways, and events), connecting objects (sequence flows, message flows, and
associations), swimlanes, and artifacts.</p>
      <p>For the purpose of our research, only a subset of BPMN elements (flow objects and
sequence flows) is considered. A task is a kind of activity, and a model defines the ways
in which individual tasks are carried out. Gateways determine forking and merging of
the sequence flow between tasks in a process, depending on some conditions. Events
denote something that happens in the process. The icon in the event circle depicts the
event type, e.g. envelope for message event, clock for time event (see Fig. 1).</p>
      <p>
        Let us analyze an exemplary BPMN model of a simple student’s project evaluation
process. Fig. 1 depicts the evaluation process of a student’s project for an Internet
technologies course. However, the process can be used for any kind of a project depending
on the ruleTistlewShupipcrhessaerdeDaueptpolEixecdesstiovetLheengptharticular tasks [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. 3
Syntax
validation
passed
Preliminary
content
checking
syntax error
missing
basic
content
ready for
evaluation
      </p>
      <p>Request for
completing
project
Evaluation of a
student’s work</p>
      <p>Expecting for
the completed</p>
      <p>
        project
waiting
time
expired
the
completed
project
reveived
In theucsoednstoiddeefirende tehxeabmehpavlieo,rtohfeinpdrivoicdueaslsaigsenatps.pElaiechdatgoentthies describe wpitrhoajepcietceevaluation.
website
of source code implemented in Alvis Code Language (AlvisCL) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. From the code
At the beglaiynenripnogi,ntthoef view, agents are divided into active and passive ones. Active agenitsn XHTML
syntax is automatically checked. Every website code
needs to bpeewrfoerlml-fsoomrme eadctiivnititeesrmansd oeafcthheofXthMemLcsatnanbedatrreda,teadnads vaatlhirdeawd rotftchoenXtroHliTnML DTD.
      </p>
      <p>If the apcroonjceucrtresnytonrtadxistriisbuctoedrrseycstte,mp.rPealsismivienaagreyntcsodontneonttpecrhfoercmkainnyginidsivpideurafolarcm- ed. Then,
if the protjiveictyt, bcuotnptraoivnidse eaxmpeecchtaendismelfeomrtehentmaurytual eHxcTluMsioLn atnadgsd,ataitsycnacnhrobneizaetivoanl.uated and
X</p>
      <p>The graphical layer (communication diagram) is used to define interconnections
a grade can be given according to the rules defined by the teacher. On the
(communication channels) among agents. A communication diagram is a hierarchoi-ther hand,
if the projceacltgrcaophntwahinosseannoydessymnatya xreperrersoenrtobrotlhakciknsdssoofmageenbtass(iacctirveeqourirpeadssicveo)natnednt, it is
requested topbaretscoof mthpelmetoeddel. fArofmtetrhreelcoweievrilnegvetl.hFerocmomuspelrestpeodinpt roof jveicewt,,tthhee swyshteomlelapyreorcess starts
from the sisypnrteadxeficnhedecankdinognlyaggraaipnh.icHaloawndecvoedre, liafyethrsemcuostmbepldeetseigdnepdr.oAjelvcist pisrovniodetsraeceived on
few different system layers. The most universal one is denote by α0 and makes Alvis
time, the process is terminated (thus, the author of the</p>
      <p>similar to other formal languages. The layer is based onpthreojfeoclltowdionegsasnsoumtgpteiotnas:credit).</p>
      <p>The exeaacmh pacletivweailglenbtehuassaecdcefsosrtopirtessoewnntpartoiocenssoofr aonudrpreerfsoeramrscihtscstoantecmeernntisnags saoohnierarchical
approach atos pfoosrsmiblael; vtheerisfichceadtuiloenr.fuWncetiodnisicsucsalsletdheafteexriesatcihngstarteelmaetendtawutoomrkasticbaellfyo; rienhand.</p>
      <p>case of conflicts, agents priorities are taken under consideration.</p>
    </sec>
    <sec id="sec-3">
      <title>3 Related works</title>
      <sec id="sec-3-1">
        <title>1.3 BPMN to Alvis transformation</title>
        <p>
          Most of the recent approaches to analysis of the BPMN models consider a restricted
subset of BThPeMkeNy ceolnecmepetnotfsAilnvitsh[e1,m4]oidsealn. Tagheenytthfoatcduesnootnescahneycdkisintingguoifshseedlepcatretdofproperties
of the BP MtheNsymsteomdeulndtherrocoungshideitrsatitornanwsifthoramdeafitinoend itdoenatiftyorpmersailstlinagn ginutaimgee.. An Alvis
model is a system of agents that usually run concurrently, communicate one with
anIn [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]other, compete for shared resources etc. To describe all dependences among agents
        </p>
        <p>Raedts et al. presented an approach transforming BPMN models to Petri
nets, and Athlveisseusteos tthhreeemmCodRelLl2ayaerlsg:egbrarpahicicalla, ncgodueaganed. sTyhstiesmaolnloe.wTshefocrodveelraiyfiecraistion of the
model usiunsgedthtoedmefiCneRthLe2bethoaovlisoerto.f Binedcivaiudusael tahgendtsi.sEcaocvheargeedntpisrodebslcermibehwaivtheatpoiebce manually
identified in the BPMN model, this can slow the result interpretation process.</p>
        <p>
          Dijkman et al. in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] proposed a similar approach. They presented a formal
specification of the BPMN to Petri nets mapping, and thanks to this, they identified a number
of deficiencies in the BPMN specification. The implementation of the approach
transforms a BPMN model to a PNML file, which can be used in ProM tool in order to check
the model for absence of dead tasks and absence of incomplete process executions. One
of the limitations of this approach is not supporting of OR-join gateways.
        </p>
        <p>
          Similar research conducted by Ou-Yang and Lin [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] proposed a Petri-net-based
approach to evaluate the feasibility of a BPMN model. This approach enables to reveal
deadlocks and infinite loops. It consists in manually translating of the BPMN model
to the Modified BPEL4WS representation, and then to Colored Petri-net XML
(CPNXML). The resulted CPNXML representation can be verified using CPN Tools. The
major limitations of this research are the limited assessment criteria, and lack of support
of the multiple merge and split conditions in BPMN.
        </p>
        <p>
          Another research direction concerns the translation of BPMN models to Yet Another
Workflow Language (YAWL) [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ], a modeling language for Business Processes. The
BPMN2YAWL tool for such transformation was presented in [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. Such model can be
further checked using a YAWL-based verification tool. The recent research by Wynn et
al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] presented the verification of YAWL models with advanced constructs, such as
cancellations or OR-joins. The paper describes the mapping of a model to an extended
Petri net to determine the model correctness, i.e. the following properties are verified:
soundness, weak soundness, irreducible cancellation regions, and immutable OR-joins.
Although in this research the process is modeled in YAWL, according to the authors,
it can be applicable to BPMN as well. However, all of the YAWL approaches consider
only BPMN to YAWL transformation. Thus, the errors revealed in the YAWL model
can not be easily tracked in the BPMN model.
        </p>
        <p>
          One of the recent paper in the field of BPMN model verification by Lam [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]
proposed a transformation of the BPMN model to New Symbolic Model Verifier (NuSMV)
language in order to do a model-checking analysis. The strength of this approach is that
it has mathematical foundations and addresses the correctness issue of the
transformation. However, this approach assumes a specification of Computation Tree Logic (CTL)
formulas, which stipulate the required properties of the model to be checked. Therefore,
it is not possible to check automatically a BPMN model of the process which does not
have any properties specified using CTL.
        </p>
        <p>The main drawback of these solutions is that it is difficult to map the resulting
model back to the BPMN one. Although the tools reveal some errors in the model after
translation, it is hard to find the corresponding place in the BPMN model and fix them.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>BPMN model structure verification</title>
      <p>In this section, we present the concept of BPMN model structure (global) verification.
For such a verification, the model structure is translated to the Alvis modeling language.
4.1</p>
      <sec id="sec-4-1">
        <title>Alvis modeling language</title>
        <p>
          Alvis [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] combines the advantages of formal methods and practical modeling languages.
The main differences between Alvis and more classical formal methods, especially
process algebras, are: a user-friendly syntax and a visual modeling language
(communication diagrams) for defining communication among agents. The main differences
between Alvis and industry programming languages is a possibility of formal verification
of Alvis models e.g. using model checking techniques.
        </p>
        <p>The key concept of Alvis is an agent, which denotes any distinguished part of the
system with a defined identity persisting in time. An Alvis model is a system of agents
that usually run concurrently, communicate one with another, compete for shared
resources etc. The dependencies among agents are described with three model layers:
graphical, code and system one.</p>
        <p>The code layer defines the behavior of individual agents. Each agent is described
with a piece of source code. Agents can be either active or passive. Active agents
perform some activities and each of them can be treated as a thread of control in a
concurrent or distributed system. Passive agents do not perform any individual activity, but
provide a mechanism for the mutual exclusion and data synchronization.</p>
        <p>The graphical layer (communication diagram) defines connections (communication
channels) among agents. A communication diagram is a hierarchical graph with nodes
representing agents or parts of the model from the lower level. The diagrams allow
for combining sets of agents into modules, represented as hierarchical agents. Active
and hierarchical agents are drawn as rounded boxes while passive ones as rectangles.
An agent can communicate with other agents through ports, drawn as circles placed
at the edges of the corresponding agents. Communication channels are depicted as lines
(or broken lines) with arrowheads showing the direction of communication.</p>
        <p>From the users point of view, the system layer is predefined and only graphical
and code layers have to be designed. The system layer is strictly connected with the
system architecture and the chosen operating system. Alvis provides a few different
system layers. The most universal one is denoted by 0 and makes Alvis similar to other
formal languages. The layer is based on the following assumptions: 1) each active agent
has access to its own processor and performs its statements as soon as possible; 2) the
scheduler function is called after each statement automatically; 3) in case of conflicts,
agents priorities are taken under consideration (if two or more agents with the same
highest priority compete for the same resources, the system works indeterministically).
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>BPMN to Alvis transformation</title>
        <p>To verify the properties of the structure of the whole BPMN model, the model has to be
transformed into Alvis model. The transformation procedure starts with preparing the
initial set of agents which correspond to activities in the BPMN model. In the second
stage, the initial set of agents is optimized. An Alvis agent can work like a buffer which
collects a signal/value and then sends it to the next agent.</p>
        <p>For each identified agent, we define its interface (ports) by considering the set of
surrounding edges for a given BPMN activity i.e. sequence flows that go to or from
the activity; however, if a sequence flow goes from the activity to a gateway, we
consider the sequence flow going from the gateway. Each surrounding edge is transformed
into a port of the corresponding agent. Moreover, for each port an identifier (a name)
has to be added. To complete the agent definition, its behavior should be defined with
additional code in the Haskell functional programming language.</p>
        <p>Other agents in the Alvis model can be defined in very similar way. Moreover, in the
considered example, a student is treated as a part of the system environment in the Alvis
model. Thus, a project (its submission or resubmission), a grade and a timeout are sent
via border ports, which have to be further specified. To represent the possibility of a
Title Suppressed Due to Excessive Length
submit
timeout, the agent definition should contain the Alvis statement with a time out branch.
After receiving an error signal, the agent waits particular time for a revised project, and</p>
        <p>Syntax
after this timegeat time_oeurrtosrignal is generavtaeliddatiaonnd the agent finishes its activity.</p>
        <p>Although in APlCvCis a decision table activity can be represented as Haskell function,
such an approach is bepyasosnedd the scope of this paper. The approach considering full Alvis
representation of the presented BPMN model was proposed in [4R]e.queIsntfotrhe approach
presented in this paper, Alvis is used only assynataxteorroorl for global vecormipfilectinagtion. For the
project
purpose of local verification, the XTT2 method suits much better, and contrary to Alvis
missing
can provide a precise verification of singpalsesedBPMN eblaesimcents, such as gateways or tasks.</p>
        <p>The last stage of the transformation procedure iscotnotentdefine communication channels
in the Alvis model graphical layer, whicPhrceloiinmnteinnamtry ost cases consist in connecting pairs of
ports. A more complex case is the transfocrhmeckaintgion of the OR gateway, which requires to
connect twFoig.p1a.4irGsenoefraptioonrotfsc.oTmmheuniccoatmionpclheantenelcsommunication diagram is shown in Fig. 2.
submit
passed
get</p>
        <p>SV
PCC
get
error
error
passed
project</p>
        <p>resubmit</p>
        <p>ECP
error</p>
        <p>time_out</p>
        <p>ESW
get
grade
verification of the model. Next, the Alvis model is transformed into a labelled transition
system (LTS), used for formal verification. An LTS graph is an ordered graph with nodes
denoting states of the considered system and edges denoting transitions among states.
A state of a model is represented as a sequence of agents states. A state of an agent
is four-tuple that consists of: agent mode (e.g. running, waiting), its program counter
(point out the current step/statement), context information list (contains additional
information e.g. the name of called procedure) and a tuple with parameters values.</p>
        <p>There are two possible approaches to the formal verification of an LTS graph. If the
graph is stored in the form of Haskell list, it is possible to add additional functions that
inspect the list e.g. to find states with specified properties. On the other hand, such an
LTS graph can be encoded using the Binary Coded Graphs (BCG) format and verified
with the CADP toolbox.CADP offers a wide set of functionalities, ranging from
stepby-step simulation to massively parallel model-checking. The verified properties can be
divided into two groups usually called safeness and liveness ones. The former link with
states properties while the latter link with an LTS graph paths’ properties.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>BPMN elements verification</title>
      <p>
        Apart from the BPMN model structure analysis, checking several properties of single
BPMN elements (local verification) is needed. Thus, our approach allows for
verification of selected BPMN elements, which are mapped to the XTT2 knowledge
representation. Thanks to the formal representation of XTT2, it is possible to verify several
properties of these elements using the HeaRT rule engine [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] with the HalVA tool [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
5.1
      </p>
      <sec id="sec-5-1">
        <title>XTT2 rule representation</title>
        <p>
          EXtended Tabular Trees v2 (XTT2) is a knowledge representation that incorporates
an attributive table format. In this approach, similar rules are grouped in separated
tables, and the system is split into a network of such tables representing the inference
flow [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. The XTT2 structure and rules can be modeled visually using the HQEd
(HeKatE Qt Editor) rule editor. This table-based representation can be automatically
transformed into HeKatE Meta Representation (HMR) which is suitable for direct
execution by the HeKatE RunTime (HeaRT), a dedicated inference engine. HeaRT also
provides a verification module – HeKatE Verification and Analysis (HalVA) [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. The
module implements a debugging mechanism that allows tracking system trajectory and
logical verification of models. It is important to notice that formal verification is
possible thanks to the formalized description in the ALSV(FD) logic of the XTT2 rules.
5.2
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>Gateways verification</title>
        <p>
          Several problems related to selected BPMN elements may be considered. In the case
of gateways, it should be checked if all the possible conditions are taken into account
during the design. The proposed approach is as follows. A gateway BPMN element is
translated to a table XTT2 knowledge representation – in this case it is represented as
a single table. Diagram elements are translated to the XTT2 form according to
appropriate logic functions. Thus, a BPMN element and its sequence flows are transformed
to an XTT2 table filled with proper rules. Similar approach to the analysis of the BPMN
elements and corresponding logic functions can be found in [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>An exemplary decision table corresponding to the XOR gateway from the case study
is presented in Fig. 3. The table consist of four columns. The first two, marked with (?),
contain condition attributes, and the second two, marked with (-&gt;), contain the decision
attributes. Each row contains a single rule that specifies the requirements for the flow.</p>
        <p>The syntax of the resulting table can be validated in HQEd and then verified using
HeaRT with HalVA. In the presented example, assuming that the validation attribute
can take one of three values: error, passed or warning, the table can be verified against
its completeness. It can be observed that the state in which the validation attribute takes
the warning value is not included.</p>
        <p>It is important to note that even if all model elements are validated, the whole model
structure is still not grasped. Therefore, the verification of the model structure, presented
in Section 4, is needed.
syntax = checked
validation = passed
validation = error
(?) syntax (?) validation (-&gt;) error flow (-&gt;) passed flow
checked
checked
error
passed
Since BPMN does not specify the control logic of particular tasks, currently it has to be
implemented manually. In the proposed approach it can be specified either using rules
in the form of the XTT2 table or network, or as a HeaRT callback.</p>
        <p>
          After specification of the task logic using the XTT2 decision tables, there is a
possibility of their formal verification. Currently, HeaRT with the HalVA module allows for
verification and analysis of the XTT2 table, i.e.: checking the inconsistency of a single
rule, inconsistency of a pair of rules, incompleteness (lack of the ability to react for
every admissible input values), subsumption of conditions and subsumption of a pair of
rules, as well as identity and equivalence of rules [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>An exemplary XTT2 decision table for the Evaluation of a student work task is
shown in Table 1. The table can be used for evaluation a project, according to the
specified rules. The output of the table is a grade for a project.</p>
        <p>(?) implemented functionality (?) quality
(-&gt;) grade
= basic
= any
= basic
= advanced
= advanced
= low := satisfactory (D)
= low := satisfactory (D)
= high := good (C)
= fair := very good (B)
= high := excellent (A)</p>
        <p>Table 1. Decision table for student’s project evaluation</p>
        <p>In the presented table, it can be observed that there is no rule which can determine
the grade when implemented functionality is basic and the quality of the project is fair.
Thus, the verification would give the information about uncovered states
(incompleteness), as well as it would inform that the second rule subsumes the first one. This is
important when the system has to work correctly for any admissible input data and
produce deterministic, consistent solutions.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Evaluation</title>
      <p>The verification method presented in this paper is a new hybrid approach to the BPMN
model verification and constitute a preliminary attempt to BPMN model execution.</p>
      <p>
        From the structure point of view, the Alvis model resembles the original BPMN
one. After a verification of the Alvis model, it is easy to link the model properties to the
properties of original BPMN model. Contrary to the solutions presented in [
        <xref ref-type="bibr" rid="ref10 ref9">9,10</xref>
        ], our
approach supports the OR-join gateway and the multiple merge and split.
      </p>
      <p>From the single element point of view, the approach allows for using rule
verification methods. Although this requires to specify gateway conditions using the ALSV(FD)
logic and define the logic of tasks using the XTT2 representation, this can be a
consistent method, complementary to the Business Processes. Moreover, the transformation
from BPMN to XTT2 can be used for execution purposes in the future.</p>
      <p>Therefore, the presented approach differs from the earlier attempts in addressing
hierarchical verification of BPMN models. It allows for verification of both:
1. model structure (or flow) and
2. single elements (gateways and tasks) of the BPMN model.</p>
      <p>In both presented cases, the BPMN elements are taken into account. However,
thanks to the separation of layers, the approach provides the verification of distinct
properties on different abstraction levels.</p>
      <p>In the case of the BPMN model structure, the properties to verify can be divided
into two groups: safeness and liveness. The former is related to states properties e.g.
a project with correct content cannot be treated as a defective one. The latter concerns
properties of LTS graph paths e.g. if the time out signal has not been generated and a
project with correct content has been provide, the system must provide a suitable grade.</p>
      <p>When it comes to the BPMN elements, there are many properties which can be
verified, such as: lack of redundancy, consistency, minimal representation, or completeness.</p>
      <p>Although the approach concerns only a small subset of BPMN, extending of this
subset is expected in the future. Dedicated tools enabling automatic translation of the
BPMN model to Alvis and XTT2 representations are planned to be implemented.
Moreover, the formal definition of transformation rules will be developed.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Conclusion</title>
      <p>The paper presents preliminary results of the research concerning verification of BPMN
models. The original contribution is the proposal of a hybrid and hierarchical approach
to formal verification of selected BPMN models. We propose an approach which uses
the Alvis modeling language for the global verification of the model structure and
the XTT2 knowledge representation for the local verification i.e. verification of
single BPMN elements in the model. The presentation of the approach has been limited to
the presentation of a simple, yet illustrative, case study of a student’s project evaluation
process. The considered example contains only a few activities, gateways, and events,
However, it is possible to use the presented approach for more complex models.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Szpyrka</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Matyasik</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mrówka</surname>
          </string-name>
          , R.:
          <article-title>Alvis - modelling language for concurrent systems</article-title>
          . In Bouvry, P.,
          <string-name>
            <surname>Gonzalez-Velez</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kołodziej</surname>
          </string-name>
          , J., eds.:
          <article-title>Intelligent Decision Systems in Large-Scale Distributed Environments</article-title>
          .
          <article-title>Studies in Computational Intelligence</article-title>
          .
          <source>SpringerVerlag</source>
          (
          <year>2011</year>
          )
          <article-title>(in press).</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.J.</given-names>
          </string-name>
          , Lige˛za, A.:
          <article-title>HeKatE methodology, hybrid engineering of intelligent systems</article-title>
          .
          <source>International Journal of Applied Mathematics and Computer Science</source>
          <volume>20</volume>
          (
          <issue>1</issue>
          ) (
          <year>2010</year>
          )
          <fpage>35</fpage>
          -
          <lpage>53</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Kluza</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          , Mas´lanka, T.,
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.J.</given-names>
          </string-name>
          , Lige˛za, A.:
          <article-title>Representing BPMN diagrams with XTT2-based business rules proposal</article-title>
          . In Brazier,
          <string-name>
            <given-names>F.M.</given-names>
            ,
            <surname>Nieuwenhuis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Pavlin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Warnier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Badica</surname>
          </string-name>
          , C., eds.: Intelligent Distributed Computing V.
          <source>Studies in Computational Intelligence</source>
          . Springer-Verlag (
          <year>2011</year>
          ) in press.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Szpyrka</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.J.</given-names>
          </string-name>
          , Lige˛za,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Kluza</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          :
          <article-title>Proposal of formal verification of selected bpmn models with alvis modeling language</article-title>
          . In Brazier,
          <string-name>
            <given-names>F.M.</given-names>
            ,
            <surname>Nieuwenhuis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Pavlin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Warnier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Badica</surname>
          </string-name>
          , C., eds.: Intelligent Distributed Computing V.
          <source>Studies in Computational Intelligence</source>
          . Springer-Verlag (
          <year>2011</year>
          ) in press.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.J.:</given-names>
          </string-name>
          <article-title>Architecture of the HeaRT hybrid rule engine</article-title>
          . In Rutkowski, L., [et al.], eds.:
          <source>Artificial Intelligence and Soft Computing: 10th International Conference</source>
          , ICAISC 2010: Zakopane, Poland, June 13-17,
          <year>2010</year>
          , Pt.
          <source>II. Volume 6114 of Lecture Notes in Artificial Intelligence.</source>
          , Springer (
          <year>2010</year>
          )
          <fpage>598</fpage>
          -
          <lpage>605</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bobek</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Lige˛za,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Kaczor</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          :
          <article-title>Halva - rule analysis framework for xtt2 rules</article-title>
          . In Bassiliades, N.,
          <string-name>
            <surname>Governatori</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paschke</surname>
          </string-name>
          , A., eds.:
          <string-name>
            <surname>Rule-Based</surname>
            <given-names>Reasoning</given-names>
          </string-name>
          , Programming, and
          <string-name>
            <surname>Applications</surname>
          </string-name>
          . Volume
          <volume>6826</volume>
          of Lecture Notes in Computer Science., Springer Berlin / Heidelberg (
          <year>2011</year>
          )
          <fpage>337</fpage>
          -
          <lpage>344</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kluza</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ernst</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Modeling and analysis of business processes with business rules</article-title>
          . In Beckmann, J., ed.: Business Process Modeling:
          <article-title>Software Engineering, Analysis and Applications</article-title>
          . Business Issues, Competition and Entrepreneurship. Nova Publishers (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Raedts</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          , Petkovic´,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Usenko</surname>
          </string-name>
          , Y.S., van der Werf,
          <string-name>
            <given-names>J.M.</given-names>
            ,
            <surname>Groote</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.F.</given-names>
            ,
            <surname>Somers</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.</surname>
          </string-name>
          :
          <article-title>Transformation of BPMN models for Behaviour Analysis</article-title>
          . In Augusto,
          <string-name>
            <given-names>J.C.</given-names>
            ,
            <surname>Barjis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Nitsche</surname>
          </string-name>
          , U.U., eds.: MSVVEIS, INSTICC press (
          <year>2007</year>
          )
          <fpage>126</fpage>
          -
          <lpage>137</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>R.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ouyang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Formal semantics and automated analysis of BPMN process models</article-title>
          .
          <source>preprint 7115</source>
          .
          <source>Technical report</source>
          , Queensland University of Technology, Brisbane, Australia (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Ou-Yang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lin</surname>
            ,
            <given-names>Y.D.</given-names>
          </string-name>
          :
          <article-title>BPMN-based business process model feasibility analysis: a petri net approach</article-title>
          .
          <source>International Journal of Production Research</source>
          <volume>46</volume>
          (
          <issue>14</issue>
          ) (
          <year>2008</year>
          )
          <fpage>3763</fpage>
          -
          <lpage>3781</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ter Hofstede</surname>
            ,
            <given-names>A.H.M.:</given-names>
          </string-name>
          <article-title>YAWL: Yet another workflow language</article-title>
          .
          <source>Information Systems</source>
          <volume>30</volume>
          (
          <issue>4</issue>
          ) (
          <year>2005</year>
          )
          <fpage>245</fpage>
          -
          <lpage>275</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>García-Bañuelos</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Transforming BPMN diagrams into YAWL Nets</article-title>
          . In Dumas,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Reichert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Shan</surname>
          </string-name>
          , M.C., eds.:
          <source>Business Process Management. Volume 5240 of Lecture Notes in Computer Science</source>
          . Springer (
          <year>2008</year>
          )
          <fpage>386</fpage>
          -
          <lpage>389</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Wynn</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verbeek</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aalst</surname>
          </string-name>
          , W.v.d.,
          <string-name>
            <surname>Hofstede</surname>
          </string-name>
          , A.t.,
          <string-name>
            <surname>Edmond</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Business process verification - finally a reality!</article-title>
          <source>Business Process Management Journal</source>
          <volume>1</volume>
          (
          <issue>15</issue>
          ) (
          <year>2009</year>
          )
          <fpage>74</fpage>
          -
          <lpage>92</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Lam</surname>
            ,
            <given-names>V.S.W.</given-names>
          </string-name>
          :
          <article-title>Formal analysis of BPMN models: a NuSMV-based approach</article-title>
          .
          <source>International Journal of Software Engineering and Knowledge Engineering</source>
          <volume>20</volume>
          (
          <issue>7</issue>
          ) (
          <year>2010</year>
          )
          <fpage>987</fpage>
          -
          <lpage>1023</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Nalepa</surname>
            ,
            <given-names>G.J.</given-names>
          </string-name>
          , Lige˛za,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Kaczor</surname>
          </string-name>
          ,
          <string-name>
            <surname>K.</surname>
          </string-name>
          , Furman´ska, W.T.:
          <article-title>HeKatE rule runtime and design framework</article-title>
          . In Giurca,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Nalepa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.J.</given-names>
            ,
            <surname>Wagner</surname>
          </string-name>
          , G., eds.
          <source>: Proceedings of the 3rd East European Workshop on Rule-Based Applications (RuleApps</source>
          <year>2009</year>
          ) Cottbus, Germany,
          <year>September 21</year>
          ,
          <year>2009</year>
          , Cottbus, Germany (
          <year>2009</year>
          )
          <fpage>21</fpage>
          -
          <lpage>30</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. Lige˛za,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Nalepa</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.J.:</surname>
          </string-name>
          <article-title>Rules verification and validation</article-title>
          . In Giurca,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Gasevic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Taveter</surname>
          </string-name>
          , K., eds.:
          <source>Handbook of Research on Emerging Rule-Based Languages and Technologies: Open Solutions and Approaches. IGI Global</source>
          , Hershey, New York (
          <year>2009</year>
          )
          <fpage>273</fpage>
          -
          <lpage>301</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>