Skip to main content

Rewriting techniques for the temporal analysis of communicating processes

  • Conference paper
  • First Online:
Book cover PARLE Parallel Architectures and Languages Europe (PARLE 1987)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 259))

Abstract

State transitions systems are the most commonly used model for the static analysis of the dynamic behaviour of parallel programs. One difficulty for implementing such analyzers is the lack of structure of the set of states. As a consequence, only finite state systems are considered as analyzable. We present a method based on term rewriting, which permits to mechanically deal with transition systems having an infinite number of states, and show how it can be applied to the FP2 programming language where communicating processes are described through rewrite rules.

UUCP: mcvax!imag!lifia!phs

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. D. Austry and G. Boudol. Algebre de processus et synchronisation. Theoretical Computer Science, 30(1), 1984.

    Google Scholar 

  2. E. Allen Emerson and J. Y. Halpern. “Sometimes” and “Not Never” revisited: on branching versus linear time temporal logic. Journal of the ACM, 33(1):151–178, 1986.

    Article  Google Scholar 

  3. D. Bert and R. Echahed. Design and implementation of a generic, logic and functional programming language. In Proc. ESOP 86, Saarbrucken, LNCS 213, Springer-Verlag, March 1986.

    Google Scholar 

  4. G. Boudol. Notes on Algebraic Calculi of Processes. Research Report 395, INRIA, April 1985.

    Google Scholar 

  5. A. Colmerauer. Equations and inequations on finite and infinite trees. In FGCS'84 Proceedings, November 1984.

    Google Scholar 

  6. H. Comon. About disequations simplification. 1987. Not yet published.

    Google Scholar 

  7. H. Comon. An Anti-Unification Approach to Decide the Sufficient Completeness of Algebraic Specifications. Research Report Lifia 50 Imag 619, Univ. Grenoble, July 1986. To appear in J. Comp. Sys. Sci.

    Google Scholar 

  8. H. Comon. Sufficient completeness, term rewriting systems and anti-unification. In 8th Conf. on Automated Deduction, Oxford, LNCS 230, Springer-Verlag, 1986.

    Google Scholar 

  9. Ph. Devienne and P. Lebegue. Weighted graphs: a tool for logic programming. In Proc. CAAP 86, Nice, LNCS 214, Springer-Verlag, March 1986.

    Google Scholar 

  10. H.-D. Ehrich. On the theory of specification, implementation and parametrization of abstract data types. Journal of the ACM, 29(1):206–227, 1982.

    Article  Google Scholar 

  11. H. Ehrig, H.-J. Kreowski, J. Thatcher, E. Wagner, and J. Wright. Parameter passing in algebraic specification languages. Theoretical Computer Science, 28, 1984.

    Google Scholar 

  12. J. V. Guttag and J. J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10, 1978.

    Google Scholar 

  13. Guttag, Horowitz, and Musser. Abstract data types and software validation. Communications of the ACM, 21(12), 1978.

    Google Scholar 

  14. J. Goguen and J. Meseguer. EQLOG: equality, types, and generic modules for logic programming. In DeGroot and Lindstrom, editors, Functional and Logic Programming, Prentice Hall Int., 1985.

    Google Scholar 

  15. G. Grätzer. Universal Algebra. Springer-Verlag, second edition, 1979.

    Google Scholar 

  16. S. Graf and J. Sifakis. From Synchronization Tree Logic to Acceptance Model Logic. In Logics of Programs. Proceedings, LNCS 193, Springer-Verlag, 1985.

    Google Scholar 

  17. G. Huet and D. Oppen. Equations and rewrite rules: a survey. In Formal Language Theory. Perspectives and Open Problems, Academic Press, 1980.

    Google Scholar 

  18. Ph. Jorrand. Specification of communicating processes and process implementation correctness. In Int. Symp. on Programming, LNCS 137, Springer-Verlag, 1982.

    Google Scholar 

  19. Ph. Jorrand. Term rewriting as a basis for the design of a functional and parallel programming language. A case study: the language FP2. In Fundamentals of Artificial Intelligence, LNCS 232, Springer-Verlag, 1986.

    Google Scholar 

  20. S. Kaplan. Rewriting with a non-deterministic choice operator: from algebra to proofs. In Proc. ESOP 86, Saarbrucken, LNCS 213, Springer-Verlag, March 1986.

    Google Scholar 

  21. R. M. Keller. Formal verification of parallel programs. Communications of the ACM, 19(7):371–384, 1976.

    Article  Google Scholar 

  22. L. Lamport. “Sometimes” is sometimes “Not Never”. In Proc. ACM Symp. Principles of Programming Languages, January 1980.

    Google Scholar 

  23. J.L. Lassez, M.J. Maher, and K.G. Marriot. Unification Revisited. Research Report RC 12394, IBM. T.J. Watson Research Center, November 1986.

    Google Scholar 

  24. R. Milner. A Calculus of Communicating Systems. Volume LNCS 92, Springer-Verlag, 1980.

    Google Scholar 

  25. R. Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 23, 1983.

    Google Scholar 

  26. A. Martelli and U. Montanari. An efficient unification algorithm. ACM Transactions on Programming Languages and Systems, 4:258–282, 1982.

    Article  Google Scholar 

  27. J. M. Pereira. Processus communicants; un langage formel et ses modèles. Problèmes d'analyse. Thèse de 3eme cycle, Univ. Grenoble, 1984.

    Google Scholar 

  28. J. M. Pereira. Noetherian functions and termination of head rewriting rules: a tool for the halting problem in programming languages. Research Report, Univ. Grenoble, July 1986.

    Google Scholar 

  29. J. M. Pereira and C. Rodriguez. The reachability analysis in communicating processes founded in term transition system. Research Report Lifia 37 Imag 567, Univ. Grenoble, December 1985.

    Google Scholar 

  30. J. P. Queille and J. Sifakis. Specification and verifications of concurrent systems in CESAR. In Int. Symp. on Programming, LNCS 187, Springer-Verlag, 1982.

    Google Scholar 

  31. J. P. Queille. The CESAR system: an aided design and cerification system for distributed applications. In Proc. of the 2nd Int. Conf. on Distributed Computing Systems, pages 149–161, Computer Society Press, 1981.

    Google Scholar 

  32. J. Sifakis. A unified approach for studying the properties of transitions systems. Theoretical Computer Science, 18, 1982.

    Google Scholar 

  33. J.J. Thiel. Stop loosing sleep over incomplete specifications. In Proc. ACM Symp. Principles of Programming Languages, 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker A. J. Nijman P. C. Treleaven

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Schnoebelen, P. (1987). Rewriting techniques for the temporal analysis of communicating processes. In: de Bakker, J.W., Nijman, A.J., Treleaven, P.C. (eds) PARLE Parallel Architectures and Languages Europe. PARLE 1987. Lecture Notes in Computer Science, vol 259. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-17945-3_23

Download citation

  • DOI: https://doi.org/10.1007/3-540-17945-3_23

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-17945-0

  • Online ISBN: 978-3-540-47181-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics