Abstract
We concentrate on automatic revision of untimed and real-time programs with respect to UNITY properties. The main focus of this article is to identify instances where addition of UNITY properties can be achieved efficiently (in polynomial time) and where the problem of adding UNITY properties is difficult (NP-complete). Regarding efficient revision, we present a sound and complete algorithm that adds a single leads-to property (respectively, bounded-time leads-to property) and a conjunction of unless, stable, and invariant properties (respectively, bounded-time unless and stable) to an existing untimed (respectively, real-time) UNITY program in polynomial-time in the state space (respectively, region graph) of the given program. Regarding hardness results, we show that (1) while one leads-to (respectively, ensures) property can be added in polynomial-time, the problem of adding two such properties (or any combination of leads-to and ensures) is NP-complete, (2) if maximum non-determinism is desired then the problem of adding even a single leads-to property is NP-complete, and (3) the problem of providing maximum non-determinism while adding a single bounded-time leads-to property to a real-time program is NP-complete (in the size of the program's region graph) even if the original program satisfies the corresponding unbounded leads-to property.
- Alur, R. and Dill, D. 1994. A theory of timed automata. Theor. Comput. Sci. 126, 2, 183--235. Google Scholar
Digital Library
- Alur, R., Feder, T., and Henzinger, T. 1996. The benefits of relaxing punctuality. J. ACM 43, 1, 116--146. Google Scholar
Digital Library
- Asarin, E. and Maler, O. 1999. As soon as possible: Time optimal control for timed automata. In Proceedings of the Conference on Hybrid Systems: Computation and Control (HSCC). 19--30. Google Scholar
Digital Library
- Asarin, E., Maler, O., Pnueli, A., and Sifakis, J. 1998. Controller synthesis for timed automata. In Proceedings of the IFAC Symposium on System Structure and Control. 469--474.Google Scholar
- Attie, P. and Emerson, E. A. 2001. Synthesis of concurrent programs for an atomic read/write model of computation. ACM Trans. Prog. Lang. Syst. 23, 2, 187--242. Google Scholar
Digital Library
- Attie, P. C. 1999. Synthesis of large concurrent programs via pairwise composition. In Proceedings of the International Conference on Concurrency Theory (CONCUR). Springer-Verlag, 130--145. Google Scholar
Digital Library
- Attie, P. C., Arora, A., and Emerson, E. A. 2004. Synthesis of fault-tolerant concurrent programs. ACM Trans. Prog. Lang. Syst. 26, 1, 125--185. Google Scholar
Digital Library
- Bang-Jensen, J. and Gutin, G. 2002. Digraphs: Theory, Algorithms and Applications. Springer.Google Scholar
Cross Ref
- Bonakdarpour, B. and Kulkarni, S. S. 2006a. Automated incremental synthesis of timed automata. In Proceedings of the International Workshop on Formal Methods for Industrial Critical Systems (FMICS). Lecture Notes in Computer Science, vol. 4346, 261--276.Google Scholar
Cross Ref
- Bonakdarpour, B. and Kulkarni, S. S. 2006b. Incremental synthesis of fault-tolerant real-time programs. In Proceedings of the International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS). Lecture Notes in Computer Science, vol. 4280, 122--136.Google Scholar
Cross Ref
- Bonakdarpour, B. and Kulkarni, S. S. 2007. Exploiting symbolic techniques in automated synthesis of distributed programs with large state space. In Proceedings of the IEEE International Conference on Distributed Computing Systems (ICDCS). 3--10. Google Scholar
Digital Library
- Bonakdarpour, B. and Kulkarni, S. S. 2008. SYCRAFT: A tool for synthesizing fault-tolerant distributed programs. In Proceedings of the International Conference on Concurrency Theory (CONCUR). 167--171. Google Scholar
Digital Library
- Bouyer, P., D'Souza, D., Madhusudan, P., and Petit, A. 2003. Timed control with partial observability. In Proceedings of the International Conference on Computer Aided Verification (CAV). 180--192.Google Scholar
- Carruth, A. 1994. Real-time UNITY. Tech. rep. CS-TR-94-10, University of Texas at Austin. Google Scholar
Digital Library
- Chandy, K. M. and Misra, J. 1988. Parallel Program Design: A Foundation. Addison-Wesley Longman Publishing Co., Inc., Boston, MA. Google Scholar
Digital Library
- Courcoubetis, C. and Yannakakis, M. 1991. Minimum and maximum delay problems in real-time systems. In Proceedings of the International Conference on Computer-Aided Verificaion (CAV). 399--409. Google Scholar
Digital Library
- de Alfaro, L., Faella, M., Henzinger, T. A., Majumdar, R., and Stoelinga, M. 2003. The element of surprise in timed games. In Proceedings of the International Conference on Concurrency Theory (CONCUR).Google Scholar
- Dijkstra, E. W. 1974. Self-stabilizing systems in spite of distributed control. Comm. ACM 17, 11. Google Scholar
Digital Library
- Dijkstra, E. W. 1990. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, NJ. Google Scholar
Digital Library
- D'Souza, D. and Madhusudan, P. 2002. Timed control synthesis for external specifications. In Proceedings of the Symposium on Theoretical Aspects of Computer Science (STACS). 571--582. Google Scholar
Digital Library
- Ebnenasir, A., Kulkarni, S. S., and Bonakdarpour, B. 2005. Revising UNITY programs: Possibilities and limitations. In Proceedings of the Conference on Principles of Distributed Systems (OPODIS). 275--290.Google Scholar
- Emerson, E. A. and Clarke, E. M. 1982. Using branching time temporal logic to synthesize synchronization skeletons. Sci. Comput. Prog. 2, 3, 241--266.Google Scholar
Cross Ref
- Eppstein, D. 1999. Finding the k shortest paths. SIAM J. Comput. 28, 2, 652--673. Google Scholar
Digital Library
- Faella, M., LaTorre, S., and Murano, A. 2002. Dense real-time games. In Logic in Computer Science (LICS). 167--176. Google Scholar
Digital Library
- Holzmann, G. 1997. The model checker spin. IEEE Trans. Software Engin. Google Scholar
Digital Library
- Jobstmann, B., Griesmayer, A., and Bloem, R. 2005. Program repair as a game. In Proceedings of the Conference on Computer Aided Verification (CAV). 226--238.Google Scholar
- Karp, R. M. 1972. Reducibility among combinatorial problems. In Proceedings of the Symposium on Complexity of Computer Computations. 85--103.Google Scholar
Cross Ref
- Kulkarni, S. S., Arora, A., and Chippada, A. 2001. Polynomial time synthesis of Byzantine agreement. In Proceedings of the Symposium on Reliable Distributed Systems (SRDS). 130--140.Google Scholar
- Kulkarni, S. S., Arora, A., and Ebnenasir, A. 2007. Software Engineering and Fault-Tolerance. World Scientific Publishing Co. Pte. Ltd (Chapter: Adding Fault-Tolerance to State Machine-Based Designs).Google Scholar
- Kulkarni, S. S. and Ebnenasir, A. 2002. The complexity of adding failsafe fault-tolerance. In Proceedings of the International Conference on Distributed Computing Systems (ICDCS). 337--344. Google Scholar
Digital Library
- Kulkarni, S. S. and Ebnenasir, A. 2003. Enhancing the fault-tolerance of nonmasking programs. In Proceedings of the International Conference on Distributed Computing Systems (ICDCS). Google Scholar
Digital Library
- Kulkarni, S. S. and Ebnenasir, A. 2004. Automated synthesis of multitolerance. In Proceedings of the International Conference on Dependable Systems and Networks (DSN). 209--219. Google Scholar
Digital Library
- Lafortune, S. and Lin, F. 1992. On tolerable and desirable behaviors in supervisory control of discrete event systems. Discr. Event Dynam. Syst. 1, 1, 61--92.Google Scholar
Cross Ref
- Lin, F. and Wonham, W. M. 1990. Decentralized control and coordination of discrete-event systems with partial observation. IEEE Trans. Autom. Control 35, 12.Google Scholar
Cross Ref
- Maler, O., Nickovic, D., and Pnueli, A. 2006. From MITL to timed automata. In Proceedings of the Conference on Formal Modeling and Analysis of Timed Systems (FORMATS). 274--289.Google Scholar
- Manna, Z. and Wolper, P. 1984. Synthesis of communicating processes from temporal logic specifications. ACM Trans. Prog. Lang. Syst. 6, 1, 68--93. Google Scholar
Digital Library
- Paik, D., Reddy, S., and Sahni, S. 1994. Deleting vertices to bound path length. IEEE Trans. Comput. 43, 9, 1091--1096. Google Scholar
Digital Library
- Paik, D., Reddy, S. M., and Sahni, S. 1998. Vertex splitting in dags and applications to partial scan designs and lossy circuits. Int. J. Found. Comput. Sci. 9, 4, 377--398.Google Scholar
Cross Ref
- Pnueli, A. and Rosner, R. 1989a. On the synthesis of a reactive module. In Proceedings of the Conference on Principles of Programming Languages (POPL). 179--190. Google Scholar
Digital Library
- Pnueli, A. and Rosner, R. 1989b. On the synthesis of an asynchronous reactive module. In Proceedings of the International Colloqium on Automata, Languages, and Programming (ICALP). 652--671. Google Scholar
Digital Library
- Ramadge, P. and Wonham, W. 1989. The control of discrete event systems. Proc. IEEE 77, 1, 81--98.Google Scholar
Cross Ref
- Rohloff, K. R. 2004. Computations on distributed discrete-event systems. Ph.D. thesis, University of Michigan. Google Scholar
Digital Library
- Rudie, K., Lafortune, S., and Lin, F. 2003. Minimal communication in a distributed discrete-event systems. IEEE Trans. Autom. Control 48, 6.Google Scholar
Cross Ref
- Thomas, W. 2002. Infinite games and verification (extended abstract of a tutorial). In Proceedings of the International Conference on Computer Aided Verification (CAV). 58--64. Google Scholar
Digital Library
- Wallmeier, N., Hütten, P., and Thomas, W. 2003. Symbolic synthesis of finite-state controllers for request-response specifications. In Proceedings of the Conference on Implementation and Application of Automata (CIAA). 11--22.Google Scholar
Index Terms
Complexity results in revising UNITY programs
Recommendations
Revising UNITY programs: possibilities and limitations
OPODIS'05: Proceedings of the 9th international conference on Principles of Distributed SystemsWe concentrate on automatic addition of UNITY properties unless, stable, invariant, and leads-to to programs. We formally define the problem of adding UNITY properties to programs while preserving their existing properties. For cases where one ...
Revising Distributed UNITY Programs Is NP-Complete
OPODIS '08: Proceedings of the 12th International Conference on Principles of Distributed SystemsWe focus on automated revision techniques for adding Unity properties to distributed programs. We show that unlike centralized programs, where multiple safety properties along with one progress property can be simultaneously added in polynomial-time, ...
Deducing fairness properties in UNITY logic—a new completeness result
We explore the use of UNITY logic in specifying and verifying fairness properties of UNITY and UNITY-like programs whose semantics can be modeled by weakly fair transition systems. For such programs, strong fairness properties in the form of “if p holds ...






Comments