Real-Time Systems

, Volume 20, Issue 3, pp 287–316 | Cite as

Application of Partial-Order Methods to Reactive Programs with Event Memorization

  • Frédéric Herbreteau
  • Franck Cassez
  • Olivier Roux


We are concerned in this paperwith the verification of reactive systems with event memorization.The reactive systems are specified with an asynchronous reactivelanguage Electre the main feature of whichis the capability of memorizing occurrences of events in orderto process them later. This memory capability is quite interestingfor specifying reactive systems but leads to a verification modelwith a dramatically large number of states (due to the storedoccurrences of events). In this paper, we show that partial-ordermethods can be applied successfuly for verification purposeson our model of reactive programs with event memorization. Themain points of our work are two-fold: (1) we show that the independencerelation which is a key point for applying partial-order methodscan be extracted automatically from an Electreprogram; (2) the partial-order technique turns out to be veryefficient and may lead to a drastic reduction in the number ofstates of the model as demonstrated by a real-life industrialcase study.

Transition systems Reactive languages Composition Event memorizing Partial-order methods 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Apt, K. R., Francez, N., and de Roever, W. P. 1980. A proof system for communicating sequential processes.Google Scholar
  2. ACM Transactions on Programming Languages and Systems 2(3): 359-385.Google Scholar
  3. Benveniste, A., and Berry, G. 1991. The synchronous approach to reactive and real-time systems. Proceedings of the IEEE 79(9): 1270-1282.Google Scholar
  4. Boisieau, P. 1999. Vérification et exéecution d'applications temps-réel industrielles avec ELECTRE. Ph.D. thesis, Ecole Centrale de Nantes.Google Scholar
  5. Boisieau, P., and Roux, O. 1999. Splitting reachability analysis of hybrid automata. Proc. 11th Euromicro Conference on Real-Time Systems York, England, pp. 98-105.Google Scholar
  6. Boniol, F., Burgueño, A., Roux, O., and Rusu, V. 1997. Analysis of slope-parametric hybrid automata. Lecture Notes in Computer Science 1201: 75-80.Google Scholar
  7. Boussinot, F., and de Simone, R. 1991. The ESTEREL language. Proceedings of the IEEE 79(9): 1293-1304.Google Scholar
  8. Cassez, F., and Roux, O. 1995. Compilation of the ELECTRE reactive language into finite transition systems. Theoretical Computer Science 146(1-2): 109-143.Google Scholar
  9. Elrad, T. E., and Francez, N. 1982. Decomposition of distributed programs into communicationclosed layers. Science of Computer Programming 2(3).Google Scholar
  10. Esparza, J. 1994. Model checking using net unfoldings. Science of Computer Programming 23(2-3): 151-195.Google Scholar
  11. Gerth, R., Kuiper, R., Peled, D., and Penczek, W. 1999. A partial order approach to branching time logic model checking. INFCTRL: Information and Computation (formerly Information and Control) 150.Google Scholar
  12. Godefroid, P. 1991. Using partial orders to improve automatic verification methods. In (E. M. Clarke, ed.) Proceedings of the 2nd International Conference on Computer-Aided Verification (CAV '90), Rutgers, New Jersey, 1990 Berlin-Heidelberg-New York, pp. 176-185.Google Scholar
  13. Godefroid, P. 1996a. On the costs and benefits of using partial-order methods for the verification of concurrent systems. Proceedings of DIMACS Workshop on Partial-Order Methods in Verification, AMS Princeton.Google Scholar
  14. Godefroid, P. 1996b. Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem 1032. New York, NY, USA: Springer-Verlag Inc.Google Scholar
  15. Godefroid, P., Holzmann, G. J., and Pirottin, D. 1995. State space caching revisited. Formal Methods in System Design 1-15. Also in: Proc. CAV92 Montreal, Canada.Google Scholar
  16. Godefroid, P., Peled, D., and Staskauskas, M. 1996. Using partial-order methods in the formal validation of industrial concurrent programs. IEEE Transactions on Software Engineering 22(7).Google Scholar
  17. Godefroid, P., and Pirottin, D. 1993. Refining dependencies improves partial-order verification methods (extended abstract). Proceedings of the 5th International Conference on Computer Aided Verification, Greece Berlin-Heidelberg-New York, pp. 409-423.Google Scholar
  18. Godefroid, P., and Wolper, P. 1991. A partial approach to model checking. 6th Symposium on Logic in Computer Science Amsterdam.Google Scholar
  19. Godefroid, P., and Wolper, P. 1992. Using partial orders for the efficient verification of deadlock freedom and safety properties. In (K. G. Larsen and A. Skou, eds.) Proceedings of Computer Aided Verification (CAV '91), Vol. 575 of LNCS. Berlin, Germany, pp. 332-342.Google Scholar
  20. Godefroid, P., and Wolper, P. 1993. Partial-order methods for temporal verification. CONCUR '93 Proceedings Lecture Notes in Computer Science 715: 233-246.Google Scholar
  21. Gouda, M. G., and Han, J. Y. 1985. Protocol validation by fair progress state exploration. Computer Networks and ISDN Systems 353-361.Google Scholar
  22. Grumberg, O., and Long, D. 1994. Model checking and modular verification. ACMTransactions on Programming Languages and Systems 16(3): 843-871.Google Scholar
  23. Halbwachs, N., Caspi, P., Raymond, P., and Pilaud, D. 1991. The synchronous dataflow language LUSTRE. Proceedings of the IEEE 79(9): 1304-1320.Google Scholar
  24. Holzmann, G. J. 1987. Automated protocol validation in argos: Assertion proving and scatter searching. IEEE Transactions on Software Engineering 13(6): 683-696.Google Scholar
  25. Holzmann, G. J., Godefroid, P., and Pirottin, D. 1992. Coverage preserving reduction strategies for reachability analysis. Proc. 12th Int. Conf. on Protocol Specification, Testing, and Verification, INWG/IFIP Orlando, Fl.Google Scholar
  26. Holzmann, G. J., and Peled, D. 1994. An improvement in formal verification.Google Scholar
  27. Janssen, W., and Zwiers, J. 1993. Specifying and proving communication closedness in protocols. Proc. 13th IFIP WG 6.1 International Symposium on Protocol Specification, Testing, and Verification Liége, pp. 323-339.Google Scholar
  28. Katz, S., and Peled, D. 1987. Interleaving set temporal logic. Proceedings of the 6th Annual ACM Symposium on Principles of Distributed Computing 178-190. See also Technical Report #505, Technion-Israel Institute of Technology, Department of Computer Science, Haifa, Israel, March 1988.Google Scholar
  29. Katz, S., and Peled, D. 1992a. Defining conditional independence using collapses. Theoretical Computer Science 101(2): 337-359.Google Scholar
  30. Katz, S., and Peled, D. 1992b. Verification of distributed programs using representative interleaving sequences. Distributed Computing 6: 107-120.Google Scholar
  31. Kornatzky, Y., and Pinter, S. S. 1986. A model checker for partial order temporal logic. Technical Report EE PUB 597, Department of Electrical Engineering, Technion-Israel Institute of Technology.Google Scholar
  32. Lamport, L. 1978. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7): 558-565.Google Scholar
  33. Le Guernic, P., Benveniste, A., Bournai, P., and Gautier, T. 1986. SIGNAL: A data-flow oriented language for signal processing. IEEE Transactions on ASSP ASSP-34(2): 362-374.Google Scholar
  34. Manna, Z., and Pnueli, A. 1993. Models for reactivity. Acta Informatica 30: 609-678.Google Scholar
  35. Mazurkiewicz, A. 1986. Trace theory. Petri Nets: Applications and Relationships to Other Models of Concurrency, Advances in Petri Nets 1986, Part II: Proceedings of an Advanced Course, Vol. 255 of Lecture Notes in Computer Science pp. 279-324.Google Scholar
  36. McMillan, K. L. 1992. Using unfoldings to avoid the state explosion problem in the verification of asynchronous circuits. In (G. v. Bochman and D. K. Probst, eds.) Proc. InternationalWorkshop on Computer AidedVerification, Vol. 663 of Lecture Notes in Computer Science pp. 164-177.Google Scholar
  37. McMillan, K. L. 1993. Symbolic Model Checking. Kluwer Academic Publishers.Google Scholar
  38. Overman, W. 1981. Verification of concurrent systems: Function and timing. Ph.D. thesis, University of California, Los Angeles.Google Scholar
  39. Pagani, F. 1996. Partial orders and verification of real-time systems. Lecture Notes in Computer Science 1135: 327-346.Google Scholar
  40. Peled, D. 1993. All from one, one from all: On model checking using representatives. Proceedings of the 5th International Conference on Computer Aided Verification, Greece Berlin-Heidelberg-New York, pp. 409-423.Google Scholar
  41. Peled, D. 1994. Combining partial order reductions with on-the-fly model-checking. Lecture Notes in Computer Science 818: 377-390.Google Scholar
  42. Penczek, W. 1988. A temporal logic for event structures. Fundamenta Informaticae 11(3): 297-326.Google Scholar
  43. Penczek, W. 1990. Proving partial order properties using CCTL. Proc. Concurrency and Compositionality Workshop San Miniato, Italy.Google Scholar
  44. Perraud, J., Roux, O., and Huou, M. 1992. Operational semantics of a kernel of the language ELECTRE. Theoretical Computer Science 97(1): 83-104.Google Scholar
  45. Pinter, S. S., and Wolper, P. 1984. A temporal logic to reason about partially ordered computations. Proc. 3rd ACM Symp. on Principles of Distributed Computing Vancouver, pp. 28-37.Google Scholar
  46. Pnueli, A. 1986a. Applications of temporal logic to the specification and verification of reactive systems: A survey of current trends. In (W.-P. de Roever and G. Rozenberg, eds.) Current Trends in Concurrency: Overviews and Tutorials, Vol. 224 of Lecture Notes in Computer Science. New York, NY: Springer-Verlag, pp. 510-584.Google Scholar
  47. Pnueli, A. 1986b. Specification and development of reactive systems. Information Processing.Google Scholar
  48. Pnueli, A., and Harel, D. 1985. On the Development of Reactive Systems, Vol. F 13 of NATO ASI, pp. 477-498. Springer-Verlag Berlin Heidelberg, K. R. APT edition.Google Scholar
  49. Pratt, V. R. 1986. Modeling concurrency with partial orders. International Journal of Parallel Programming 15(1): 33-71.Google Scholar
  50. Stomp, F. A., and de Roever, W. P. 1989. Designing distributed algorithms by means of formal sequentially phased reasoning (extended abstract). In (J.-C. Bermond and M. Raynal, eds.) Distributed Algorithms, 3rd International Workshop, Vol. 392 of Lecture Notes in Computer Science. Nice, France, pp. 242-253.Google Scholar
  51. Sutre, G., Finkel, A., Roux, O., and Cassez, F. 1999. Effective recognizability and model checking of reactive fiffo automata. Lecture Notes in Computer Science 1548: 106-123.Google Scholar
  52. Valmari, A. 1988a. Error detection by reduced reachability graph generation. Proc. 9th International Conference on Application and Theory of Petri Nets Venice, pp. 95-112.Google Scholar
  53. Valmari, A. 1988b. Heuristics for lazy state generation speeds up to analysis of concurrent systems. Proc. of the Finnish Artificial Intelligence Symposium STeP-88, Vol. 2. Helsinki, pp. 640-650.Google Scholar
  54. Valmari, A. 1991a. A stubborn attack on state explosion. Lecture Notes in Computer Science 531: 156---.Google Scholar
  55. Valmari, A. 1991b. Stubborn sets for reduced state space generation. LNCS 483: Advances in Petri Nets '90.Google Scholar
  56. Valmari, A. 1993. On-the-fly verification with stubborn sets. Proc. 5th Conference on Computer AidedVerification, Vol. 483 of Lecture Notes in Computer Science. Elounda: Springer-Verlag, pp. 397-408.Google Scholar
  57. West, C. H. 1986. Protocol validation by random state exploration. Proc. 6th IFIPWG6.1 International Symposium on Protocol Specification, Testing and Verification pp. 233-242.Google Scholar
  58. Willems, B., and Wolper, P. 1997. Partial-order methods for model checking: From linear time to branching time. Actes de JBOPAD97.Google Scholar
  59. Winskel, G. 1986. Event structures. In (W. Brauer, ed.) Petri Nets: Central Models and their Properties; Advances in Petri Nets; Proceedings of an Advanced Course, Bad Honnef, 8.-19. Sept. 1986, Vol. 2. Berlin-Heidelberg-New York.Google Scholar

Copyright information

© Kluwer Academic Publishers 2001

Authors and Affiliations

  • Frédéric Herbreteau
    • 1
  • Franck Cassez
    • 1
  • Olivier Roux
    • 1
  1. 1.IRCCyNNantes cedex 03FRANCE

Personalised recommendations