On the relationship between algebraic module specifications and program modules

  • Michael Löwe
  • Hartmut Ehrig
  • Werner Fey
  • Dean Jacobs
CCPSD Colloquium On Combining Paradigms For Software Development
Part of the Lecture Notes in Computer Science book series (LNCS, volume 494)


This paper studies the relationship between our long-standing algebraic concept of module specifications and modules as they appear in conventional programming languages. The approach we take is to introduce an intermediate algebraic concept of abstract program modules, which structurally model concrete program modules. We show how a system of abstract program modules is formally related to a system of module specifications. This work is intended to aid the design of modularization mechanisms and to facilitate the transformational development of a system of module specifications into a system of program modules.


Module Specification Base Module Program Module Modular System Naming Convention 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [BEPP87]
    E.K. Blum, H. Ehrig, and F. Parisi-Presicce. Algebraic specification of modules and their basic interconnection. JCSS, 34, 1987.Google Scholar
  2. [EFPPB86]
    H. Ehrig, W. Fey, F. Parisi-Presicce, and E.K. Blum. Algebraic theory of module specifications with constraints. In Proceedings MFCS. Springer-Verlag, LNCS 233, 1986.Google Scholar
  3. [EM85]
    H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification I. Springer Verlag, Berlin, 1985.Google Scholar
  4. [EM90]
    H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification II. Springer Verlag, Berlin, 1990.Google Scholar
  5. [EW86]
    H. Ehrig and H. Weber. Programming in the large with algebraic module specifications., pages 675–684. Information Processing 86. North-Holland, Amsterdam, 1986.Google Scholar
  6. [FGJM85]
    K. Futatsugi, J.A. Goguen, J.P. Jouannaud, and J. Meseguer. Principles of obj2. In Proceedings 12th ACM Symposium on Principles of Programming Languages, 1985.Google Scholar
  7. [Gau84]
    M.-C. Gaudel. A first introduction to pluss. In Proceedings ALYEY Workshop on Formal Specification, 1984. Swendon.Google Scholar
  8. [GTW76]
    J.A. Goguen, J.W. Thatcher, and E.G. Wagner. An initial algebra approach to the specification, correctness and implementation of abstract data types. Technical Report RC 6487, IBM, 1976.Google Scholar
  9. [HMM86]
    R. Harper, D.B. MacQueen, and R. Milner. Standard ml. Technical Report ECS-LFCS-86-2, University of Edinburgh, 1986.Google Scholar
  10. [LZ74]
    B. Liskov and S. Zilles. Programming with abstract data types. SIGPLAN Notices, 9, 1974.Google Scholar
  11. [Par72a]
    D.C. Parnas. On the criteria to be used in decomposing systems into modules. CACM, 15(12):1053–1058, 1972.Google Scholar
  12. [Par72b]
    D.C. Parnas. A technique for software module specification with examples. CACM, 15(5):330–336, 1972.Google Scholar
  13. [PDN82]
    R. Prieto-Diaz and J. Neighbors. Module interconnection languages: a survey. Technical Report ICS Technical Report 189, C.S. Dept. UC Irvine, 1982.Google Scholar
  14. [Spr81]
    Springer Verlag LNCS 106, Berlin. The Programming Language Ada, Reference Manual, 1981.Google Scholar
  15. [ST86]
    D. Sannella and A. Tarlecki. Extended ml: an institution independent framework for formal program development. In Proceedings Workshop on Category Theory and Computer Programming, pages 364–389. LNCS 240, 1986.Google Scholar
  16. [TWW78]
    J.W. Thatcher, E.G. Wagner, and J.B. Wright. Data type specification: parameterization, and the power of specification techniques. In 10th Symp. on Theory of Computing, 1978.Google Scholar
  17. [Wir82]
    N. Wirth. Programming in Modula-2. Springer Verlag, Berlin, 1982.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Michael Löwe
    • 1
  • Hartmut Ehrig
    • 1
  • Werner Fey
    • 1
  • Dean Jacobs
    • 2
  1. 1.Technische Universität BerlinBerlin 10
  2. 2.University of Southern CaliforniaLos Angeles

Personalised recommendations