The classical synthesis problem for reactive systems asks, given a proponent process A and an opponent process B, to refine A so that the closed-loop system A||B satisfies a given specification Φ. The solution of this problem requires the computation of a winning strategy for proponent A in a game against opponent B. We define and study the co-synthesis problem, where the proponent A consists itself of two independent processes, A = A1||A2, with specifications Φ1 and Φ2, and the goal is to refine both A1 and A2 so that A1||A2||B satisfies Φ1 ∧ Φ2. For example, if the opponent B is a fair scheduler for the two processes A1 and A2, and Φi specifies the requirements of mutual exclusion for Ai (e.g., starvation freedom), then the co-synthesis problem asks for the automatic synthesis of a mutual-exclusion protocol.

We show that co-synthesis defined classically, with the processes A1 and A2 either collaborating or competing, does not capture desirable solutions. Instead, the proper formulation of co-synthesis is the one where process A1 competes with A2 but not at the price of violating Φ1, and vice versa. We call this assume-guarantee synthesis and show that it can be solved by computing secure-equilibrium strategies. In particular, from mutual-exclusion requirements the assume-guarantee synthesis algorithm automatically computes Peterson’s protocol.


  1. 1.
    Alur, R., Henzinger, T.A.: Reactive modules. Formal Methods in System Design 15, 7–48 (1999)CrossRefGoogle Scholar
  2. 2.
    Alur, R., Henzinger, T.A., Kupferman, O.: Alternating-time temporal logic. Journal of the ACM 49, 672–713 (2002)CrossRefMathSciNetGoogle Scholar
  3. 3.
    Chatterjee, K., Henzinger, T.A.: Semiperfect-information games. In: Ramanujam, R., Sen, S. (eds.) FSTTCS 2005. LNCS, vol. 3821, pp. 1–18. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Chatterjee, K., Henzinger, T.A., Jurdziński, M.: Games with secure equilibria. In: LICS’04, pp. 160–169. IEEE Computer Society Press, Los Alamitos (2004)Google Scholar
  5. 5.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching-time temporal logic. In: Kozen, D. (ed.) Logic of Programs 1981. LNCS, vol. 131, pp. 52–71. Springer, Heidelberg (1982)CrossRefGoogle Scholar
  6. 6.
    Gurevich, Y., Harrington, L.: Trees, automata, and games. In: STOC’82, pp. 60–65. ACM Press, New York (1982)Google Scholar
  7. 7.
    Henzinger, T.A., et al.: Abstract interpretation of game properties. In: Palsberg, J. (ed.) SAS 2000. LNCS, vol. 1824, pp. 220–239. Springer, Heidelberg (2000)Google Scholar
  8. 8.
    Madhususan, P., Thiagarajan, P.S.: Distributed controller synthesis for local specifications. In: Orejas, F., Spirakis, P.G., van Leeuwen, J. (eds.) ICALP 2001. LNCS, vol. 2076, pp. 396–407. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  9. 9.
    Mohalik, S., Walukiewicz, I.: Distributed games. In: Pandya, P.K., Radhakrishnan, J. (eds.) FSTTCS 2003. LNCS, vol. 2914, pp. 338–351. Springer, Heidelberg (2003)Google Scholar
  10. 10.
    Papadimitriou, C.H.: Algorithms, games, and the internet. In: STOC’01, pp. 749–753. ACM Press, New York (2001)Google Scholar
  11. 11.
    Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: POPL’89, pp. 179–190. ACM Press, New York (1989)Google Scholar
  12. 12.
    Ramadge, P.J., Wonham, W.M.: Supervisory control of a class of discrete-event processes. SIAM Journal of Control and Optimization 25, 206–230 (1987)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Reif, J.H.: The complexity of 2-player games of incomplete information. Journal of Computer and System Sciences 29, 274–301 (1984)MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Thomas, W.: Languages, automata, and logic. In: Handbook of Formal Languages, vol. 3, pp. 389–455. Springer, Heidelberg (1997)Google Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Krishnendu Chatterjee
    • 1
  • Thomas A. Henzinger
    • 1
    • 2
  1. 1.University of California, BerkeleyUSA
  2. 2.EPFLSwitzerland

Personalised recommendations