Abstract
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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
D. Bert, P. Drabik, and R. Echahed. Manuel de référence de LPG. Technical Report 17, IMAG-LIFIA, 1987.
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.
M. Bidoit. Pluss, un langage pour le développement de spécifications algébriques modulaires. Thèse d'Etat, Université Paris-Sud, 1989.
M. Bidoit, C. Choppy, C. Roques, and F. Voisin. About the semantics of renaming in pluss, 1994. In preparation.
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.
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.
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.
C. Choppy. Is my specification “correct” ? A study with pluss specifications. L.R.I. Research Report 817, 1993.
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.
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.
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.
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.
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.
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.
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.
S. Garland and J. Guttag. A Guide to LP, The Larch Prover. Technical Report 82, DEC-SRC, 1991.
S. Garland, J. Guttag, and J. Horning. Debugging Larch Shared Language Specifications. IEEE Transactions on Software Engineering, 16(9):1044–1057, 1990.
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.
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.
J. Guttag, J. Horning, and A. Modet. Report on the Larch Shared Language: Version 2.3. Technical Report 58, DEC-SRC, 1990.
J.V. Guttag and J.J. Horning. Report on the Larch shared language. Science of Computer Programming, 6(2):103–134, 1986.
S. Kaplan. Simplifying conditional term rewriting systems. Journal of Symbolic Computation, 4:295–334, 1987.
S. Kaplan. Positive/negative conditional rewriting. In Proc. of the Symposium on Mathematical Foundations of Computer Science. Springer-Verlag L.N.C.S., 1988.
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.
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.
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.
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.
C. Roques. pluss, validation de spécifications algébriques modulaires par prototypage par réécriture. L.R.I. DEA Report, 1990.
C. Roques. L'environnement asspegique: Le valideur. L.R.I. Research Report 727, 1992.
C. Roques. Modularité dans les spécifications algébriques, Théorie et application. Thèse de Doctorat, Université Paris-Sud, 1994.
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.
M. Wand. Final algebra semantics and data type extensions. Journal of Computer and System Sciences, 19:27–44, 1979.
M. Wirsing. Structured algebraic specifications: A kernel language. Theoretical Computer Science, 42(2):124–249, 1986.
M. Wirsing, M. Broy, W. Dosch, H. Partsch, and P. Pepper. On hierarchies of abstract data types. Acta Informatica, 20:1–33, 1983.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Choppy, C. (1994). About the “correctness” and “adequacy” of PLUSS specifications. In: Ehrig, H., Orejas, F. (eds) Recent Trends in Data Type Specification. ADT COMPASS 1992 1992. Lecture Notes in Computer Science, vol 785. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57867-6_7
Download citation
DOI: https://doi.org/10.1007/3-540-57867-6_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57867-3
Online ISBN: 978-3-540-48361-8
eBook Packages: Springer Book Archive