<!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>A Two Player Asynchronous Game with Privacy Constraints on Petri Nets (short paper)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Federica Adobbati</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luca Bernardinello</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lucia Pomello</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi di Milano-Bicocca</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National Institute of Oceanography and Applied Geophysics - OGS</institution>
          ,
          <addr-line>Trieste</addr-line>
          ,
          <country country="IT">Italia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this short presentation we propose a formal framework based on a two-player game on Petri nets. We consider multi-agent systems in which a component, the controller, needs to guarantee a certain liveness property on the system behaviour, while keeping secret some of its actions to the other system components, and we discuss the basis for a uniform solution of this problem.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Two-player game</kwd>
        <kwd>non-interference</kwd>
        <kwd>reveals relations</kwd>
        <kwd>Petri nets</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>We propose a framework for the formal study of concurrent multi-agent systems, in which a
component (the controller) needs to keep certain services active, and at the same time needs to
keep secret some of its actions.</p>
      <p>
        These two problems are often studied separately; a common way to check whether the
controller is able to guarantee a certain property consists in modelling the problem as a
twoplayer game, and verifying the existence of a winning strategy for the controller, namely a
selection of moves such that the property is always guaranteed in the system, regardless of
the behavior of the remaining part of the system. Typical goals for the controller consist in
avoiding a set of states [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], performing a given action [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], or satisfying a given temporal logic
formula [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>
        To check whether a system satisfies some privacy requirements, several notions of
noninterference and opacity have been introduced [
        <xref ref-type="bibr" rid="ref4 ref5 ref6">4, 5, 6</xref>
        ], aiming to verify that an intruder cannot
be able to recover secret information by just observing the visible behaviour of the system.
      </p>
      <p>
        Our goal is to put the basis for a unified analysis of these two problems. We define a
multiagent system as a 1-safe Petri net, where transitions are partitioned into controllable and
uncontrollable, and a subset of controllable transitions needs to remain secret. We define the
privacy requirement through the reveals relation [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], that was used in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] to provide a
noninterference notion, and we model the interaction of the controller with the rest of the system,
that we will call environment, as a two player game, where players can move asynchronously.
We assume that the controller can base its strategy on the partial observations of the current
state of the system, hence it observes a subset of places, whereas the environment can deduce
information by observing the occurrences of some transitions. We discuss the interactions
between the liveness and the non-interference goals, and diferent notions of winning strategies
based on diferent ability assumptions for the environment.
      </p>
      <p>This work builds on [8], where we define an algorithm to check the existence of a winning
strategy when the goal of the controller is a LTL formula and the system is modelled as a 1-safe
net, and on [9], where we propose an algorithm to verify the existence of reveals relations for a
subclass of bounded P/T systems.</p>
      <p>The main ideas of our approach are illustrated in the following, extremely simplified, example.
Consider the Petri net in Fig. 1, where transitions in grey belong to the controller. Transition 
models the request of a service, which can be supplied in two distinct ways (either  or ). The
controller must guarantee that every request is sooner or later satisfied, so that the environment
will reach place ; at the same time, the environment should not be able to deduce whether 
or  was chosen. Suppose that the environment does not directly observe the grey transitions.
If transition  fires, then the environment can deduce that  was chosen. Hence, a winning
strategy for the controller consists in never firing .</p>
    </sec>
    <sec id="sec-2">
      <title>2. Basic definitions</title>
      <p>In the following we assume the basic definitions of Petri net theory such as 1-safe net systems
and their unfoldings ([10], [11]).</p>
      <p>Let Σ = ( , , , ) be a 1-safe net system and unf(Σ) = ( , , ,  ) be its unfolding.</p>
      <p>The set  is partitioned into two disjoint subsets, , the set of controllable transitions, and
, the set of uncontrollable transitions which belong to the environment.</p>
      <p>In addition, T can be partitioned into high and low transitions, denoted ℎ and , respectively.
We assume ℎ ⊆ , being ℎ the set of controllable transitions which must remain secret,
i.e.: the set of transitions whose occurrence should not be deduced by the environment. By
consequence, the events in the unfolding will be partitioned into , controllable, and ,
uncontrollable events, according to their labels; moreover,  will contain the set ℎ of occurrence
of secret transitions, the high events.</p>
      <p>A run is a prefix  = ( ,  ,  ,   ) of the unfolding of Σ , describing a particular history
in which conflicts have been solved, i.e.: the underlying net ( ,  ,  ) is conflict-free. A cut
in  is a maximal set of pairwise concurrent elements of  .</p>
      <p>Let  be a set of runs in unf(Σ) and 1, 2 ∈  ; we say 1 reveals 2 in , denoted 1 ◁ 2 ,
if each run in  which contains an occurrence of 1 also contains at least one occurrence of 2.</p>
      <p>Formally, 1 ◁ 2 if 1) ∀ ∈  1 ∈   ( ) ⇒ 2 ∈   ( ), and 2) there is a run  ∈ 
