<!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>Operationalizing Declarative and Procedural Knowledge: a Benchmark on Logic Programming Petri Nets (LPPNs)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Giovanni Sileno</string-name>
          <email>g.sileno@uva.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Informatics Institute, University of Amsterdam</institution>
          ,
          <country country="NL">the Netherlands</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Modelling, specifying and reasoning about complex systems requires to process in an integrated fashion declarative and procedural aspects of the target domain. The paper reports on an experiment conducted with a propositional version of Logic Programming Petri Nets (LPPNs), a notation extending Petri Nets with logic programming constructs. Two semantics are presented: a denotational semantics that fully maps the notation to ASP via Event Calculus; and a hybrid operational semantics that process separately the causal mechanisms via Petri nets, and the constraints associated to objects and to events via Answer Set Programming (ASP). These two alternative speci cations enable an empirical evaluation in terms of computational e ciency. Experimental results show that the hybrid semantics is more e cient w.r.t. sequences, whereas the two semantics follows the same behaviour w.r.t. branchings (although the denotational one performs better in absolute terms).</p>
      </abstract>
      <kwd-group>
        <kwd>Reasoning</kwd>
        <kwd>Model-execution</kwd>
        <kwd>Discrete simulation</kwd>
        <kwd>Causal mechanisms</kwd>
        <kwd>Constraints</kwd>
        <kwd>Answer Set Programming</kwd>
        <kwd>Petri Nets</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>A proper treatment of cases or scenarios is based on two requirements: on the one
hand, to capture and adequately process the symbolic entities used to represent
the target system: instances, classes, interrelationships forming a local ontology
relevant to the domain in focus; on the other hand, to reproduce|by means of
elements modelling causal mechanisms, processes, courses of actions, etc.|the
same dynamics exhibited by the target system.</p>
      <p>Consider for example this case: \While John was walking his dog, the dog ate
Paul's owers." This event description is not su cient for entailing that John
is responsible to pay Paul for what happened, as typically this is concluded on
the basis of norms as \The owner of an animal has to pay for the damages it
produces.' '. However, even this addition lacks crucial connections between the
*Copyright c 2020 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0).
conceptual domain of the case and the one of the norm, like \dogs are animals ",
\eating an object destroys the object ", \destruction is damage", etc.</p>
      <p>
        These various elements exhibit two perspectives on knowledge: a declarative
perceptive, concerning objects (physical, mental, institutional) and their logical
relationships|both rei ed as symbols|; and a procedural perceptive,
concerning patterns of events/actions, mechanisms, or processes (involving objects) (cf.
reactive/declarative dichotomy in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]). Formal logic is the prototypical domain
concerned with the rst perspective, just as process modeling focuses on the
second. Unfortunately, methodologies associated with one of the two aspects
generally have a limited treatment of the other component, and they require
speci c mediating machinery to deal with. For instance, if you want to make a
certain outcome impossible in a procedural model you need to add conditions
that disable all transitions that might produce that outcome. If you want to
represent a transition in a declarative way, a typical approach is to consider
snapshots of the arrangements holding before and after the transition, usually
labeled with a sort of timestamp. This is the principle behind situation calculus
[
        <xref ref-type="bibr" rid="ref15 ref20">15, 20</xref>
        ], event calculus [
        <xref ref-type="bibr" rid="ref11 ref21">11, 21</xref>
        ], and uent calculus [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]: using appropriate
axioms, you can create and reason about the logical dependencies between these
snapshots in a way such that they are compatible to the causal relationships
between the moments they refer to.
      </p>
      <p>
        Rather than trying to project one dimension on the other, an alternative
