Skip to main content

Distributed Synthesis: from Single to Multiple Agents

Periodic Reporting for period 2 - D-SynMA (Distributed Synthesis: from Single to Multiple Agents)

Reporting period: 2019-03-01 to 2021-04-30

The topic of the project is a technique for production of systems called “reactive synthesis” and applying it to produce systems comprising of multiple agents.

Reactive synthesis aims to automatically produce systems from the specifications of their desired behaviors. Namely, the technique starts from a high-level description of the desired behavior of a system and automatically converts these descriptions of behavior to programs. This is challenging because the program is interacting with a changing environment (e.g. a robot operating where other robots/humans are also present) and needs to fulfil its requirements (desired behavior) regardless of how the environment behaves.

One of the promises of reactive synthesis (in general) is in lowering the threshold for producing new systems and for deploying systems to new environments. That is, the promise of synthesis is in lowering costs and efforts in order to use systems in new and changing scenarios.

In the past few years, reactive synthesis is maturing into a technique that is usable in practice. However, current techniques are limited to designing systems working on their own. The aim of this project is to enable reactive synthesis to work for systems collaborating to achieve a mutual goal. Thus, instead of producing one program, we are expecting to produce multiple programs that interact and collaborate in order to, together, fulfil the desired outcome. This is called “distributed reactive synthesis”.

As the world around us gets more and more connected, it becomes more important to be able to harness this connectivity to produce systems that can work together and, this way, achieve more than the sum of their parts. The view of systems that collaborate deeply affects manufacturing, robotics, transportation, and exploration, which would all transform using techniques that allow components to collaborate.

The objective of this project is to create theoretical foundations that will enable distributed reactive synthesis based on three crucial features:

1. Synchronization of multiple agents.
2. Transfer of meaningful information.
3. Clear definition of standalone behavior.

These theoretical foundations will then be extended with the techniques that are required to specify behavior for multiple agents and to automatically produce programs that have these communication capabilities.
Our main contribution has been the development of a computational model supporting the features mentioned above. We have also continued working on the underlying foundations of design and analysis of distributed systems, and on extensions of the existing framework of synthesis both in the single agent setting and in the applications to multiple agents.

Our main contribution is the suggestion of a new modelling formalism for capturing the behavior of multiple-agents and their interactions. As promised, the model supports multiple forms of communication between agents and a clear definition of what is the standalone behavior of each part. For the communication, we extend the existing communication notions of variable sharing and message-passing and combine and extend them. The result is a computational model that supports reconfiguration of communication, multiple forms of synchronization, and transfer of meaningful information. For single agents, we define the behavior of a single agent and how does the interaction between multiple agents give rise to a global system. We have started developing techniques for the analysis of such systems.

For the foundations of the design and analysis of distributed systems, we have studied the design of communication mechanisms and how the interactions between multiple agents gives rise to global behavior. Our work concentrated mostly on advanced communication mechanisms and their analysis. This part of our work fed directly into the development of the computational model that is our main contribution.

For the existing approach to single-agent reactive synthesis, we have worked on improving the collaboration between the produced program and its environment removing well known bottlenecks for the production of meaningful programs. We have also suggested a new execution assumption for control of discrete event systems. The new assumption allows both the controller and the environment to initiate and perform sequences of actions. This is in preparation for studying games on our new model mentioned above.

Using the existing computational models for reasoning about multi-agent strategic behavior, we have continued the study of the concepts of equilibrium and rational behavior. We have studied algorithmic properties of equilibrium checking and their establishment and considered specification languages that are suitable for defining interactions between multiple agents.
Our new model of multi-agent communication and collaboration is the basis for continuing our work on distributed reactive synthesis in the rest of the project period. The combination of message passing, and variable reading is unique and the model greatly diverges from the models used in the existing approaches for synthesis and multi-agent reasoning. Currently, Multi-agent System (MAS) modelling uses formalisms tailored for hardware/software verification. By providing a bespoke formalism, many of the tedious modelling tasks required to support MAS (e.g. communication and coalition formation) are much more easily supported.

We are currently considering game notions that arise from the combined model (goal A3). We will provide techniques for reasoning about such games with winning conditions that arise from temporal logic. We expect these solutions to lead to identification of cases where certain types of distributed synthesis can be solved. In these cases, the agents will take advantage of communication to bypass limitations of current approaches.

We are also starting our work on Objective 3 (distributed specifications) through logics specifically tailored for the specification of multiple agents expressed in our computational model. We expect to deliver definitions of logics allowing to reason about a combination of global and local behavior. These logics will take advantage of communication structure to reduce options for unsatisfiability and unrealizability.

Throughout the action, we are also working on single-agent synthesis. Particularly, where results about single-agent synthesis help us understand the more complicated case of multi-agent synthesis (e.g. [17]). We are also working on increasing the capacity of synthesis techniques and tools that is currently mostly applicable to single-agent synthesis, however, these should be applicable to multi-agent synthesis as well.