About the “correctness” and “adequacy” of PLUSS specifications

  • Christine Choppy
Contributed Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 785)


In the context of algebraic specifications written in Pluss, this paper investigates various issues raised by the question: “Is my specification correct?”. Up to now the only ways to check the adequacy of a specification with respect to the problem to be solved are through running a prototype on appropriate examples, or through the use of the specification to prove consequent (expected) properties. Before this problem may be fully addressed, issues regarding the specification consistency and the correctness of the prototype w.r.t. the specification must be studied. In this paper, various issues concerning checking consistency and proving properties of PLUSS specifications are presented. It is investigated how general properties can be proved using an appropriate presentation of the specification that may be understood by a prototyping tool. While this study is done in the framework of the pluss specification language, it should be clear that most of the issues considered here arise in a similar way with other specification languages.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    G. Bernot. Good functors... are those preserving philosophy. In Proc. of the Summer Conference on Category Theory and Computer Science, pages 182–195. Springer-Verlag L.N.C.S. 283, 1987.Google Scholar
  2. 2.
    G. Bernot and M. Bidoit. Proving the correctness of algebraically specified software: Modularity and Observability issues. In Proc. of the 2nd International Conference on Algebraic Methodology and Software Technology (AMAST), 1991.Google Scholar
  3. 3.
    D. Bert, P. Drabik, and R. Echahed. Manuel de référence de LPG. Technical Report 17, IMAG-LIFIA, 1987.Google Scholar
  4. 4.
    M. Bidoit. The stratified loose approach: A generalization of initial and loose semantics. In Recent Trends in Data Type Specification, Selected Papers of the 5th Workshop on Specifications of Abstract Data Types, pages 1–22. Springer-Verlag L.N.C.S. 332, 1987.Google Scholar
  5. 5.
    M. Bidoit. Pluss, un langage pour le développement de spécifications algébriques modulaires. Thèse d'Etat, Université Paris-Sud, 1989.Google Scholar
  6. 6.
    M. Bidoit, C. Choppy, C. Roques, and F. Voisin. About the semantics of renaming in pluss, 1994. In preparation.Google Scholar
  7. 7.
    M. Bidoit, C. Choppy, and F. Voisin. Validation d'une spécification algébrique du nœud de transit par prototypage et démonstration. en préparation, 1993.Google Scholar
  8. 8.
    M. Bidoit, M.-C. Gaudel, and A. Mauboussin. How to make algebraic specifications more understandable? An experiment with the Pluss specification language. Science of Computer Programming, 12(1), 1989.Google Scholar
  9. 9.
    R.M. Burstall and J.A. Goguen. Putting theories together to make specifications. In Proc. of the 5th International Joint Conference on Artificial Intelligence (IJCAI), pages 1045–1058, 1977.Google Scholar
  10. 10.
    C. Choppy. Is my specification “correct” ? A study with pluss specifications. L.R.I. Research Report 817, 1993.Google Scholar
  11. 11.
    C. Choppy, D. Bert, M. Bidoit, R. Echahed, C. Roques, and F. Voisin. Rapid prototyping with algebraic specifications: A case study. L.R.I. Research Report 844, 1993.Google Scholar
  12. 12.
    H. Ehrig, W. Fey, and H. Hansen. ACT ONE: an algebraic specification language with two levels of semantics. Technical Report 83-03, TU Berlin FB 20, 1983.Google Scholar
  13. 13.
    H. Ehrig and B. Mahr. Fundamentals of algebraic specification 1. Equations and initial semantics, volume 6 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, 1985.Google Scholar
  14. 14.
    R. Forgaard and J. Guttag. reve: a term rewriting system generator with failure-resistant Knuth-Bendix, 1984. Proc. of an NSF workshop on the rewrite rule laboratory, and Report n∘ 84GEN008, General Electric.Google Scholar
  15. 15.
    K. Futatsugi, J.A. Goguen, J.-P. Jouannaud, and J. Meseguer. Principles of OBJ2. In Proc. of the 12th ACM Symposium on Principles of Programming Languages (POPL), pages 52–66, 1985.Google Scholar
  16. 16.
    H. Ganzinger and R. Schafers. System support for modular order-sorted Horn clause specifications. In Proc. of the 12th International Conference on Software Engineering, pages 150–159, 1990.Google Scholar
  17. 17.
    S. Garland and J. Guttag. An overview of lp, the Larch Prover. In Proc. of the Third International Conference on Rewriting Techniques and Applications, pages 137–151. Springer-Verlag L.N.C.S. 355, 1989.Google Scholar
  18. 18.
    S. Garland and J. Guttag. A Guide to LP, The Larch Prover. Technical Report 82, DEC-SRC, 1991.Google Scholar
  19. 19.
    S. Garland, J. Guttag, and J. Horning. Debugging Larch Shared Language Specifications. IEEE Transactions on Software Engineering, 16(9):1044–1057, 1990.Google Scholar
  20. 20.
    M.-C. Gaudel. Structuring and modularizing algebraic specifications: the pluss specification language, evolutions and perspectives. In Proc. of the 9th Symposium on Theoretical Aspects of Computer Science (STACS), pages 3–23. Springer-Verlag L.N.C.S. 577, 1992.Google Scholar
  21. 21.
    J.A. Goguen, J.W. Thatcher, and E.G. Wagner. An initial approach to the specification, correctness, and implementation of abstract data types. In R.T. Yeh, editor, Current Trends in Programming Methodology, volume 4, pages 80–149. Prentice Hall, 1978.Google Scholar
  22. 22.
    J. Guttag, J. Horning, and A. Modet. Report on the Larch Shared Language: Version 2.3. Technical Report 58, DEC-SRC, 1990.Google Scholar
  23. 23.
    J.V. Guttag and J.J. Horning. Report on the Larch shared language. Science of Computer Programming, 6(2):103–134, 1986.Google Scholar
  24. 24.
    S. Kaplan. Simplifying conditional term rewriting systems. Journal of Symbolic Computation, 4:295–334, 1987.Google Scholar
  25. 25.
    S. Kaplan. Positive/negative conditional rewriting. In Proc. of the Symposium on Mathematical Foundations of Computer Science. Springer-Verlag L.N.C.S., 1988.Google Scholar
  26. 26.
    T. Lehmann and J. Loeckx. The specification language of OBSCURE. In Recent Trends in Data Type Specification, Selected Papers of the 5th Workshop on Specification of Abstract Data Types, pages 131–153. Springer-Verlag L.N.C.S. 332, 1987.Google Scholar
  27. 27.
    P. Lescanne. Computer experiments with the REVE term rewriting systems generator. In Proc. of the 10th ACM Symposium on Principles of Programming Languages (POPL), 1983.Google Scholar
  28. 28.
    T. Moineau. Réutilisation de logiciel: une approche algébrique, son application à Ada et les outils associés. Thèse de Doctorat, Université Paris-Sud, 1991.Google Scholar
  29. 29.
    J.-L. Rémy and H. Zhang. reveur 4: a system for validating conditional algebraic specifications of abstract data types. In Proc. of the 6th European Conference on Artificial Intelligence (ECAI), pages 563–572, 1984.Google Scholar
  30. 30.
    C. Roques. pluss, validation de spécifications algébriques modulaires par prototypage par réécriture. L.R.I. DEA Report, 1990.Google Scholar
  31. 31.
    C. Roques. L'environnement asspegique: Le valideur. L.R.I. Research Report 727, 1992.Google Scholar
  32. 32.
    C. Roques. Modularité dans les spécifications algébriques, Théorie et application. Thèse de Doctorat, Université Paris-Sud, 1994.Google Scholar
  33. 33.
    D.T. Sannella and A. Tarlecki. Building specifications in an arbitrary institution. In Proc. of the International Symposium on Semantics of Data Types. Springer-Verlag L.N.C.S. 173, 1984.Google Scholar
  34. 34.
    M. Wand. Final algebra semantics and data type extensions. Journal of Computer and System Sciences, 19:27–44, 1979.Google Scholar
  35. 35.
    M. Wirsing. Structured algebraic specifications: A kernel language. Theoretical Computer Science, 42(2):124–249, 1986.Google Scholar
  36. 36.
    M. Wirsing, M. Broy, W. Dosch, H. Partsch, and P. Pepper. On hierarchies of abstract data types. Acta Informatica, 20:1–33, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Christine Choppy
    • 1
  1. 1.LRI, C.N.R.S. U.R.A. 410 & Université Paris-SudOrsay CedexFrance

Personalised recommendations