A general framework for modular implementations of modular system specifications

  • Michel Bidoit
  • Rolf Hennicker
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 668)


We investigate the impact of modularity on the semantics and on the implementation of software specifications. Based on the stratified loose semantics approach we develop a suitable specification framework which meets our basic requirements: the independent construction of implementations for the single constituent parts (modules) of a system specification and the encapsulated development of each implementation part using the principle of stepwise refinement.

Our paper is not aimed at providing an elaborated specification language but rather to concentrate on the modularity issues of system development. Hence, only few but powerful constructs are provided which can be seen as a kernel for further extensions. In particular, we will show that implementation and parameterization can be handled within a uniform concept and we will prove compatibility theorems like the horizontal composition property. All constructs are defined on top of a very general logical framework thus being applicable to various kinds of specification formalisms.


  1. [Bernot, Bidoit 91]
    G. Bernot, M. Bidoit: Proving the correctness of algebraically specified software: modularity and observability issues. Proc. AMAST '91, 2nd International Conference on Algebraic Methodology of Software Technology, Techn. Report of the University of Iowa, 1991.Google Scholar
  2. [Bidoit 87]
    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, Lecture Notes in Computer Science 332, 1–22, 1987.Google Scholar
  3. [Bidoit 89]
    M. Bidoit: Pluss, un language pour le développement de spécifications algébriques modulaires. These d'État, Université Paris-Sud, 1989.Google Scholar
  4. [Diaconescu et al. 91]
    R. Diaconescu, J. Goguen, P. Stefaneas: Logical support for modularisation. To appear in: Proc. of Workshop on Logical Frameworks, Edinburgh, 1991.Google Scholar
  5. [Ehrig et al. 89]
    H. Ehrig, P. Pepper, F. Orejas: On recent trends in algebraic specification. Proc. ICALP '89, Lecture Notes in Computer Science 372, 263–288, 1989.Google Scholar
  6. [Ehrig et al. 91]
    H. Ehrig, M. Baldamus, F. Orejas: New concepts of amalgamation and extension for a general theory of specification. Proc. of the 8th Workshop on Specifications of Abstract Data Types, 1991, to appear in: Lecture Notes in Computer Science.Google Scholar
  7. [Gaudel 92]
    M. C. Gaudel: Structuring and modularizing algebraic specifications: the PLUSS specification language, evolution and perspectives. Proc. STACS '92, Lecture Notes in Computer Science 577, 3–20, 1992.Google Scholar
  8. [Gaudel, Moineau 88]
    M. C. Gaudel, Th. Moineau: A theory of software reusability. Proc. ESOP '88. Lecture Notes in Computer Science 300, 115–130, 1988.Google Scholar
  9. [Goguen, Burstall 84]
    J. A. Goguen, R. M. Burstall: Introducing institutions. Logic of Programs, Lecture Notes in Computer Science 164, 221–255, 1984.Google Scholar
  10. [Hennicker 90]
    R. Hennicker: Context induction: a proof principle for behavioural abstractions and algebraic implementations. Formal Aspects of Computing 4 (3), 326–345, 1990.Google Scholar
  11. [Hennicker 92]
    R. Hennicker: Behavioural specification and implementation of modular software systems. Technical Report MIP-9203, University of Passau, 1992.Google Scholar
  12. [Orejas et al. 89]
    F. Orejas, P. Nivela, H. Ehrig: Semantical constructions for categories of behavioral specifications. Proc. Int. Workshop on Categorical Methods in Computer Science with Applications to Topology. Lecture Notes in Computer Science 393, 1989.Google Scholar
  13. [Orejas, Nivela 90]
    F. Orejas, M. P. Nivela: Constraints for behavioural specifications. Proc. 7th Workshop on Specification of Abstract Data Types. Lecture Notes in Computer Science 534, 220–245, 1990.Google Scholar
  14. [Sannella, Tarlecki 84]
    D. T. Sannella, A. Tarlecki: Building specifications in an arbitrary institution. Proc. of the Int. Symposium on Semantics of Data Types. Lecture Notes in Computer Science 173, 337–356, 1984.Google Scholar
  15. [Sannella, Tarlecki 87]
    D. T. Sannella, A. Tarlecki: Toward formal development of programs from algebraic specifications: implementations revisited. Proc. TAPSOFT '87, Lecture Notes in Computer Science 249, 96–110, 1984.Google Scholar
  16. [Sannella et al. 90]
    D. T. Sannella, A. Tarlecki, S. Sokolowski: Toward formal development of programs from algebraic specifications: parameterisation revisited. Forschungsberichte des Studiengangs Informatik 6/90, Universität Bremen, 1990.Google Scholar
  17. [Schoett 87]
    O. Schoett: Data abstraction and correctness of modular programming. Ph. D. thesis, CST-42-87, University of Edinburgh, 1987.Google Scholar
  18. [Wirsing 86]
    M. Wirsing: Structured algebraic specifications: a kernel language. Theoretical Computer Science 42, 123–249, 1986.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Michel Bidoit
    • 1
  • Rolf Hennicker
    • 2
  1. 1.LIENS, CNRS & Ecole Normale SupérieureParis CedexFrance
  2. 2.Institut für InformatikLudwig-Maximilians-Universität MünchenMünchen 40Germany

Personalised recommendations