Abstract
The formal specification of abstract data types using axioms was proposed about fifteen years ago by several authors. It has become the basis of the so-called algebraic specification methods. Numerous algebraic specification languages have been designed and experimented and several specification languages make use of the algebraic approach to specify data types.
This paper reports the experience of the author in the design of the PLUSS specification language and in using it for various case studies: PLUSS has evolved a lot since its beginning and will still evolve. A rationale for its past evolution and a discussion of some possible future changes is given. Moreover, some lessons learned from the case studies on the advantages and drawbacks of algebraic specifications are reported.
Preview
Unable to display preview. Download preview PDF.
References
Goguen, J.A., Thatcher, J.W. and Wagner E.G., “An initial algebra approach to the specification, correctness and implementation of abstract data types”, in Current Trends in Programming Methodology, Vol.4: Data Structuring, edited by R.T. Yeh, pp.80–149, Prentice-Hall, 1978.
Bidoit M., “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, Gullane, Ecosse, Springer-Verlag L.N.C.S. nℴ 332, pp. 1–22, Sept. 1987.
Bidoit M., “PLUSS, un langage pour le développement de spécifications algébriques modulaires”, thèse d'Etat, Université de Paris-Sud, Orsay, Mai 1989.
Broy M., opening lecture of the 6th IEEE International Worshop on Software Specification and Design, Como, Sept. 1991.
Bidoit M. and Biebow B., “Application de la méthode de spécification et de programmation des exceptions et des erreurs à des exemples choisis en téléphonie”, rapport final du poste 4 du marché DAII nℴ 82.35.033, Sept. 1983.
Bernot G., Bidoit M., Choppy C., “Abstract data types with exception handling: an initial approach based on a distinction between exceptions and errors”, Theoretical Computer Science, Vol.46, Nℴ1, Janvier 1986, pp.13–46.
Bidoit M., Biebow B., Gaudel M.-C., Gresse C., Guiho G., “Exception handling: formal specification and systematic program construction”, I.E.E.E. Transactions on Software Engineering, Vol. SE-11, Nℴ3, March 1985, pp.242–252.
Burstall, R. M. and Goguen, J.A., “Putting theories together to make specifications”, in Proceedings of the 5th International Joint Conference on Artificial Intelligence, Cambridge, 1977, pp. 1045–1058.
Burstall, R. M. and Goguen, J.A., “The semantics of CLEAR, a specification language”, in Proceedings of the Advanced Course on Abstract Software Specifications, Copenhagen, LNCS nℴ86, pp.292–332, Springer-Verlag, 1980.
Bidoit, M., Gaudel, M-C. and Mauboussin, A., “How to make algebraic specifications more understandable? An experiment with the PLUSS specification language”, Science of Computer Programming, 46-1, pp. 1–38, June 1989.
Bidoit M., Kreowski H.-J., Lescanne P., Orejas F. and Sannella D. “Algebraic System Specification and Development: a survey and annotated bibliography”, LNCS nℴ 501, Springer-Verlag, 1991.
Bernot G. and Le Gall P., “Exception handling and term labelling”,submitted for publication.
Dauchy P., forthcoming thesis, Université de Paris-Sud, 1992.
Despeyroux-Savonitto J., “An algebraic specification of a Pascal compiler”, SIGPLAN notices, vol. 18, nℴ12, 1983.
Dauchy P., Marre B., “Test data Selection from the Algebraic Specification of a module of an Automatic Subway”, European Software Engineering Conference: ESEC'91, Milan, Oct. 1991, LNCS nℴ 550, pp. 80–100.
Dauchy P., Ozello P., “Experiments with Formal Specifications on MAGGALY”, Second International Conference on Applications of Advanced Technologies in Transportation Engineering, Mineapolis, August 1991.
Ehrig H., Fey W., and Hansen H., “ACT-ONE: an algebraic specification language with two levels of semantics”, Technische Universität Berlin, 1983.
Futatsugi, K., Goguen, J.A., Jouannaud, J-P. and Meseguer, J., “Principles of OBJ2”, in Proceedings of the 12th ACM Symposium on Principles Of Programming Languages, 1987, pp. 51–60.
Gaudel, M.-C., “Towards Structured Algebraic Specifications”, in Esprit'85 Status Report, pp.493–510, North-Holland,1986.
Gaudel M-C., “Algebraic Specifications”, Chapter 22 in Software Engineer's Reference Book, John Mc Dermid ed., Butterworths, 1991.
Guiho G., Automatic Programming using abstract data types. Key-note Lecture, IJCAI 83, Karlsrühe, Aug. 83.
Goguen, J. A. and Burstall, R.M., “Introducing Institutions”, in Proceedings of the Logics of Programming Workshop, Carnegie-Mellon University, LNCS nℴ164, pp. 221–256, Springer-Verlag, 1984.
Guttag, J.V. and Horning, J.J., “Report on the Larch shared language”, Science of Computer Programming, vol. 6. pp. 103–134, 1986.
Gaudel, M.-C. and Moineau, Th., “A theory of Software Reusability”, in proceedings of European Symposium On Programming: ESOP'88, LNCS nℴ300, pp. 115–130, Springer-Verlag, 1988.
Guttag, J.V., “The specification and application to programming of abstract data types”, Ph. D. Thesis, University of Toronto, 1975.
Kaplan S., “Algebraic specification of Concurrent Systems”, Theoretical Computer Science, Nℴ 1, Volume 69, pp. 69–115, Dec. 1989.
Moineau Th., “Réutilisation de Logiciel: une Approche Algébrique, son Application à Ada et les outils associés”, Nouvelle thèse, Université Paris-Sud, Orsay, Janvier 1991.
Mauboussin A., Bidoit M., Gaudel M-C., Hagelstein J., Perdrix H., “From an ERAE Requirement Specification to a PLUSS Algebraic Specification: a case study”, METEOR Workshop, Algebraic Methods II, Mierlo, Septembre 1989, LNCS nℴ 490, pp 395–432.
Moineau Th. and Gaudel M-C., “Software reusability through formal specifications”, in proceedings of the 1st International Workshop on Software Reusability, Dordmund, July 1991.
Nielsen M., Havelund K., Wagner K. and George C., “The RAISE Language, Method and Tools”, in Proceedings of VDM'88, LNCS nℴ328, pp. 376–405, Springer-Verlag,1988.
Saake G. and Sernadas A. eds., “Information Systems-correctness and reusability”, Proceedings of Worshop IS-CORE'91, ESPRIT BRA WG 3023, London, Sept. 1991, Informatik-Berichte 91-03, Technische Universität Braunschweig.
Sannella, D.T, Sokolowski S. and Tarlecki, A., “Toward formal development of programs from algebraic specifications: parameterisation revisited”, Bericht 6/90, Universität Bremen, April 1990.
Sannella, D.T and Tarlecki, A. “Extended ML: an institution-independent framework for formal program development”, In Proceedings Workshop on Category Theory and Computer Programming, Guilford, LNCS nℴ240, pp.364–389, Springer-Verlag, 1986.
Sannella, D.T. and Wirsing, M., “A kernel language for algebraic specification and implementation”, in Proceedings Colloquium on Foundations of Computation Theory, Linkoping, LNCS nℴ158, pp.413–427, Springer-Verlag, 1983.
Zilles S.N., “Algebraic specifications of abstract data types”, Computation Structures Group memo 119, Laboratory of Computer Science, MIT, 1974.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gaudel, MC. (1992). Structuring and modularizing algebraic specifications: the PLUSS specification language, evolutions and perspectives. In: Finkel, A., Jantzen, M. (eds) STACS 92. STACS 1992. Lecture Notes in Computer Science, vol 577. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55210-3_169
Download citation
DOI: https://doi.org/10.1007/3-540-55210-3_169
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55210-9
Online ISBN: 978-3-540-46775-5
eBook Packages: Springer Book Archive