The Control of Synchronous Systems, Part II

  • Luca de Alfaro
  • Thomas A. Henzinger
  • Freddy Y. C. Mang
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2154)


A controller is an environment for a system that achieves a particular control objective by providing inputs to the system without constraining the choices of the system. For synchronous systems, where system and controller make simultaneous and interdependent choices, the notion that a controller must not constrain the choices of the system can be formalized by type systems for composability. In a previous paper, we solved the control problem for static and dynamic types: a static type is a dependency relation between inputs and outputs, and composition is well-typed if it does not introduce cyclic dependencies; a dynamic type is a set of static types, one for each state. Static and dynamic types, however, cannot capture many important digital circuits, such as gated clocks, bidirectional buses, and random-access memory. We therefore introduce more general type systems, so-called dependent and bidirectional types, for modeling these situations, and we solve the corresponding control problems.

In a system with a dependent type, the dependencies between inputs and outputs are determined gradually through a game of the system against the controller. In a system with a bidirectional type, also the distinction between inputs and outputs is resolved dynamically by such a game. The game proceeds in several rounds. In each round the system and the controller choose to update some variables dependent on variables that have already been updated. The solution of the control problem for dependent and bidirectional types is based on algorithms for solving these games.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AdAHM99]
    R. Alur, L. de Alfaro, T.A. Henzinger, F.Y.C. Mang. Automating modular verification. In Concurrency Theory, LNCS 1664, pp. 82–97. Springer, 1999.CrossRefGoogle Scholar
  2. [AH99]
    R. Alur and T.A. Henzinger. Reactive modules. Formal Methods in System Design, 15:7–48, 1999.CrossRefGoogle Scholar
  3. [BL69]
    J.R. Büchi and L.H. Landweber. Solving sequential conditions by finitestate strategies. Trans. Amer. Math. Soc., 138:295–311, 1969.CrossRefMathSciNetGoogle Scholar
  4. [dAHM00a]
    L. de Alfaro, T.A. Henzinger, F.Y.C. Mang. The control of synchronous systems. In Concurrency Theory, LNCS 1877, pp. 458–473. Springer, 2000.Google Scholar
  5. [dAHM00b]
    L. de Alfaro, T.A. Henzinger, F.Y.C. Mang. Detecting errors before reaching them. In Computer-Aided Verification, LNCS 1855, pp. 186–201. Springer, 2000.CrossRefGoogle Scholar
  6. [BG92]
    G. Berry and G. Gonthier. The Esterel Synchronous Programming Language: design, semantics, implementation. Science Computer Programming, 19:87–152, 1992.zbMATHCrossRefGoogle Scholar
  7. [GH82]
    Y. Gurevich and L. Harrington. Trees, automata, and games. In Proc. Symp. Theory of Computing, pp. 60–65. ACM Press, 1982.Google Scholar
  8. [Hen61]
    L. Henkin. Some remarks on infinitely long formulas. In Infinitistic Methods, pp. 167–183. Polish Scientific Publishers, 1961.Google Scholar
  9. [Mal94]
    S. Malik. Analysis of cyclic combinational circuits. IEEE Trans. Computer-Aided Design, 13:950–956, 1994.CrossRefGoogle Scholar
  10. [McN93]
    R. McNaughton. Infinite games played on finite graphs. Ann. Pure and Applied Logic, 65:149–184, 1993.zbMATHCrossRefMathSciNetGoogle Scholar
  11. [PR89]
    A. Pnueli and R. Rosner. On the synthesis of a reactive module. In Symp. Principles of Programming Languages, pp. 179–190. ACM Press, 1989.Google Scholar
  12. [PRSV98]
    R. Passerone, J.A. Rowson, A.L. Sangiovanni-Vincentelli. Automatic synthesis of interfaces between incompatible protocols. In Proc. Design Automation Conference, pp. 8–13. ACM Press, 1998.Google Scholar
  13. [RW87]
    P.J. Ramadge and W.M. Wonham. Supervisory control of a class of discrete-event processes. SIAM J. Control and Optimization, 25:206–230, 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  14. [SIG]
    PCI SIG. PCI local bus specification, rev. 2.2.Google Scholar
  15. [Tho95]
    W. Thomas. On the synthesis of strategies in infinite games. In Theoretical Aspects of Computer Science, LNCS 900, pp. 1–13. Springer, 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Luca de Alfaro
    • 1
  • Thomas A. Henzinger
    • 1
  • Freddy Y. C. Mang
    • 1
  1. 1.Electrical Engineering and Computer SciencesUniversity of California at BerkeleyUSA

Personalised recommendations