such that: 1 ∈   ( ).</p>
      <p>We will say that the set of runs  satisfies the non-interference property if and only if there
is no pair of transitions  ∈ , ℎ ∈ ℎ such that  reveals ℎ in .</p>
    </sec>
    <sec id="sec-3">
      <title>3. The game</title>
      <p>In this section we define a two-player asynchronous game.</p>
      <p>Let Σ = ( , , , ) be a 1-safe net,  the set of controllable transitions,  =  ∖ ;
unf(Σ) = ( , , ,  ) its unfolding, with  ⊂  the set of controllable events. A strategy
is a function that returns a subset of controllable transitions, based on the current controller
observation. In this work we assume that the controller can observe a subset of places in the
system, and that has no memory, therefore its observations are subsets of markings.</p>
      <p>The game we are defining is asynchronous, in the sense that players do not take turns; any
player can decide to fire one of its transitions, when the transition is enabled, and we assume
that the system is distributed in space. This implies that even if a place is observable by the
controller, in general the controller cannot base its strategy on the information that the place is
marked or unmarked, if a non controllable transition is enabled, and might change the marking
of the place. Hence we introduce the concept of stable part of a marking. Let  be a reachable
marking. Its stable part is defined as the set of places in  whose tokens cannot be consumed by
any sequence of uncontrollable transitions enabled in . We assume that the controller can base
his decisions only upon the observable and stable parts of markings. This is motivated by the
fact that even if the value of a certain local state is not hidden to the controller, its information
may arrive to the controller with a certain delay. By definition, if a place is not in the stable part
of a marking, its value may change due to a transition that is out of the control of the controller,
therefore the information about it may arrive outdated to the controller, that cannot count on
it. If we denote with  the set of reachable markings and with obs the function that for each
marking associates its stable and observable part, we can formally define a strategy (abusing
the notation) as  : obs( ) → 2 .</p>
      <p>We assume that the set of the environment transitions  ⊆  has a progress constraint,
that is, if a transition  ∈  is constantly enabled, it will eventually fire. Let  ⊆  be
the set of events corresponding to the occurrence of transitions in . A play is a run  of the
unfolding, maximal with respect to , namely  ′ obtained by extending  with an  ∈ 
cannot be a run.</p>
      <p>A play  is consistent with a strategy  if (1) for each  ∈  ∩  there is a cut  such that
 ( ) =  and  ∈  (obs()), i.e. each controllable event was allowed by  in the play; (2) no
event belonging to the controller is finally postponed, namely there is no event  ∈  enabled
in  but not present in  , which is constantly selected by  .</p>
      <p>
        Given a play, to decide whether the controller wins it, we need to formally define its goal. As
stated in the introduction, we consider goals composed by two parts that need to be verified at
the same time. The first is the ability of the controller to eventually guarantee a certain service,
whenever it is required. Let req be the place denoting that the service has been requested and s
the place denoting the service. We express this part of the goal with an LTL formula, specifically
( →  ), where  and  are, respectively, the globally and the eventually temporal
operators. In words, whenever a request is made, it will eventually be satisfied. The second is
the secrecy property, namely let ℎ ⊆  be the subset of high transitions and  =  ∖ ℎ the
subset of low transitions. The environment should not be able to discover the occurrence of a
high transition through the observation of low transitions. We model this property through
reveals, namely we require that there is no pair ℎ, , in the considered set of runs , such
that  ◁ ℎ. In the literature [
        <xref ref-type="bibr" rid="ref7">7, 9</xref>
        ], reveals is defined with respect to the maximal runs of the
unfolding; however, in our context this seems not the best option, since the set of plays in
the game (hence the runs which can actually occur) do not necessarily coincide with the set
of maximal runs. Here we propose some alternative definitions of set of plays  on which
computing reveals can be significant in our context, based on diferent assumptions on the
knowledge and the ability of the environment. These options are ordered from the larger to
more restrictive .
      </p>
      <p>1.  could be the set of all the runs on the system maximal with respect to the set . This
is the set of all the runs allowed by the game. This option works if the environment is not
aware of the goal of the controller; if this is the case, it cannot restrict the behaviours of
the system by computing a set of possible strategies, but has to consider that any possible
run allowed in the game can occur.
2.  is the set of all the runs on the system, maximal with respect to the set  and where
the LTL formula is satisfied. In this case we assume that the environment is aware of the
ifrst goal of the controller, but it is still not able to compute a strategy that the controller
could take.
3.  is a set of runs such that for each  ∈  there is a strategy  such that  is winning
with respect to the LTL goal, and  is a play consistent with  . In this case we consider a
partially rational environment, that is able to restrict the behaviours of the controller by
knowing its goal and by computing which behaviours the controller could have in order
to be sure to reach it.
4.  is a set of runs such that for each  ∈  there is a strategy  as follows:
•  is winning for the LTL goal;
• for each  ∈  that can fire by following  , there is no ℎ ∈ ℎ that fires by
following  such that  ◁ ℎ in the runs allowed by  .</p>
      <p>This is the case in which the environment is not only able to compute a strategy for
