Distributed Priority Synthesis and its Applications

Given a set of interacting components with non-deterministic variable update and given safety requirements, the goal of priority synthesis is to restrict, by means of priorities, the set of possible interactions in such a way as to guarantee the given safety conditions for all possible runs. In distributed priority synthesis we are interested in obtaining local sets of priorities, which are deployed in terms of local component controllers sharing intended next moves between components in local neighborhoods only. These possible communication paths between local controllers are specified by means of a communication architecture. We formally define the problem of distributed priority synthesis in terms of a multi-player safety game between players for (angelically) selecting the next transition of the components and an environment for (demonically) updating uncontrollable variables; this problem is NP-complete. We propose several optimizations including a solution-space exploration based on a diagnosis method using a nested extension of the usual attractor computation in games together with a reduction to corresponding SAT problems. When diagnosis fails, the method proposes potential candidates to guide the exploration. These optimized algorithms for solving distributed priority synthesis problems have been integrated into our VissBIP framework. An experimental validation of this implementation is performed using a range of case studies including scheduling in multicore processors and modular robotics.

[1]  Robert S. Boyer,et al.  MJRTY: A Fast Majority Vote Algorithm , 1991, Automated Reasoning: Essays in Honor of Woody Bledsoe.

[2]  Bernd Finkbeiner,et al.  Uniform distributed synthesis , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[3]  Alois Knoll,et al.  Algorithms for Synthesizing Priorities in Component-Based Systems , 2011, ATVA.

[4]  Doron A. Peled,et al.  Methods for Knowledge Based Controlling of Distributed Systems , 2010, ATVA.

[5]  Sven Schewe,et al.  Synthesis of Distributed Control through Knowledge Accumulation , 2011, CAV.

[6]  Lavindra de Silva,et al.  A Verifiable and Correct-by-Construction Controller for Robot Functional Levels , 2011, ArXiv.

[7]  Joseph Sifakis,et al.  Priority Systems , 2003, FMCO.

[8]  Joseph Sifakis,et al.  Modeling Heterogeneous Real-time Components in BIP , 2006, Fourth IEEE International Conference on Software Engineering and Formal Methods (SEFM'06).

[9]  Borzoo Bonakdarpour,et al.  Automated distributed implementation of component-based models with priorities , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[10]  Peter Wegner,et al.  Why interaction is more powerful than algorithms , 1997, CACM.

[11]  Moshe Tennenholtz,et al.  Distributed Games , 1998, TARK.

[12]  Bernd Finkbeiner,et al.  Bounded synthesis , 2007, International Journal on Software Tools for Technology Transfer.

[13]  Alois Knoll,et al.  On the Hardness of Priority Synthesis , 2011, CIAA.

[14]  Amir Pnueli,et al.  Distributed reactive systems are hard to synthesize , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[15]  Borzoo Bonakdarpour,et al.  SYCRAFT: A Tool for Synthesizing Distributed Fault-Tolerant Programs , 2008, CONCUR.

[16]  Borzoo Bonakdarpour,et al.  Automated addition of fault recovery to cyber-physical component-based models , 2011, 2011 Proceedings of the Ninth ACM International Conference on Embedded Software (EMSOFT).

[17]  Alois Knoll,et al.  Model Construction and Priority Synthesis for Simple Interaction Systems , 2011, NASA Formal Methods.

[18]  Igor Walukiewicz,et al.  Distributed Games , 2003, FSTTCS.

[19]  P. S. Thiagarajan,et al.  Distributed Controller Synthesis for Local Specifications , 2001, ICALP.

[20]  David Janin,et al.  On the (High) Undecidability of Distributed Synthesis Problems , 2007, SOFSEM.

[21]  P. S. Thiagarajan,et al.  A Decidable Class of Asynchronous Distributed Controllers , 2002, CONCUR.

[22]  Sven Schewe,et al.  The Buck Stops Here: Order, Chance, and Coordination in Distributed Control , 2011, ATVA.