<!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>Give Me a Hand: How to Use Model Checking for Multi-Agent Systems to Help Runtime Verification and Vice Versa</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Angelo Ferrando</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vadim Malvone</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Telecom Paris</institution>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Genoa</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we review the history of model checking and runtime verification on multi-agent systems by recalling the results obtained in the two research areas. Then, we present some past, present and future directions to combine these techniques in the two possible sides, that is by using model checking for multi-agent systems to solve runtime verification problems and vice versa. IPS-RiCeRcA-SPIRIT 2022: 10th Italian Workshop on Planning and Scheduling, RiCeRcA Italian Workshop, and SPIRIT Workshop on Strategies, Prediction, Interaction, and Reasoning in Italy. * Corresponding author. angelo.ferrando@unige.it (A. Ferrando); vadim.malvone@telecom-paris.fr (V. Malvone) 0000-0002-8711-4670 (A. Ferrando); 0000-0001-6138-4229 (V. Malvone) © 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CPWrEooUrckResehdoinpgs IhStpN:/c1e6u1r3-w-0s.o7r3g CEUR Workshop Proceedings (CEUR-WS.org)</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;LaTeX class</kwd>
        <kwd>paper template</kwd>
        <kwd>paper formatting</kwd>
        <kwd>CEUR-WS</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Software systems cannot be trusted. Even though this sounds as a bold statement, it is most
of the time the case. A software system, to be considered trustworthy, has to ofer some
guarantees to the end user. Amongst these guarantees, correctness is by far one of the most
challenging to demonstrate. However, existent solutions to proof software correctness mainly
focus on monolithic systems. So, systems that do not usually present any kind of autonomy, nor
distribution, whatsoever. Unfortunately (in some sense), nowadays, artificial intelligent systems
can be found everywhere. Thus, techniques to tackle their verification in order to establish their
correctness also need to be revised (and adapted).</p>
      <p>When we talk about software verification, we mainly refer to standard approaches such
as: testing, simulation, and formal verification. Testing and simulation have one main issue:
they can detect errors but can not determine their absence. To overcome this problem, formal
verification results to be very useful. This approach provides a formal-based methodology to
model systems, specify properties, and verify that a system satisfies a given specification.</p>
      <p>
        In formal verification, the specification is usually based on temporal logics. The latter can
describe the order of events without introducing the time explicitly. In temporal logics, we
mainly distinguish between linear- and branching-time logics, which reflect the underlying
nature of the time we consider. The most popular temporal logics are   (linear-time temporal
logic) [
        <xref ref-type="bibr" rid="ref34">34</xref>
        ],   (computation tree logic) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], and their extension  * [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. An outstanding
development in the area of temporal logics has been the discovery of algorithmic methods
to verify properties of finite-state systems represented by Kripke structures [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]. Hence, the
formal verification of a system modelled by a Kripke structure  with respect to a temporal
logic specification  can be rephrased as “Is  a model of  ?”, which explains the name model
checking (MC), as it was coined by Clarke and Emerson in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        Naturally, model checking is not the only existent formal verification technique. Specifically,
another verification approach focused on a more dynamic perspective (execution of the system
rather than verification of an abstraction of the latter) is called Runtime Verification [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ].
      </p>
      <p>
        Runtime verification (RV) is being pursued as a lightweight verification technique bridging
static verification techniques, such as MC, and testing. One of the main distinguishing features
of RV is due to its nature of being performed at runtime, which opens up the possibility to
act whenever incorrect behavior of a software system is detected. A fault is defined as the
deviation between the current behavior and the expected behavior of the system [
        <xref ref-type="bibr" rid="ref16 ref32">32, 16</xref>
        ]. A
fault might lead to a failure, but not necessarily. An error, on the other hand, is a mistake made
by a human that results in a fault and possibly in a failure. Runtime verification is the discipline
of computer science that deals with the study, development, and application of those verification
techniques that allow checking whether a run of a system under scrutiny satisfies or violates a
given correctness property.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], we presented an initial vision on possible overlapping of RV and MC, especially in
the area of Multi-Agent Systems (MAS); which are distributed systems comprised of intelligent
components (called agents) that can be deployed to solve complex tasks in an autonomous
fashion (which may, or may not, involve cooperation and communication amongst the agents).
We focused on MAS for their implicit complexity, and consequently hard verification problem.
Nonetheless, in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] we mainly focused on the verification aspects of combining RV and MC.
Instead, in here, we present some novel results in that direction, but we also focus on the synergy
between RV and MAS. Thus, not only focusing on how RV can be deployed to verify MAS, but
also on how the verification for MAS can be exploited to support RV.
      </p>
      <p>In the rest of the paper we first discuss the state of the art of model checking and runtime
