Reusable specification components

  • Martin Wirsing
  • Rolf Hennicker
  • Ruth Breu
Invited Lectures
Part of the Lecture Notes in Computer Science book series (LNCS, volume 324)


An approach to the formal description of reusable software components is presented which is based on the algebraic specification of abstract data types. A reusable component consists of a tree of algebraic specifications where a specification is a child of another specification if it is an implementation. Every node of the tree is a structured specification. In contrast to other approaches to software reusability these trees are considered as objects of the language and can be constructed and manipulated by operators of the language.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Bergstra et al. 86]
    J.A. Bergstra, J. Heering, P. Klint: Module algebra. Math. Centrum Amsterdam, Report CS-R8615.Google Scholar
  2. [Ehrig, Mahr 85]
    H. Ehrig, B. Mahr: Fundamentals of algebraic specification 1. EATCS Monographs on Theor. Comp. Science, Vol. 6, Springer Verlag, 1985.Google Scholar
  3. [Ehrig, Weber 86]
    H. Ehrig, H. Weber: Programming in the large with algebraic module specifications. In: H.J. Kugler (ed.): Information Processing 86. Amsterdam: North-Holland, 1986, 675–684.Google Scholar
  4. [Feijs et al. 88]
    L.M.G. Feijs, H.B.M. Jonkers, C.P.J. Koymans, G.R. Renardel de Lavalette: The calculus λπ. To appear in: J.A. Bergstra, M. Wirsing(eds.): Algebraic methods: theory, tools and applications. Springer Lecture Notes in Computer Science, 1988.Google Scholar
  5. [Gaudel, Moineau 88]
    M.C. Gaudel, Th. Moineau: A theory of software reusability. In: H. Ganzinger (ed.): ESOP '88. Springer Lecture Notes in Computer Science 300, 1988, 115–130.Google Scholar
  6. [Goguen 84]
    J.A. Goguen: Parameterized programming. IEEE Trans. on Software Engineering, Vol. SE-10, No. 5, 1984, 528–543.Google Scholar
  7. [Guttag et al. 85]
    J.V. Guttag, J.J. Horning, J.M. Wing: Larch in five easy pieces. Digital Systems Research Center, Tech. Report 5, 1985.Google Scholar
  8. [Matsumoto 84]
    Y. Matsumoto: Some experiences in promoting reusable software. IEEE Trans. on Software Engineering, Vol. SE-10, No. 5, 1984, 502–513.Google Scholar
  9. [Meyer 87a]
    B. Meyer: Reusability: the case for object-oriented design. IEEE Software, March 1987.Google Scholar
  10. [Meyer 87b]
    B. Meyer: Eiffel: programming for reusability and extendibility. Sigplan Notices 22, 1987.Google Scholar
  11. [Parnass 76]
    D.L. Parnass: On the design and development of program families. IEEE Trans. on Software Engineering, Vol. SE-2, No. 1, 1976, 1–9.Google Scholar
  12. [Sannella, Tarlecki 87]
    D.T. Sannella, A. Tarlecki: Towards formal development of programs from algebraic specifications: implementations revisited. In H. Ehrig et al. (eds.): TAPSOFT 87. Springer Lecture Notes in Computer Science 249, 1987, 96–110.Google Scholar
  13. [Sannella, Wirsing 83]
    D.T. Sannella, M., Wirsing: A kernel language for algebraic specifications and implementation. In: Marek Karpinski (ed.): Proc. FCT 83, Found. of Computation Theory, Borgholm, August 1983. Springer Lecture Notes in Computer Science 158, 1983, 413–427.Google Scholar
  14. [Wirsing 86]
    M. Wirsing: Structured algebraic specifications: a kernel language. Theoretical Computer Science 42, 1986, 123–249.Google Scholar
  15. [Wirsing 88]
    M. Wirsing: Algebraic description of reusable software components. In: E. Milgrom, P. Wodon (eds.): COMP EURO 88. IEEE Computer Society, 834, Computer Society Press, 1988, 300–312.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Martin Wirsing
    • 1
  • Rolf Hennicker
    • 1
  • Ruth Breu
    • 1
  1. 1.Universität PassauPassau

Personalised recommendations