We discuss an asynchronous game on Petri nets, modelling the interaction between one or more users and an environment in a partially controllable and partially observable distributed system. By partially controllable we mean that each user controls a subset of the transitions, while some transitions are part of the environment, and their occurrences can not be directly prevented by the users; by partially observable we mean that each user can observe directly only some elements of the system. We assume that each choice in the behaviour is local, namely under the control of either one user or the environment. Through the game, we investigate properties of the system, checking if the user, controlling just a part of it, is able to impose a specified behavior on the system. The decisions of the user are formalized with a strategy, a function associating a subset of controllable choices to the system’s configurations. We introduce the game in a very general setting, so that, defining proper strategies, we can adapt the same model for the verification of different properties by imposing different conditions on the systems. The idea behind this definition was firstly addressed to solve the problem of weak observable liveness, as defined in [5]. The first solution proposed was a synchronous game on the case graph ([3]). This has disadvantages: it hides the concurrency of the system and suffers from state explosion. To overcome these issues, an asynchronous game played on the unfolding was developed in [4]. This game was used to check properties of systems respecting some specified restrictions in [4] and [2]. Games are well suitable models to analyse interactions between autonomuos agents. For this reason, in the last decades, many different models have been developed. We provide here a non-exhaustive historical overview of the works dealing with models of distributed systems and asynchronous games. In 1999, Samson Abramsky and Paul-André Melliès in [1] defined a game that they called concurrent. In their work, the game is a domain of positions on partial orders, a strategy is a closure operator on it, and the idea is applied
[1]
Julian Gutierrez.
Concurrent Logic Games on Partial Orders
,
2011,
WoLLIC.
[2]
Luca Bernardinello,et al.
Checking Weak Observable Liveness on Unfoldings Through Asynchronous Games
,
2018,
PNSE@Petri Nets/ACSD.
[3]
Luca Bernardinello,et al.
Weak Observable Liveness and Infinite Games on Finite Graphs
,
2017,
Petri Nets.
[4]
Joost Engelfriet,et al.
Branching processes of Petri nets
,
1991,
Acta Informatica.
[5]
Samson Abramsky,et al.
Concurrent games and full completeness
,
1999,
Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).
[6]
Glynn Winskel,et al.
Distributed Games and Strategies
,
2016,
ArXiv.
[7]
Bernd Finkbeiner,et al.
Petri Games: Synthesis of Distributed Systems with Causal Memory
,
2014,
GandALF.
[8]
Joost Engelfriet,et al.
Elementary Net Systems
,
1996,
Applications and Theory of Petri Nets.
[9]
Lev D. Beklemishev,et al.
Logic, language, information and computation : 18th international workshop, WOLLIC 2011 Philadelphia, PA, USA : proceedings
,
2011
.
[10]
Jörg Desel,et al.
Observable liveness of Petri nets
,
2015,
Acta Informatica.
[11]
Samuel Mimram,et al.
Asynchronous Games: Innocence Without Alternation
,
2007,
CONCUR.
[12]
Luca Bernardinello,et al.
An Asynchronous Game on Distributed Petri Nets
,
2019,
PNSE@Petri Nets/ACSD.