Skip to main content
Log in

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

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Apt, K. R., Francez, N., and de Roever, W. P. 1980. A proof system for communicating sequential processes.

  • ACM Transactions on Programming Languages and Systems 2(3): 359-385.

  • 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 

  • Boisieau, P. 1999. Vérification et exéecution d'applications temps-réel industrielles avec ELECTRE. Ph.D. thesis, Ecole Centrale de Nantes.

  • 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.

  • 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.

  • Boussinot, F., and de Simone, R. 1991. The ESTEREL language. Proceedings of the IEEE 79(9): 1293-1304.

    Google Scholar 

  • 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 

  • Elrad, T. E., and Francez, N. 1982. Decomposition of distributed programs into communicationclosed layers. Science of Computer Programming 2(3).

  • Esparza, J. 1994. Model checking using net unfoldings. Science of Computer Programming 23(2-3): 151-195.

    Google Scholar 

  • 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.

  • 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.

  • 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.

  • 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 

  • 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.

  • 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).

  • 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.

  • Godefroid, P., and Wolper, P. 1991. A partial approach to model checking. 6th Symposium on Logic in Computer Science Amsterdam.

  • 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.

  • 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 

  • Gouda, M. G., and Han, J. Y. 1985. Protocol validation by fair progress state exploration. Computer Networks and ISDN Systems 353-361.

  • Grumberg, O., and Long, D. 1994. Model checking and modular verification. ACMTransactions on Programming Languages and Systems 16(3): 843-871.

    Google Scholar 

  • 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 

  • 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 

  • 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.

  • Holzmann, G. J., and Peled, D. 1994. An improvement in formal verification.

  • 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.

  • 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.

  • Katz, S., and Peled, D. 1992a. Defining conditional independence using collapses. Theoretical Computer Science 101(2): 337-359.

    Google Scholar 

  • Katz, S., and Peled, D. 1992b. Verification of distributed programs using representative interleaving sequences. Distributed Computing 6: 107-120.

    Google Scholar 

  • 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.

  • Lamport, L. 1978. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21(7): 558-565.

    Google Scholar 

  • 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 

  • Manna, Z., and Pnueli, A. 1993. Models for reactivity. Acta Informatica 30: 609-678.

    Google Scholar 

  • 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 

  • 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.

  • McMillan, K. L. 1993. Symbolic Model Checking. Kluwer Academic Publishers.

  • Overman, W. 1981. Verification of concurrent systems: Function and timing. Ph.D. thesis, University of California, Los Angeles.

  • Pagani, F. 1996. Partial orders and verification of real-time systems. Lecture Notes in Computer Science 1135: 327-346.

    Google Scholar 

  • 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.

  • Peled, D. 1994. Combining partial order reductions with on-the-fly model-checking. Lecture Notes in Computer Science 818: 377-390.

  • Penczek, W. 1988. A temporal logic for event structures. Fundamenta Informaticae 11(3): 297-326.

    Google Scholar 

  • Penczek, W. 1990. Proving partial order properties using CCTL. Proc. Concurrency and Compositionality Workshop San Miniato, Italy.

    Google Scholar 

  • 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 

  • 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.

  • 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 

  • Pnueli, A. 1986b. Specification and development of reactive systems. Information Processing.

  • 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 

  • Pratt, V. R. 1986. Modeling concurrency with partial orders. International Journal of Parallel Programming 15(1): 33-71.

    Google Scholar 

  • 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.

  • 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 

  • 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.

  • 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 

  • Valmari, A. 1991a. A stubborn attack on state explosion. Lecture Notes in Computer Science 531: 156---.

  • Valmari, A. 1991b. Stubborn sets for reduced state space generation. LNCS 483: Advances in Petri Nets '90.

  • 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 

  • 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.

  • Willems, B., and Wolper, P. 1997. Partial-order methods for model checking: From linear time to branching time. Actes de JBOPAD97.

  • 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.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Herbreteau, F., Cassez, F. & Roux, O. Application of Partial-Order Methods to Reactive Programs with Event Memorization. Real-Time Systems 20, 287–316 (2001). https://doi.org/10.1023/A:1008129319165

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008129319165

Navigation