Periodic Reporting for period 4 - D-SynMA (Distributed Synthesis: from Single to Multiple Agents)
Berichtszeitraum: 2022-11-01 bis 2024-04-30
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 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.
Our design and analysis techniques are mostly limited to designing systems working on their own and considering other systems as their environment. The aim of this project is to enable systems to collaborate to achieve a mutual goal. Thus, instead of producing one program, we are expecting to produce multiple programs that interact and collaborate together.
The objective of this project is to create theoretical foundations that will enable better collaboration based on three crucial features:
1. Synchronization of multiple agents.
2. Transfer of meaningful information.
3. Clear definition of standalone behavior.
We developed a computational model for supporting the modeling and analysis of systems composed of multiple different collaborating agents. The model allows for rich communication between agents and is unique in the ability of agents to reconfigure their communication interfaces. That is, agents choose during runtime with who to communicate and what to communicate based on need and interest in ad-hoc ways. We support analysis of designs that use our computational model both theoretically and practically. Thus, allowing practitioners to more easily consider more advanced designs for such systems. We also know, in some cases, how to start from high-level descriptions of the common behavior and goals and be able to suggest how to distribute tasks between agents so as to commonly achieve this behavior. The way our model diverges from existing formalisms opens many paths for future exploration. These range from revisiting previous results that are applicable to simpler formalisms and extending them to exploring new opportunities that were not available in previous models. In general, as a community, we are learning how to design systems that are able to collaborate rather than co-exist. Our results are a step in that direction.
We have developed techniques for the analysis of systems using our new model. This is an extension of techniques for the analysis of systems communicating in simpler ways and showing that the complexity of reasoning is not increased by considering more complicated systems. We studied how to look deeper into behavior of this type in a way that allows to consider the intentions in making contact and the flow of information though the system. We made formal the intuitive notion that if at some point two parts of the system wish to communicate they need a means to do so. This shows that our richer form of communication cannot be replaced except by total dissemination of information. We show how to consider a total view of the entire system and distribute it to the tasks that are required per each part locally, albeit when there are restrictions on the topology of communication. Finally, we developed software tools that support the modeling and analysis of systems that use this kind of advanced communication.
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 extended it in multiple directions. We worked on improving the collaboration between the produced program and its environment removing well known bottlenecks. We also improved the capacity of synthesis techniques. We made it possible to use richer languages for the description of desired behavior both in terms of convenience and considering richer contexts. We leveraged existing synthesis techniques to work in a context of much richer data values. This highlighted the need to use one type of synthesis techniques over another and we have suggested a way to extend this type of synthesis algorithms.
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.
Most of these results have been published and presented to our scientific community. Some of them are still under submission.
We highlight three results that relate to single-agent synthesis. First, supporting an abstraction framework that incorporates existing tools in a unique way and extends refinement techniques in a way that allows to consider larger data domains. Second, based on the limitations to a popular approach to single-agent synthesis applications that were hindering the application in (1), we revisit an alternative approach and show how it can be extended to handle more expressive goals. Third, we extend the scope of specifications that are supported for single-agent synthesis in multiple ways.