verification for MAS (Section 2). Then, in Section 3 we present our results to use runtime
verification to reduce the model checking complexity on MAS and conclude with future directions.
Finally, in Section 4 we present model checking techniques to help runtime verification and
conclude with some future works.</p>
    </sec>
    <sec id="sec-2">
      <title>2. State of the art</title>
      <p>
        Model Checking for MAS. One of the most important developments in this field is
Alternating-Time Temporal Logic (ATL), introduced by Alur, Henzinger, and Kupferman [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
Such a logic allows to reason about strategies of agents having the satisfaction of temporal
goals as payof criterion. More formally, it is obtained as a generalization of CTL, in which
the existential E and the universal A path quantifiers are replaced with strategic modalities of
the form ⟨⟨Γ ⟩⟩ and [[Γ]] , where Γ is a set of agents. Despite its expressiveness, ATL sufers
from the strong limitation that strategies are treated only implicitly in the semantics of such
modalities. This restriction makes the logic less suited to formalize several important solution
concepts, such as the Nash Equilibrium. These considerations led to the introduction of Strategy
Logic (SL) [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ], a more powerful formalism for strategic reasoning. As a key aspect, this logic
treats strategies as first-order objects that can be determined by means of the existential ∃ and
universal ∀ quantifiers, which can be respectively read as “there exists a strategy ” and “for
all strategies ”. Notably, a strategy is a generic conditional plan that at each step of the game
prescribes an action. With more detail, there are two main classes of strategies: memoryless
and memoryful. In the former case, agents choose an action by considering only the current
game state while, in the latter case, agents choose an action by considering the full history
of the game. Therefore, this plan is not intrinsically glued to a specific agent, but an explicit
binding operator (, ) allows to link an agent  to the strategy associated with a variable .
Unfortunately, the high expressivity of SL comes at a price. Indeed, it has been proved that the
model-checking problem for SL becomes non-elementary complete and the satisfiability
undecidable. To gain back elementariness, several fragments of SL have been considered. Among
the others, Strategy Logic with Simple-Goals [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] considers SL formulas in which strategic
operators, bindings operators, and temporal operators are coupled. It has been shown that
Strategy Logic with Simple-Goals strictly subsume ATL and its MC problem is P-Complete, as
it is for ATL. To conclude this section, we want to focus on a key aspect in MAS: the agents’
visibility. Specifically, we distinguish between perfect and imperfect information games [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ].
The former corresponds to a basic setting in which every agent has full knowledge about the
game. However, in real-life scenarios it is common to have situations in which agents have
to play without having all relevant information at hand. In computer science these situations
occur for example when some variables of a system are internal/private and not visible to an
external environment [
        <xref ref-type="bibr" rid="ref13 ref29">29, 13</xref>
        ]. In game models, the imperfect information is usually modelled
by setting an indistinguishability relation over the states of the game [
        <xref ref-type="bibr" rid="ref29 ref35">29, 35</xref>
        ]. This feature
deeply impacts on the MC complexity. For example, ATL becomes undecidable in the context
of imperfect information and memoryful strategies [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. To overcome this problem, some
works have either focused on an approximation to perfect information [
        <xref ref-type="bibr" rid="ref11 ref8">8, 11</xref>
        ] or developed new
notions on strategies [
        <xref ref-type="bibr" rid="ref10 ref12 ref26 ref27 ref7 ref9">7, 26, 27, 10, 12, 9</xref>
        ].
      </p>
      <p>
        Runtime Verification for MAS. In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], the authors presented a framework to verify at
runtime agent interaction protocols (AIP). The formalism used in this work allows the introduction
of variables, that are then used to constrain the expected behavior in a more expressive way.
In [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], the same authors proposed an approach to verify at runtime AIP using multiple monitors.
This is obtained by decentralizing the global specification (specified as a Trace Expression [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]),
which is used to represent the global protocol, into partial specifications denoting the single
agents’ perspective. In [
        <xref ref-type="bibr" rid="ref36 ref5">5, 36</xref>
        ], other works on runtime verification of agent interactions are
proposed, and in [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] a framework for dynamic adaptive MAS (DAMS-RV) based on an adaptive
feedback loop is presented. Other approaches to MAS RV include the proposals spin-of from
the SOCS project where the SCIFF computational logic framework [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is used to provide the
semantics of social integrity constraints. To model MAS interaction, expectation-based semantics
specifies the links between observed and expected events, providing a means to test runtime
conformance of an actual conversation with respect to a given interaction protocol [
        <xref ref-type="bibr" rid="ref38">38</xref>
        ]. Similar
work has been performed using commitments [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
3. Runtime verification gives a hand to Model checking for
      </p>
      <p>
        MAS
The model checking problem for   giving a generic MAS is known to be undecidable.
Nonetheless, decidable fragments exist. Indeed, model checking   under perfect information
is PTIME-complete [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], while under imperfect information and imperfect recall is PSPACE [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ].
Unfortunately, MAS usually have imperfect information, and when memory is needed to achieve
the goals, the resulting model checking problem becomes undecidable. Given the relevance of
the imperfect information setting, even partial solutions to the problem are useful.
      </p>
      <p>
        The only existent work on exploiting RV to formally verify the strategic behaviour in MAS
is [
        <xref ref-type="bibr" rid="ref22 ref24">24, 22</xref>
        ]. In such work, given an   formula  and a model of MAS  , the procedure
extracts all the sub-models of  with perfect information that satisfy a sub-formula of  . Then,
runtime monitors are used to check if the remaining part of  can be satisfied at execution time.
If this is the case, we conclude at runtime the satisfaction of  for the corresponding system
execution. Note that, this does not imply that the system satisfies  , indeed future executions
may violate  . The formal result over  only concerns the current execution, and how it has
behaved in it. However, the following preservation results holds.
      </p>
      <p>Lemma 1. Given a model  and an ATL formula  , for any history ℎ of  starting in  , we
have that:
    (ℎ) = ⊤ ⇒ ,  |=  
    (ℎ) = ⊥ ⇒ ,  ̸|=  ∅
where    is the variant of  where all strategic operators are removed,   is the variant of 
where all strategic operators are converted into ⟨⟨⟩⟩,  ∅ is the variant of  where all strategic
operators are converted into ⟨⟨∅⟩⟩.</p>
      <p>Lemma 1 shows a preservation result from RV to ATL model checking that needs to be
discussed. If our monitor returns true we have two possibilities:
1 The procedure found an under-approximation sub-model in which the original formula 
is satisfied then it can conclude the verification procedure by using RV only by checking
that the atom representing  holds in the initial state of the history ℎ given in input;
2 A sub-formula  ′ is satisfied in an under-approximation sub-model and at runtime the
formula   holds on the history ℎ given in input.</p>
      <p>
        While case (1) gives a preservation result for the formula  given in input, case (2) checks
formula   instead of  . That is, it substitutes  as coalition for all the strategic operators
of  but the ones in  ′. So, our procedure approximates the truth value by considering the
case in which all the agents in the game collaborate to achieve the objectives not satisfied in
the model checking phase. That is, while in [
        <xref ref-type="bibr" rid="ref11 ref8">8, 11</xref>
        ] the approximation is given in terms of
information, in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is given in terms of memory of strategies, and in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] the approximation
is given by generalizing the logic, here we give results by approximating the coalitions. So,
the main limitation of this approach concerns this aspect. Furthermore, we recall that the
procedure produces always results, even partial. This aspect is strongly relevant in concrete
scenario in which there is the necessity to have some sort of verification results. For example,
in the context of swarm robots, with this procedure we can verify macro properties such as
“the system works properly” since we are able to guarantee fully collaboration between agents
because this property is relevant and desirable for each agent in the game. The same reasoning
described above, can be applied in a complementary way for the case of over-approximation
sub-models and the falsity.
      </p>
      <p>
        Note that this is the first attempt of using runtime verification to verify strategic properties on
MAS. Thus, even though the solution might not be optimal, it is a milestone for the corresponding
lines of research. Additional works will be done to improve the technique and, above all, its
implementation. For instance, we are planning to extend this work by considering a more
predictive flavour.
4. Model checking for MAS gives a hand to Runtime
verification
Runtime Verification is built on the assumption of perfect information over the system, that is,
the monitor checking the system can perceive everything. Unfortunately, this is not always the
case, especially when the system under analysis contains rational/autonomous components
and is deployed in real-world environments with possibly faulty sensors. In [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], an extension
of the standard Runtime Verification of Linear Temporal Logic properties to consider scenarios
with imperfect information is presented; along with all the engineering steps necessary to
update the verification pipeline. Moreover, a corresponding implementation is proposed and
applied to a case study involving robotic systems. In particular, [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] defines the notion of
imperfect information w.r.t. the monitor’s visibility over the system, and then re-engineers the
LTL monitor’s synthesis pipeline to recognise such visibility information.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], imperfect information is specified by means of a indistinguishability relation ∼ over
the atomic propositions. Intuitively, given two atomic propositions  and , it is said that they
are indistinguishable if and only if  ∼ .
      </p>
      <p>To handle the verification process in the imperfect information scenario, the standard RV
approach needs to be extended. This extension is based on the notion of duplication of the
atoms. The latter is used in order to make the truth value of each atomic proposition explicit.</p>
      <p>The new monitor is defined as follows.</p>
      <p>Definition 1 (Monitor with imperfect information).</p>
      <p>Given an LTL formula  and a visible
history ℎ, a monitor with imperfect information is so defined:
  (ℎ) =
⎧
⎪⎪ ⊤
⎪
⎪⎪⎪⎪ ⊥
⎪
⎪⎨ 
⎪ ?̸⊥
⎪
⎪
⎪
⎪ ?
⎪ ̸⊤
⎪
⎪⎪⎩ ?
ℎ ∈ ℒ( ) ∧ ℎ ∈/ ℒ(¬ ) ∧ ℎ ∈/ ℒ(⊗  )
ℎ ∈/ ℒ( ) ∧ ℎ ∈ ℒ(¬ ) ∧ ℎ ∈/ ℒ(⊗  )
ℎ ∈/ ℒ( ) ∧ ℎ ∈/ ℒ(¬ ) ∧ ℎ ∈ ℒ(⊗  )
ℎ ∈ ℒ( ) ∧ ℎ ∈/ ℒ(¬ ) ∧ ℎ ∈ ℒ(⊗  )
ℎ ∈/ ℒ( ) ∧ ℎ ∈ ℒ(¬ ) ∧ ℎ ∈ ℒ(⊗  )
ℎ ∈ ℒ( ) ∧ ℎ ∈ ℒ(¬ ) ∧ ℎ ∈ ℒ(⊗  )</p>
      <p>Where ℒ( ) is the language of histories satisfying  , ℒ(¬ ) is the language of histories
violating  , and finally, ℒ(⊗  ) is the language of histories making  undefined (because of
lack of information).</p>
      <p>In what follows, we provide two preservation results from the monitor with imperfect
information to the one with perfect information.</p>
      <p>Lemma 2. Given a finite history  , a monitor with its visibility   (ℎ), and a general
monitor   (ℎ), we have that:
if   (ℎ) = ⊤ then   (ℎ) = ⊤
if   (ℎ) = ⊥ then   (ℎ) = ⊥</p>
      <p>
        The above results can be extended to consider multi-monitors and solved by using formal
verification for MAS. In fact, even though a single monitor does not have access to all the
information it needs, multiple monitors might. As in standard distributed RV [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ], we are
planning to explore this idea as well, but focusing on the theoretical foundations of information
sharing amongst monitors. Specifically, we are going to show how this can be specified as a
multi-agent problem; where each monitor is denoted as an agent with the goal of gathering
all the information needed to carry out the verification of its formal property. By representing
the information sharing as a multi-agent problem, we could gain from diferent viewpoints. In
particular, we could exploit existing techniques, used for strategic reasoning [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], to guide the
information sharing amongst the monitors. Moreover, by denoting monitors as agents, we would
recognise their autonomy on what concern the sharing of private information. For instance, a
monitor could be the only one with the access to a certain resource, and it is not realistic to
assume it will freely share such information. This because the act of sharing information is not
free of charge, since it requires to both consume computation time and bandwidth. For this,
and other reasons, it is of paramount importance to take into consideration the cost of sharing.
We are going to show how such cost can be ported into the multi-agent problem, and how it
can guide the selection of the information sharing strategy of the agents (i.e., the monitors).
      </p>
      <p>
        In particular, we are going to study the theoretical foundation of information sharing amongst
runtime monitors. We will tackle this by porting the problem into a multi-agent setting. By
dosing so, we apply existing formal verification techniques, such as model checking [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ], to
exploit the strategic reasoning of the agents to overcome the information sharing problem. We
will not only present theoretical results, but we will also propose an implementation prototype,
as a proof of concept.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>D.</given-names>
            <surname>Ancona</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrando</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Mascardi</surname>
          </string-name>
          .
          <article-title>Comparing trace expressions and linear temporal logic for runtime verification</article-title>
          .
          <source>In TPFM</source>
          , pages
          <fpage>47</fpage>
          -
          <lpage>64</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Ancona</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrando</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Mascardi</surname>
          </string-name>
          .
          <article-title>Parametric runtime verification of multiagent systems</article-title>
          .
          <source>In AAMAS</source>
          , pages
          <fpage>1457</fpage>
          -
          <lpage>1459</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Alberti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gavanelli</surname>
          </string-name>
          , E. Lamma,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mello</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Torroni</surname>
          </string-name>
          .
          <article-title>The Scif abductive proof-procedure</article-title>
          .
          <source>In AI*IA</source>
          , pages
          <fpage>135</fpage>
          -
          <lpage>147</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <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>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Kupferman</surname>
          </string-name>
          .
          <article-title>Alternating-Time Temporal Logic</article-title>
          . JACM,
          <volume>49</volume>
          (
          <issue>5</issue>
          ):
          <fpage>672</fpage>
          -
          <lpage>713</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>N.</given-names>
            <surname>Bakar</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Selamat</surname>
          </string-name>
          .
          <article-title>Runtime verification of multi-agent systems interaction quality</article-title>
          .
          <source>In ACIIDS</source>
          , pages
          <fpage>435</fpage>
          -
          <lpage>444</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F.</given-names>
            <surname>Belardinelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Jamroga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kurpiewski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Murano</surname>
          </string-name>
          .
          <article-title>Strategy logic with simple goals: Tractable reasoning about strategies</article-title>
          .
          <source>In IJCAI</source>
          , pages
          <fpage>88</fpage>
          -
          <lpage>94</lpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>F.</given-names>
            <surname>Belardinelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          .
          <article-title>Approximating perfect recall when model checking strategic abilities</article-title>
          .
          <source>In KR2018</source>
          , pages
          <fpage>435</fpage>
          -
          <lpage>444</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>F.</given-names>
            <surname>Belardinelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          .
          <article-title>An abstraction-based method for verifying strategic properties in multi-agent systems with imperfect information</article-title>
          .
          <source>In AAAI</source>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>F.</given-names>
            <surname>Belardinelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          .
          <article-title>Approximating perfect recall when model checking strategic abilities: Theory and applications</article-title>
          .
          <source>JAIR</source>
          ,
          <volume>73</volume>
          :
          <fpage>897</fpage>
          -
          <lpage>932</lpage>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>F.</given-names>
            <surname>Belardinelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Murano</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Rubin</surname>
          </string-name>
          .
          <article-title>Verification of multi-agent systems with public actions against strategy logic</article-title>
          .
          <source>AIJ</source>
          ,
          <volume>285</volume>
          :
          <fpage>103302</fpage>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>F.</given-names>
            <surname>Belardinelli</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          .
          <article-title>A three-valued approach to strategic abilities under imperfect information</article-title>
          .
          <source>In KR</source>
          , pages
          <fpage>89</fpage>
          -
          <lpage>98</lpage>
          ,
          <year>2020</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>R.</given-names>
            <surname>Berthon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Maubert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Murano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rubin</surname>
          </string-name>
          and, M. Y. Vardi.
          <article-title>Strategy Logic with Imperfect Information</article-title>
          .
          <source>TOCL</source>
          ,
          <volume>22</volume>
          (
          <issue>1</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>51</lpage>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>R.</given-names>
            <surname>Bloem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Chatterjee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Könighofer</surname>
          </string-name>
          .
          <article-title>Assume-guarantee synthesis for concurrent reactive programs with partial information</article-title>
          .
          <source>In TACAS</source>
          , pages
          <fpage>517</fpage>
          -
          <lpage>532</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>E.M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.A.</given-names>
            <surname>Emerson</surname>
          </string-name>
          .
          <article-title>Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic</article-title>
          .
          <source>In LP</source>
          , pages
          <fpage>52</fpage>
          -
          <lpage>71</lpage>
          ,
          <year>1981</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>F.</given-names>
            <surname>Chesani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Torroni</surname>
          </string-name>
          .
          <article-title>Commitment tracking via the reactive event calculus</article-title>
          .
          <source>In IJCAI</source>
          , pages
          <fpage>91</fpage>
          -
          <lpage>96</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>N.</given-names>
            <surname>Delgado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Gates</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Roach</surname>
          </string-name>
          .
          <article-title>A taxonomy and catalog of runtime softwarefault monitoring tools</article-title>
          .
          <source>IEEE TSE</source>
          ,
          <volume>30</volume>
          (
          <issue>12</issue>
          ):
          <fpage>859</fpage>
          -
          <lpage>872</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dima</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.L.</given-names>
            <surname>Tiplea</surname>
          </string-name>
          .
          <article-title>Model-checking ATL under Imperfect Information and Perfect Recall Semantics is Undecidable</article-title>
          .
          <source>Technical report</source>
          , arXiv,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>E.A.</given-names>
            <surname>Emerson</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.Y.</given-names>
            <surname>Halpern</surname>
          </string-name>
          . “Sometimes” and “Not Never” Revisited:
          <article-title>On Branching Versus Linear Time</article-title>
          . JACM,
          <volume>33</volume>
          (
          <issue>1</issue>
          ):
          <fpage>151</fpage>
          -
          <lpage>178</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrando</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Ancona</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Mascardi</surname>
          </string-name>
          .
          <article-title>Decentralizing MAS monitoring with decamon</article-title>
          .
          <source>In AAMAS</source>
          , pages
          <fpage>239</fpage>
          -
          <lpage>248</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrando</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          .
          <article-title>Combine model checking and runtime verification in multi-agent systems</article-title>
          .
          <source>In ICTCS</source>
          , pages
          <fpage>302</fpage>
          -
          <lpage>310</lpage>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrando</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          .
          <article-title>Towards the verification of strategic properties in multi-agent systems with imperfect information</article-title>
          .
          <source>CoRR</source>
          , abs/2112.13621,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrando</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          .
          <article-title>Strategy RV: A Tool to Approximate ATL Model Checking under Imperfect Information and Perfect Recall</article-title>
          .
          <source>In AAMAS</source>
          , pages
          <fpage>1764</fpage>
          -
          <lpage>1766</lpage>
          ,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrando</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          .
          <article-title>Runtime verification with imperfect information through indistinguishability relations</article-title>
          .
          <source>In SEFM</source>
          , pages
          <fpage>335</fpage>
          -
          <lpage>351</lpage>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ferrando</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          .
          <article-title>Towards the combination of model checking and runtime verification on multi-agent systems</article-title>
          .
          <source>In PAAMS</source>
          , pages
          <fpage>140</fpage>
          -
          <lpage>152</lpage>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>A.</given-names>
            <surname>Francalanza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Pérez</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Sánchez</surname>
          </string-name>
          .
          <article-title>Runtime verification for decentralised and distributed systems</article-title>
          .
          <source>In LRVIAT</source>
          , pages
          <fpage>176</fpage>
          -
          <lpage>210</lpage>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>W.</given-names>
            <surname>Jamroga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Murano</surname>
          </string-name>
          .
          <article-title>Natural strategic ability</article-title>
          .
          <source>AIJ</source>
          ,
          <volume>277</volume>
          :
          <fpage>103170</fpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>W.</given-names>
            <surname>Jamroga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Malvone</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Murano</surname>
          </string-name>
          .
          <article-title>Natural Strategic Ability under Imperfect Information</article-title>
          . In AAMAS,
          <fpage>962</fpage>
          -
          <lpage>970</lpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>S.A.</given-names>
            <surname>Kripke</surname>
          </string-name>
          .
          <source>Semantical Considerations on Modal Logic. APF</source>
          ,
          <volume>16</volume>
          :
          <fpage>83</fpage>
          -
          <lpage>94</lpage>
          ,
          <year>1963</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>O.</given-names>
            <surname>Kupferman</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          .
          <article-title>Module checking revisited</article-title>
          .
          <source>In CAV</source>
          , pages
          <fpage>36</fpage>
          -
          <lpage>47</lpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>Y. J.</given-names>
            <surname>Lim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Hong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Shin</surname>
          </string-name>
          , E. Jee, and D.
          <string-name>
            <surname>-H- Bae</surname>
          </string-name>
          .
          <article-title>A runtime verification framework for dynamically adaptive multi-agent systems</article-title>
          .
          <source>In BigComp</source>
          , pages
          <fpage>509</fpage>
          -
          <lpage>512</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>A.</given-names>
            <surname>Lomuscio</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Raimondi</surname>
          </string-name>
          .
          <article-title>Model checking knowledge, strategies, and games in multi-agent systems</article-title>
          .
          <source>In AAMAS</source>
          , pages
          <fpage>161</fpage>
          -
          <lpage>168</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>M.</given-names>
            <surname>Leucker</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Schallhart</surname>
          </string-name>
          .
          <article-title>A brief account of runtime verification</article-title>
          .
          <source>JLAP</source>
          ,
          <volume>78</volume>
          (
          <issue>5</issue>
          ):
          <fpage>293</fpage>
          -
          <lpage>303</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>F.</given-names>
            <surname>Mogavero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Murano</surname>
          </string-name>
          , G. Perelli, and
          <string-name>
            <given-names>M.Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          . Reasoning About Strategies:
          <article-title>On the Model-Checking Problem</article-title>
          .
          <source>ACM TCL</source>
          ,
          <volume>15</volume>
          (
          <issue>4</issue>
          ):
          <volume>34</volume>
          :
          <fpage>1</fpage>
          -
          <lpage>34</lpage>
          :
          <fpage>47</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>A.</given-names>
            <surname>Pnueli</surname>
          </string-name>
          .
          <article-title>The Temporal Logic of Programs</article-title>
          .
          <source>In FCS</source>
          , pages
          <fpage>46</fpage>
          -
          <lpage>57</lpage>
          ,
          <year>1977</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Reif</surname>
          </string-name>
          .
          <article-title>The complexity of two-player games of incomplete information</article-title>
          .
          <source>JCSS</source>
          ,
          <volume>29</volume>
          (
          <issue>2</issue>
          ):
          <fpage>274</fpage>
          -
          <lpage>301</lpage>
          ,
          <year>1984</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>C.</given-names>
            <surname>Roungroongsom</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Pradubsuwun</surname>
          </string-name>
          .
          <article-title>Formal verification of multi-agent system based on jade: A semi-runtime approach</article-title>
          .
          <source>In RAICT</source>
          , pages
          <fpage>297</fpage>
          -
          <lpage>306</lpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>P.Y.</given-names>
            <surname>Schobbens</surname>
          </string-name>
          .
          <article-title>Alternating-Time Logic with Imperfect Recall</article-title>
          .
          <volume>85</volume>
          (
          <issue>2</issue>
          ):
          <fpage>82</fpage>
          -
          <lpage>93</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>P.</given-names>
            <surname>Torroni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Yolum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Singh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Alberti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Chesani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gavanelli</surname>
          </string-name>
          , E. Lamma, and
          <string-name>
            <given-names>P.</given-names>
            <surname>Mello</surname>
          </string-name>
          .
          <article-title>Modelling interactions via commitments and expectations</article-title>
          .
          <source>In HRMASSDOM</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>