liveness, but also to compute which strategies should be avoided in order to let it deduce
information about occurrences of high transitions.</p>
      <p>When we pursue the last option, we only need to check whether  is empty; if it is not, the
controller has a winning strategy. In all the other cases we need to compute the reveals relation
on the set .</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion and prospects</title>
      <p>
        We have described a framework, based on Petri nets, in which it is possible to combine two
types of problems, that we tackled in recent years: exploiting a kind of asynchronous game in
order to prove certain liveness properties, and studying a relation between events, useful in
formalizing non-interference in distributed systems. The next steps we plan to carry on relate to
the search for algorithms to decide whether a winning strategy for the controller exists. To this
aim, we plan to start from the algorithms that we developed for solving each of these problems
[9, 8], by adapting them to work in the combined case. This step is not trivial, since a strategy
tuned for one goal among liveness and non-interference may not satisfy the other. Longer term
goals include considering generalizations of the  relation, using an  relation [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]
in order to define more flexible notions of non-interference, and generalizations of the overall
scheme, by allowing more than two agents.
[8] F. Adobbati, L. Bernardinello, L. Pomello, Looking for winning strategies in two-player
games on Petri nets with partial observability, arXiv preprint arXiv:2204.01603 (2022).
[9] F. Adobbati, L. Bernardinello, G. Kılınç Soylu, L. Pomello, Computing a parametric reveals
relation for bounded equal-conflict Petri nets, in: Transactions on Petri Nets and Other
Models of Concurrency XVII, Springer, 2023, pp. 54–83.
[10] T. Murata, Petri nets: Properties, analysis and applications, Proceedings of the IEEE 77
(1989) 541–580. doi:10.1109/5.24143.
[11] J. Engelfriet, Branching processes of Petri nets, Acta Inf. 28 (1991) 575–591. URL: https:
//doi.org/10.1007/BF01463946. doi:10.1007/BF01463946.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B.</given-names>
            <surname>Finkbeiner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.-R.</given-names>
            <surname>Olderog</surname>
          </string-name>
          , Petri games:
          <article-title>Synthesis of distributed systems with causal memory</article-title>
          ,
          <source>Information and Computation</source>
          <volume>253</volume>
          (
          <year>2017</year>
          )
          <fpage>181</fpage>
          -
          <lpage>203</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bernardinello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Kılınç</surname>
          </string-name>
          , L. Pomello,
          <article-title>Weak observable liveness and infinite games on ifnite graphs</article-title>
          ,
          <source>in: Application and Theory of Petri Nets and Concurrency: 38th International Conference, PETRI NETS</source>
          <year>2017</year>
          , Zaragoza, Spain, June 25-30,
          <year>2017</year>
          , Proceedings 38, Springer,
          <year>2017</year>
          , pp.
          <fpage>181</fpage>
          -
          <lpage>199</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>R.</given-names>
            <surname>Alur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Kupferman</surname>
          </string-name>
          ,
          <article-title>Alternating-time temporal logic</article-title>
          ,
          <source>Journal of the ACM (JACM) 49</source>
          (
          <year>2002</year>
          )
          <fpage>672</fpage>
          -
          <lpage>713</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>N.</given-names>
            <surname>Busi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Gorrieri</surname>
          </string-name>
          ,
          <article-title>A survey on non-interference with Petri nets</article-title>
          ,
          <source>Lectures on Concurrency and Petri Nets: Advances in Petri Nets</source>
          <volume>4</volume>
          (
          <year>2004</year>
          )
          <fpage>328</fpage>
          -
          <lpage>344</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Bryans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Koutny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. Y.</given-names>
            <surname>Ryan</surname>
          </string-name>
          ,
          <article-title>Modelling opacity using Petri nets</article-title>
          ,
          <source>Electronic Notes in Theoretical Computer Science</source>
          <volume>121</volume>
          (
          <year>2005</year>
          )
          <fpage>101</fpage>
          -
          <lpage>115</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>L.</given-names>
            <surname>Bernardinello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Kılınç</surname>
          </string-name>
          , L. Pomello,
          <article-title>Non-interference notions based on reveals and excludes relations for Petri nets, Transactions on Petri Nets and Other Models of Concurrency XI (</article-title>
          <year>2016</year>
          )
          <fpage>49</fpage>
          -
          <lpage>70</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Haar</surname>
          </string-name>
          ,
          <article-title>Unfold and cover: Qualitative diagnosability for Petri nets</article-title>
          ,
          <source>in: 2007 46th IEEE Conference on Decision and Control</source>
          , IEEE,
          <year>2007</year>
          , pp.
          <fpage>1886</fpage>
          -
          <lpage>1891</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>