A theory of software reusability

  • M. C. Gaudel
  • Th. Moineau
3. Algebraic Specification And Type Concepts
Part of the Lecture Notes in Computer Science book series (LNCS, volume 300)


Software reusability is a topic of first practical importance. Most of the current approaches are based on empirical methods and there is no general approach to this problem. This paper suggests a definition for software reusability based on algebraic specifications and modularity. This criterion is not completely constructive, but it provides a guideline to find out reusable software components and prove their reuse. Moreover, we state how to exploit reusability in hierarchical specifications.


reuse abstract data types formal specifications modularity PLUSS 


  1. [BBC 86]
    G. Bernot, M. Bidoit and C. Choppy, “Abstract implementation and correctness proofs”, in Proc. 3rd STACS, Jan. 1986, Springer-Verlag LNCS 210, Jan. 1986.Google Scholar
  2. [Ber 87]
    G. Bernot, “Good functors ... are those preserving philosophy !”, in Proc. 2nd Summer Conference on Cotegory Theory and Computer Science, Edinburgh, Sept. 1987. also LRI report No. 354, June 1987.Google Scholar
  3. [Bid 87]
    M. Bidoit, “The stratified loose approach: A generalization of initial and loose semantics”, to appear.Google Scholar
  4. [BW 82]
    M. Broy and M. Wirsing, “Partial abstract types”, Acta Informatica, No. 18, 1982.Google Scholar
  5. [EKMP 80]
    H. Ehrig, H. Kreowski, B. Mahr and P. Padawitz, “Algebraic implementation of abstract data types”, Theoretical Computer Science, Oct. 1980.Google Scholar
  6. [EM 85]
    H. Ehrig and B. Mahr, “Fundamentals of algebraic specification”, Springer Verlag, Berlin-Heidelberg-New York-Tokyo, 1985.Google Scholar
  7. [FGJM 85]
    K. Futatsugi, J.A. Goguen, J-P. Jouannaud and J. Meseguer, “Principles of OBJ2”, in proc. 12th ACM Symposium on Principles of Programming Languages, Jan. 1985.Google Scholar
  8. [Gau 85]
    M.C. Gaudel, “Towards structured algebraic specifications”, ESPRIT'85 — Status Report, Part I, pp. 493–510, North Holland, 1986.Google Scholar
  9. [GM 87]
    M.C. Gaudel and Th. Moineau, “A theory of software reusability”, LRI report No. 380, Oct. 1987.Google Scholar
  10. [GH 78]
    J.V. Guttag and J.J. Horning, “The algebraic specification of abstract data types.” Acta Informatica, No. 10, 1978.Google Scholar
  11. [Pro 82]
    K. Proch, “ORSEC: Un Outil de Recherche de Spécifications Equivalentes par Comparaison d'exemple”, Thèse de 3eme cycle, Nancy I, Dec. 1982.Google Scholar
  12. [SW 82]
    D. Sanella and M. Wirsing, “Implementation of parametrized specifications”, Report CSR-102-82, Department of Computer Science, University of Edinburgh.Google Scholar
  13. [Wir 83]
    M. Wirsing, “Structured algebraic specifications: a kernel language”, Habilitation Thesis, Technische Universität München, Sept. 1983.Google Scholar
  14. [WPPDB 83]
    M. Wirsing, P. Pepper, H. Partsch, W. Dosch and M. Broy, “On hierarchy of abstract data types”, Acta Informatica, No. 20, 1983.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • M. C. Gaudel
    • 1
  • Th. Moineau
    • 1
    • 2
  1. 1.Laboratoire de Recherche en Informatique Unité associée au CNRS UA 410 Bât. 490Université Paris-SudOrsay CedexFrance
  2. 2.Sema-MetraMontrougeFrance

Personalised recommendations