tradition in AI and logic proposes to consider causality as a primitive notion. This
approach is for instance behind the idea of all Action languages [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Even when
the dichotomy is made clear, however, operationalizations of these languages
often result in compiling action programs to logic programs [
        <xref ref-type="bibr" rid="ref4 ref5">5, 4</xref>
        ], returning to
`snapshot-handling' solutions.
      </p>
      <p>The motivation behind this work stems from the hypothesis that leaving
process analysis to procedural descriptions should be in principle a better choice:
procedural components can directly map to native computational mechanisms,
that can be used not only to re-present, but also re-create the process object,
transforming the question from what the referent should be (characteristic of
logic), to what it is (characteristic of simulation and more in general of
modelexecution).</p>
      <p>
        The paper reports therefore on a simple benchmark experiment with an
hybrid notation (that is, including procedural and declarative knowledge
components), called Logic Programming Petri Nets (LPPNs).1 Section x 2 will introduce
the motivation and an informal semantics of LPPNs. Section x 3 will present a
formalisation of a propositional version of LPPN. Section x 4 will present an
hybrid operational semantics and a denotational semantics based on ASP
programs with Event Calculus. Section x 5 will present the results of a rst empirical
experiment. Discussion and a note on further developments end the paper.
1 A prototype of a LPPN interpreter is available on http://github.com/s1l3n0/
pypneu, together with the code run for conducting the experiment.
(a) not enabled transition, (b) enabled transition and (c) the transition has red
before ring ring
Logic Programming Petri Nets (LPPNs) are a visual notation rst introduced in
[
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] as an common representational ground where to align representations of law
(norms), of implementations of law (regulatory services in the form of business
processes), and of action (behavioural scripts ascribed to social participants).
It has been used for a wide class of models (business processes embedded with
normative positions, representation of scenarios issued from narratives, agent
scripts, deontic paradoxes, etc. [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]). The notation builds upon the intuition that
places and transitions mirror the common-sense distinction between objects and
events (e.g. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]), roughly re ecting the use of noun/verb categories in language
[
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]: the procedural components captured by Petri nets can be used to model
transient aspects of the system in focus; the declarative components captured by
logic programming construct can be used to model steady state aspects, i.e. those
on which the transient is irrelevant or does not make sense (e.g. terminological
constraints). In this section we will informally describe the bases motivating
their integration.
Petri nets are a simple, yet e ective computational modelling representation
featuring an intuitive visualisation (see Fig. 1). They consist in directed, bipartite
graphs with two types of nodes: places (visually represented with circles) and
transitions (with boxes). A place can be connected only to transitions and
viceversa. One or more tokens (dots) can reside in each place. The execution of Petri
nets is also named \token game": transitions re by consuming tokens from their
input places and producing tokens in their output places.2
      </p>
      <p>
        Despite their widespread use in computer science, electronics, business
process modelling and biology, Petri nets are generally considered not to be enough
expressive for reasoning purposes: in their simplest form, tokens are indistinct,
2 For an overview on the general properties of Petri nets see e.g. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
p4
p5
      </p>
      <p>AND</p>
    </sec>
    <sec id="sec-2">
      <title>IMPLIES p6</title>
      <p>(a)
p7</p>
      <p>
        E
t2
p9
p8
(b)
t3
E
t4
p10
p11
and do not transport any data. Nevertheless, it is a common practice for
modellers to introduce labels to set up a correspondence between the modelling
entities and the modelled entities. This practice enables them to read the results of
a model execution in reference to the modelled system. In other words, an
adequate labelling is still functional to the use of a Petri net for modelling purposes,
although it is not a requirement for the execution in itself. Further interaction
is possible if these labels are processed according to an additional formalism, as
for instance it occurs with Coloured Petri Nets (CPNs) [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] (for many aspects
a descendant of Predicate/Transition nets [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]). If their expressiveness and wide
application provide reasons for its adoption, CPNs also introduce many details
which are unimportant in a case modelling setting (e.g. expressions on arcs);
more importantly, they still lack the ability of specifying and processing
declarative bindings, necessary, for instance, to model terminological relationships. This
brings us to the idea of LPPN.
      </p>
      <p>Whereas Petri nets essentially specify procedural mechanisms, Logic
Programming Petri Nets (LPPNs) extend those (a) with literals as labels, attached
on places and transitions; (b) with nodes specifying (logic-programming based)
declarative bindings on places and on transitions. For simplicity, this paper will
focus only on propositional labelling. Under this constraint, the execution of
the LPPN procedural component is the same as Condition/Event nets, Petri
nets whose places do not contain more than one token (Fig. 1). Logic operator
nodes might apply on places (lp-nodes) or on transitions (lt-nodes). An example
of a sub-net with lp-nodes (small black squares) is given in Fig. 2a; these are
used to create logic compositions of places (via operators as NEG, AND, OR, etc).
or to specify logic inter-dependencies (via the logic conditional IMPLIES).
Similarly, transitions may be connected declaratively via lt-nodes (black circles), as
in Fig. 2b; these connections may be interpreted as channels enabling
instantaneous propagation of ring. In this case, it is not relevant to introduce operators
as AND, for the interleaving semantics, only one source transition may re per
step. Operationally, the declarative components are treated integrating the stable</p>
    </sec>
    <sec id="sec-3">
      <title>IMPLIES c5</title>
      <p>
        model semantics used in answer set programming (ASP) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. This was a natural
choice because process execution exhibits a prototypical `forward' nature, and
ASP solvers can be interpreted as providing forward chaining.3
Running example Let us consider the LPPN in Fig. 3. Here, for simplicity, we
will con ate the names of the transition/places with their labels (equivalent to
a unique name assumption); in the general case these should be made di erent
as there might be multiple nodes with the same label. The proposed net
speci es causal mechanisms, declarative constraints. There is only one token in c1,
enabling the transitions associated to e1 and e2. The following execution paths
are possible: (1) e2 res, consuming the token in c1, e3 res, consuming the
token c4 and producing a token in c3; (2, 3) e3 res, and then one of e1 or e2
res; (4) e1 res, consuming the token in c1; the ring propagates to e3; the
source ring of e1 also produces a token in c2; the existence of c2 is a su cient
condition for immediately reifying c5.
3
      </p>
      <sec id="sec-3-1">
        <title>Formalization</title>
        <p>
          This section presents a simpli ed version of the LPPN notation considering only
a propositional labeling. We start from the de nition of propositional literals
derived from ASP [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], accounting for strong and default negation.
De nition 1 (Literal and Extended literals). Given a set of propositional
atoms A, the set of literals L = L+ [ L consists of positive literals (atoms)
L+ = A, negative literals (negated atoms) L = f a j a 2 Ag, where ` ' stands
for strong negation.4 The set of extended literals L = L [ Lnot consists of
3 Both SLD/SLDNF resolution (Prolog) and DPLL (ASP) are based on backward
chaining. In DPLL, however, all variables are grounded, and all intermediate atoms
generated in the search are collected in stable models; without de ning any goal, all
the worlds that are implied by the input knowledge are returned as output. From
an external perspective, this is the same result we would associate with forward
chaining. The intuition that there is a relation between ASP and forward chaining
is con rmed e.g. in ASPeRiX [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
4 Strong negation is used to reify an explicitly false situation (e.g. \It does not rain").
literals and default negation literals Lnot = fnot lj l 2 Lg, where `not' stands
for default negation.5
We denote the basic topology of a Petri net as a procedural net.
De nition 2 (Procedural net). A procedural net is a bipartite directed
graph connecting two nite sets of nodes, called places and transitions. It can
be written as N = hP; T; Ei, where P = fp1; : : : ; png is the set of place nodes;
T = ft1; : : : ; tmg is the set of transition nodes; E = E+ [ E is the set of arcs
connecting them: E+ from transitions to places, E from places to transitions.
LPPNs consists of three components: a procedural net specifying causal
relationships, and two declarative nets specifying respectively logical dependencies
at the level of objects or ongoing events (on places), and on impulse events (on
transitions). Furthermore, propositional LPPNs exhibit a boolean marking on
places (like condition/event nets).
        </p>
        <p>De nition 3 (Propositional Logic Programming Petri Net). A
propositional Logic Programming Petri Net LPPN prop is a Petri Net whose places and
transitions are labeled with literals, enriched with declarative nets of places and
of transitions. It is de ned by the following components:
{ hP; T; PE i is a procedural net; PE stands for procedural edges;
{ CP : P ! L and CT : T ! L are labeling functions, associating literals
respectively to places and to transitions;
{ OP = f:; ; ^; _; !; $; : : :g is a set of logic operators.
{ LP and LT are sets of logic operator nodes respectively for places ( lp-nodes)
and for transitions ( lt-nodes).
{ CLP : LP ! OP maps each lp-node to a logic operator; similarly, CLT :</p>
        <p>LT ! OP does the same for lt-nodes.
{ DE LP = DE L+P [ DE LP is the set of arcs connecting lp-nodes to places;
similarly, DE LT = DE L+T [ DE LT for lt-nodes and transitions.6
{ M : P ! f0; 1g returns the marking of a place, i.e. whether the place
contains (1) or does not contain (0) a token.</p>
        <p>Note that if LP [ LT = ?, we have a strictly procedural LPPN prop, i.e. a
standard binary Petri net. If T = ?, we have a strictly declarative LPPN prop,
that can be directly mapped to an ASP program. For simplicity, we overlook
in this document the syntaxic constraints on the network topology which are
inherited from ASP.
4</p>
      </sec>
      <sec id="sec-3-2">
        <title>Semantics</title>
        <p>This section will present two semantics for LPPNs: a hybrid operational
semantics and a denotational semantics, based on ASP and event calculus.
5 Default negation is used to reify a situation in which something cannot be
retrieved/inferred (e.g. `It is unknown whether it rains or not').
6 Note that DE LT (T [ P ) LT , i.e. these edges go from transitions and places
(modeling contextual conditions) to lt-nodes.</p>
        <sec id="sec-3-2-1">
          <title>Hybrid operational semantics</title>
          <p>The execution cycle of a LPPN consists of four steps:
1. given a \source" marking M , the bindings of the declarative net of places
entail a \ground" marking M ;
2. an enabled transition is selected to pre- re, determining a \source"
transitionevent e;
3. the bindings of the declarative net of transitions entail all propagations of
this event, obtaining a set of transition-events, also denoted as the \ground"
event-marking E ;
4. all transition-events are red, producing and consuming the relative tokens.
The steps (1) and (3) are processed in distinct moments and programs by an
ASP solver: the declarative nets of places (1) or of transitions (3) are translated
as rules, tokens (1) or source transition-events (3) are rei ed as facts. The ASP
solver takes as input the resulting program and, if satis able, it provides as
output respectively one or more ground marking (1) or one or more sets of
transition-events to be red (3). The steps (2) and (4) make clear the distinction
the external rings (the \source" transition-event selected at execution level)
from the internal ring, immediately propagated (the \ground" transition-events
triggered by the declarative net of transitions). The following de nitions provides
a formalisation of these concepts.</p>
          <p>De nition 4 (Enabled transition). A transition t is enabled in a ground
marking M if a token is available for each input places:</p>
          <p>Enabled (t)</p>
          <p>8pi 2 t; M (p) = 1
Similarly to what marking is for places, we consider an event-marking for
transitions E : T ! f0; 1g. E(t) = 1 if the transition t produces a transition-event
e. Each step s has a \source" event-marking E.</p>
          <p>De nition 5 (Pre- ring). An enabled transition t pre- res (implicitly, at a
step s) if it is selected to produce a transition-event:
8t 2 Enabled (T ) : t pre- res</p>
          <p>E(t) = 1
Applying an interleaving semantics for the pre- ring, the interpreter selects only
one transition to pre- re per step; for any other t0, E(t0) = 0.</p>
          <p>De nition 6 (Firing). An enabled transition t res (implicitly, at a step s) by
propagation consuming a token from each input place, and producing a token in
each output place:</p>
          <p>8t 2 Enabled (T ) : t res</p>
          <p>E (t) = 1 $ 8pi 2 t : M 0(pi) = 0 ^ 8po 2 t : M 0(po) = 1
4.2</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Denotational semantics</title>
          <p>One of the possibilities to validate a formal language is to map it into another
formal language, i.e. to provide a denotational semantics. The declarative
component of a LPPN, by design, can be directly rewritten as ASP code. As we
are already halfway down the path, we can translate the remaining procedural
component into ASP.</p>
          <p>
            Event Calculus axioms A well-known solution to treat change in logic
programming is event calculus (EC) [
            <xref ref-type="bibr" rid="ref11 ref21">11, 21</xref>
            ]. The simple version of EC is already
satisfactory for our purposes. A modi cation of the original axioms is however
necessary to deal with the locality brought by places and transitions:
holdsAt(F, P, N)
:initially(F, P), not clipped(0, F, P, N),
fluent(F), place(P), time(N).
holdsAt(F, P, N2)
:firesAt(T, N1), N1 &lt; N2,
initiates(T, F, P, N1), not clipped(N1, F, P, N2),
place(P), transition(T), fluent(F), time(N1), time(N2).
clipped(N1, F, P, N2)
:firesAt(T, N), N1 &lt;= N, N &lt; N2,
terminates(T, F, P, N),
place(P), transition(T), fluent(F), time(N1), time(N2), time(N).
Interleaved semantics axioms The interleaved semantics can be translated
into the following rules:
i. all enabled transitions may or may not pre- re;
ii. pre- ring is transformed to ring;
iii. at least one enabled transition must pre- re per step, i.e. it is impossible
that no transition re if there are enabled transitions;
iv. at maximum one transition can pre- re per step.
          </p>
          <p>In ASP code:
{prefiresAt(T, N)}
:</p>
          <p>enabled(T, N), transition(T), time(N).
firesAt(T, N) :- prefiresAt(T, N).
someTransitionPrefiresAt(N) :- % (iii)
prefiresAt(T, N), transition(T), time(N).
:- not someTransitionPrefiresAt(N), enabled(T, N), transition(T), time(N).
:- prefiresAt(T1, N), prefiresAt(T2, N), T1 != T2,
transition(T1), transition(T2), time(N).
% (i)
% (ii)
% (iv)
Transformation of a LPPN to an ASP program The mapping of a given
LPPN to an equivalent ASP program includes the previous axioms and the
output of the following steps:
i. for each place p, with label CP (p)
(a) type it as place,
(b) specify its initial state,
(c) for each place with more than one output, write down that you cannot
consume more than the only available token.
ii. for each transition t, with label CT (t)
(a) type it as transition,
(b) de ne the conditions for which it is enabled,
(c) for each output place, de ne how to create tokens in the output places,
(d) for each input place, de ne how to consume tokens in the output places.
iii. for each lp-node lp,</p>
          <p>(a) specify the logic constraint to be applied between inputs and outputs.
iv. for each lt-node lt ,
(a) write down the logic dependencies between transitions allowing the
propagation.</p>
          <p>
            As a concrete example, we apply these actions on some of the components of the
LPPN in Fig. 3:
fluent(filled).
%%% p1, associated to c1
place(c1). % 1.a
initially(filled, c1). % 1.b
:- 2{terminates(e2, filled, c1, N); terminates(e1, filled, c1, N)}. % 1.c
%%% t1, associated to e1
transition(e1).
enabled(e1, N) :- holdsAt(filled, c1, N).
terminates(e1, filled, c1, N) :- firesAt(e1, N).
initiates(e1, filled, c2, N) :- firesAt(e1, N).
%% lp1
holdsAt(filled, c5, N) :- holdsAt(filled, c2, N).
%% lt1
firesAt(e3, N) :- firesAt(e1, N), enabled(e3, N).
% 2.a
% 2.b
% 2.c
% 2.d
% 3.a
% 4.a
Execution With the transformation steps given above, valid LPPNs can be
transformed into ASP programs. In particular, for the axioms presented here, these
programs can be solved the ASP engine clingo [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ], also available online at:
https://potassco.org/clingo/run/. Setting a temporal range (with the
instruction \time(0..n).") the output answer sets represent all possible
executions path after at most n steps.
The proposal presented above has been used for developing a prototype Python
application for specifying, executing and analyzing LPPNs7; it exploits clingo
[
            <xref ref-type="bibr" rid="ref3">3</xref>
            ], as this provide runtime interfaces enabling a direct control of the solver
instance without regrounding the program at each cycle. This enabled us to
perform some direct evaluation of any given LPPN input.
          </p>
          <p>When we process the input LPPN by means of the denotational semantics,
the input is transformed to an ASP program, and the solver intervenes fully
to provide the possible execution paths. Instead, when we refer to the hybrid
operational semantics, the solver intervenes only partially in the execution cycle,
to entail the constraints implied by the declarative components of the net; the
rest of the computational burden is on the module responsible for the Petri net
execution. In this context, one might ask if we can observe some performances
between these two alternative modes of analysis/execution.
7 Available at http://github.com/s1l3n0/pypneu.
serial 1
EC 0.1
BF+BT 0.2</p>
          <p>51
EC 352.4
BF+BT 11.0
forking 1
EC 0.1
BF+BT 0.4</p>
          <p>6
EC 19.6
BF+BT 55.3</p>
          <p>At the moment, we have only evaluated a propositional version of LPPN, and
a limited series of structures, namely compositions of minimal serial elements
(a transition with an input and output places) or minimal forking elements
(a place with two output transitions). In order to implement the procedural
component of the operational semantics, the current Petri Net analysis module
builds upon a simple brute force (BF) execution algorithm, and depth- rst search
with backtracking (BT) to cover all the possible execution paths.</p>
          <p>Table 1 summarises the performances of 10 executions of di erent network
con gurations.8 Results are also illustrated on Fig. 4. The data essentially
conrms our hypothesis: the analysis based on the operational semantics (BF+BT)
clearly outperforms and scales excellently for the serial con gurations, while that
based on the denotational semantics (EC) scales poorly in this con guration. For
the forking con gurations, BF+BT is evidently slower in absolute terms.
Intuitively this is due to the e cient search and pruning capabilities of ASP. Unlike
clingo, the Python code of the Petri net executor/analyzer is not optimised; on
the contrary, for many aspects this represents a lower-bound on the possible
implementation choices. Nevertheless, if we consider execution times in logarithmic
scale, we observe that the two methods are essentially comparable in terms of
tractability.
6</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>Conclusion</title>
        <p>
          The paper presents an empirical experiment with LPPNs, a logic
programmingbased extension to Petri Nets. LPPNs were introduced with a practical goal
8 The tests were run on a MacBook Pro (2018) provided with a 2.2 GHz 6-core
processor Intel Code i7 and 16Gb RAM DDR4.
in mind: a visual modelling notation relatively simple for non-experts, that
could handle explicit declarative knowledge, and that could model causation
and other procedural aspects [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]. It was inspired by the point made in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]
on the widespread confusion in cognitive science and computational disciplines
around the notion of rules (namely between declarative and reactive rules).
Previous contributions [
          <xref ref-type="bibr" rid="ref22 ref23">22, 23</xref>
          ] highlighted the potential use of LPPNs in normative
modelling tasks in combination with business process modelling, thus potentially
facilitating cross-fertilization between theoretical to practical settings.
        </p>
        <p>Here the focus has been put on its computational properties, showing that
maintaining the two levels separated can bring better performances. The
declarative dimension allows to treat at higher abstraction phenomena for which there
is a viable speci cation at outcome level. The procedural dimension works better
for processes that can be directly executed.</p>
        <p>
          Future developments concern the extension of this work to a wider range of
experiments, rst considering mixed networks (of declarative, procedural
components) with mixed con gurations (serial compositions, forks, joins, etc.) and
then passing to the extended LPPN notation accounting for predicates. The
actual impact on real models should be evaluated as well: scenarios describing
cases have very few forks, they rather function as orchestrated (i.e. directed
from the scenario) scripts (procedural models distributed amongst actors).
Consequently, applications that require the use of scenarios (e.g. for interpretation,
model-based diagnosis, conformance checking, etc.) may take advantage of the
hybrid operational semantics. The computational improvement may be further
extended considering existing proposals in the literature. For instance, execution
algorithms alternative to brute execution [
          <xref ref-type="bibr" rid="ref16 ref19">16, 19</xref>
          ]; or decomposition techniques,
for instance in single-entry-single-exit (SESE) components [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ], that open up
the possibility of concurrent execution.
        </p>
        <p>
          Further, these results should be confronted with existing techniques for
handling temporal reasoning and causality, e.g. the already cited Action languages
[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ], related works (e.g. F2LP [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]) and applications (CCalc, Coala, Cplus2ASP);
optimized versions of Event Calculus (e.g. [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]); applications based on LTL, CTL
and related formalisms.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Artikis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sergot</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paliouras</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>An Event Calculus for Event Recognition</article-title>
          .
          <source>IEEE Transactions on Knowledge and Data Engineering</source>
          <volume>27</volume>
          (
          <issue>4</issue>
          ),
          <volume>895</volume>
          {
          <fpage>908</fpage>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Breuker</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hoekstra</surname>
          </string-name>
          , R.:
          <article-title>Core concepts of law: taking common-sense seriously</article-title>
          .
          <source>Proc. of Formal Ontologies in Information</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fink</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woltran</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>A user's guide to gringo, clasp, clingo, and iclingo</article-title>
          .
          <source>Annals of Mathematics and Arti cial Intelligence</source>
          <volume>51</volume>
          (
          <issue>2-4</issue>
          ),
          <volume>123</volume>
          {
          <fpage>165</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ferraris</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Representing rst-order causal theories by logic programs</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          <volume>12</volume>
          (
          <issue>03</issue>
          ),
          <volume>383</volume>
          {412 (may
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grote</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schaub</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Coala: A compiler from action languages to</article-title>
          <source>ASP. Lecture Notes in Computer Science (including subseries Lecture Notes in Arti cial Intelligence and Lecture Notes in Bioinformatics) 6341 LNAI</source>
          ,
          <volume>360</volume>
          {
          <fpage>364</fpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gelfond</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lifschitz</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Action languages</article-title>
          .
          <source>Electronic Transactions on AI</source>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Genrich</surname>
          </string-name>
          , H.J.: Predicate/Transition Nets.
          <source>In: Proceedings Advances in Petri nets 1986</source>
          . pp.
          <volume>207</volume>
          {
          <issue>247</issue>
          (
          <year>1987</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Jensen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <source>Coloured Petri Nets: Basic Concepts</source>
          ,
          <source>Analysis Methods and Practical Use</source>
          . Springer-Verlag, London, UK (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kemmerer</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eggleston</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Nouns and verbs in the brain: Implications of linguistic typology for cognitive neuroscience</article-title>
          .
          <source>Lingua</source>
          <volume>120</volume>
          (
          <issue>12</issue>
          ),
          <volume>2686</volume>
          {
          <fpage>2690</fpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kowalski</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadri</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Integrating logic programming and production systems in abductive logic programming agents</article-title>
          .
          <source>Web Reasoning and Rule Systems LNCS 5837</source>
          ,
          <issue>1</issue>
          {
          <fpage>23</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Kowalski</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sergot</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A logic based calculus of events</article-title>
          .
          <source>New Generation Computing</source>
          <volume>4</volume>
          (
          <year>June 1975</year>
          ),
          <volume>67</volume>
          {
          <fpage>95</fpage>
          (
          <year>1986</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Palla</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>System f2lp - computing answer sets of rst-order formulas</article-title>
          .
          <source>Lecture Notes in Computer Science (including subseries Lecture Notes in Arti cial Intelligence and Lecture Notes in Bioinformatics) 5753 LNAI</source>
          ,
          <volume>515</volume>
          {
          <fpage>521</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Lefevre</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nicolas</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A First Order Forward Chaining for Answer Set Computing</article-title>
          .
          <source>LPNMR 2009 LNCS</source>
          <volume>5753</volume>
          ,
          <issue>196</issue>
          {
          <fpage>208</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Lifschitz</surname>
          </string-name>
          , V.:
          <article-title>What Is Answer Set Programming?</article-title>
          <source>Proceedings of the AAAI Conference on Arti cial Intelligence</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>McCarthy</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hayes</surname>
            ,
            <given-names>P.J.:</given-names>
          </string-name>
          <article-title>Some philosophical problems from the standpoint of arti cial intelligence</article-title>
          .
          <source>In: Machine Intelligence</source>
          , pp.
          <volume>1</volume>
          {
          <fpage>51</fpage>
          . Edimburgh University Press (
          <year>1969</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Moreno</surname>
            ,
            <given-names>R.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Salcedo</surname>
            ,
            <given-names>J.L.V.</given-names>
          </string-name>
          :
          <article-title>Performance evaluation of petri nets execution algorithms</article-title>
          .
          <source>Conference Proceedings - IEEE International Conference on Systems, Man and Cybernetics</source>
          pp.
          <volume>1400</volume>
          {
          <issue>1407</issue>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Munoz-Gama</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Carmona</surname>
          </string-name>
          , J.,
          <string-name>
            <surname>Van Der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Single-Entry</surname>
          </string-name>
          Single
          <article-title>-Exit decomposed conformance checking</article-title>
          .
          <source>Information Systems</source>
          <volume>46</volume>
          ,
          <fpage>102</fpage>
          {
          <fpage>122</fpage>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Murata</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Petri nets: Properties, analysis and applications</article-title>
          .
          <source>Proceedings of the IEEE 77(4)</source>
          (
          <year>1989</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Piedra</surname>
            <given-names>ta</given-names>
          </string-name>
          , R.,
          <string-name>
            <surname>Villarroel</surname>
            ,
            <given-names>J.L.</given-names>
          </string-name>
          :
          <article-title>Performance evaluation of petri nets centralized implementation. The execution time controller</article-title>
          .
          <source>Discrete Event Dynamic Systems: Theory and Applications</source>
          <volume>21</volume>
          (
          <issue>2</issue>
          ),
          <volume>139</volume>
          {
          <fpage>169</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Reiter</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Knowledge in action: logical foundations for specifying and implementing dynamical systems</article-title>
          . MIT Press (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Shanahan</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The event calculus explained</article-title>
          .
          <source>Arti cial Intelligence</source>
          Today pp.
          <volume>409</volume>
          {
          <issue>430</issue>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Sileno</surname>
          </string-name>
          , G.:
          <article-title>Aligning Law and Action</article-title>
          .
          <source>Ph.D. thesis</source>
          , University of Amsterdam (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Sileno</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boer</surname>
            , A., van Engers,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>A Petri net-based notation for normative modeling: evaluation on deontic paradoxes</article-title>
          . In: Workshop on MIning and
          <article-title>REasoning with Legal texts (MIREL2017) in conjunction with ICAIL2017 (</article-title>
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Thielscher</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>From situation calculus to uent calculus: State update axioms as a solution to the inferential frame problem</article-title>
          .
          <source>Arti cial Intelligence</source>
          <volume>111</volume>
          (
          <issue>1-2</issue>
          ),
          <volume>277</volume>
          {
          <fpage>299</fpage>
          (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>