Research Statement Salar Moarref

Complex systems often consist of multiple agents (or components) interacting with each other and their environment to perform certain tasks and achieve specified objectives. For example, teams of robots are employed to perform tasks such as monitoring, surveillance, and disaster response in different domains including assembly planning [1], evacuation [2], search and rescue [3], localization [4], object transportation [5], and formation control [6]. With growing complexity of systems and guarantees they are required to provide, the need for automated and reliable design and analysis methods and tools is increasing. The necessity becomes more evident considering the safety critical nature of some of these systems, e.g., medical devices, where the consequences of errors can be too catastrophic and even life threatening. To address these challenges, an emerging trend in systems design and control is to use formal methods, e.g., model checking, to ensure the safety and correctness of the designed controllers and guarantee that system satisfies specified high-level objectives. In model checking, a model of the system is checked exhaustively and automatically for correctness with respect to a given specification. This approach usually involves design-verify cycle; if verification tool finds a problem, the designer corrects it and run the verification again. Changing the design to resolve a problem often introduces other problems, causing this cycle to repeat several times until the design is satisfactory. An alternative and more appealing approach is to automate the design process, i.e., to systematically build the system where the correctness follows from construction. To this end, reactive synthesis with the ambitious goal of automatically synthesizing correct-by-construction controllers from highlevel specifications, has recently attracted significant attention. Given a specification in a formal language such as linear temporal logic over sets of input and output signals, the synthesis problem is to find a finite-state reactive system that assigns to every possible input sequence an output sequence such that the resulting computation satisfies the given specification. Intuitively, the input signals are those that are uncontrollable, i.e., system has no control over their values, contrary to output signals whose values are decided by the system. The synthesis problem can be viewed as a game between two players, the system and its environment. The goal of synthesis is to construct a finite-state system that satisfies the specification regardless of how its environment behaves. Unfortunately, high complexity of synthesis procedures has restricted the application to relatively small-sized problems. The pioneering work by Pnueli et. al [7] showed that reactive synthesis from linear temporal logic specifications is intractable which prohibited the practitioners from utilizing automated synthesis algorithms in practice. Nevertheless, recent advances in this growing research area have enabled automatic synthesis of interesting real-world systems [8], indicating the potential of the synthesis algorithms for solving realistic problems. The key insight is to consider more restricted yet practically useful subclasses of the general problem. The goal of my research is to investigate and develop the necessary tools and methods for automated synthesis of controllers from high-level specifications for multi-agent systems. I am particularly