Rewriting techniques for the temporal analysis of communicating processes

  • Ph. Schnoebelen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 259)


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.


Transition System Transition Relation Transition Rule Linear Time Temporal Logic Abstract Data Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AB84]
    D. Austry and G. Boudol. Algebre de processus et synchronisation. Theoretical Computer Science, 30(1), 1984.Google Scholar
  2. [AH86]
    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.CrossRefGoogle Scholar
  3. [BE86]
    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. [Bou85]
    G. Boudol. Notes on Algebraic Calculi of Processes. Research Report 395, INRIA, April 1985.Google Scholar
  5. [Col84]
    A. Colmerauer. Equations and inequations on finite and infinite trees. In FGCS'84 Proceedings, November 1984.Google Scholar
  6. [Com86a]
    H. Comon. About disequations simplification. 1987. Not yet published.Google Scholar
  7. [Com86b]
    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. [Com86c]
    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. [DL86]
    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. [Ehr82]
    H.-D. Ehrich. On the theory of specification, implementation and parametrization of abstract data types. Journal of the ACM, 29(1):206–227, 1982.CrossRefGoogle Scholar
  11. [EKT*84]
    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. [GH78]
    J. V. Guttag and J. J. Horning. The algebraic specification of abstract data types. Acta Informatica, 10, 1978.Google Scholar
  13. [GHM78]
    Guttag, Horowitz, and Musser. Abstract data types and software validation. Communications of the ACM, 21(12), 1978.Google Scholar
  14. [GM85]
    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. [Grä79]
    G. Grätzer. Universal Algebra. Springer-Verlag, second edition, 1979.Google Scholar
  16. [GS85]
    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. [HO80]
    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. [Jor82]
    Ph. Jorrand. Specification of communicating processes and process implementation correctness. In Int. Symp. on Programming, LNCS 137, Springer-Verlag, 1982.Google Scholar
  19. [Jor86]
    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. [Kap86]
    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. [Kel76]
    R. M. Keller. Formal verification of parallel programs. Communications of the ACM, 19(7):371–384, 1976.CrossRefGoogle Scholar
  22. [Lam80]
    L. Lamport. “Sometimes” is sometimes “Not Never”. In Proc. ACM Symp. Principles of Programming Languages, January 1980.Google Scholar
  23. [LMM86]
    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. [Mil80]
    R. Milner. A Calculus of Communicating Systems. Volume LNCS 92, Springer-Verlag, 1980.Google Scholar
  25. [Mil83]
    R. Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 23, 1983.Google Scholar
  26. [MM82]
    A. Martelli and U. Montanari. An efficient unification algorithm. ACM Transactions on Programming Languages and Systems, 4:258–282, 1982.CrossRefGoogle Scholar
  27. [Per84]
    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. [Per86]
    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. [PR85]
    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. [QS82]
    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. [Que81]
    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. [Sif82]
    J. Sifakis. A unified approach for studying the properties of transitions systems. Theoretical Computer Science, 18, 1982.Google Scholar
  33. [Thi84]
    J.J. Thiel. Stop loosing sleep over incomplete specifications. In Proc. ACM Symp. Principles of Programming Languages, 1984.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Ph. Schnoebelen
    • 1
    • 2
  1. 1.Laboratoire d'Informatique Fondamentale et d'Intelligence ArtificielleGrenobleFrance
  2. 2.Lifia-ImagSt Martin d'Heres CedexFrance

Personalised recommendations