Viewing implementations as an institution

  • Christoph Beierle
  • Angelika Voß
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 283)


The theory of institutions as introduced by Goguen and Burstall formalizes the notion of a logical system, and it allows to study many aspects of programming methodology independently of the underlying logical system. In this paper we present an institutional study of implementations. As an illustration we show how implementations of loose algebraic specifications constitute an institution. In particular, the horizontal structuring properties of implementations are investigated and it is shown that parameterization and implementation operations are compatible with each other. Conditions are given under which these results carry over to implementations in arbitrary institutions.


Implementation Specification Forgetful Functor Abstraction Function Signature Morphism Concrete Specification 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BG 77]
    Burstall, R.M., Goguen, J.A.: Putting Theories together to Make Specifications. Proc. 5th IJCAI, 1977, pp. 1045–1058.Google Scholar
  2. [BG 80]
    Burstall, R.M., Goguen, J.A.: The semantics of Clear, a specification language. Proc. of Advanced Course on Abstract Software Specifications, Copenhagen. LNCS Vol.86, pp. 292–332.Google Scholar
  3. [BOV 86]
    Beierle, C., Olthoff, W., Voß, A.: Towards a formalization of the software development process. Proc. Software Engineering '86, Southampton, UK, 1986.Google Scholar
  4. [BV 85a]
    Beierle, C., Voß, A.: Implementation specifications. In: H.-J. Kreowski (ed): Recent Trends in Data Type Specifications, Informatik Fachberichte 116, Springer, 1985.Google Scholar
  5. [BV 85b]
    Beierle, C., Voß, A.: Algebraic Specifications and Implementations in an Integrated Software Development and Verification System, Memo SEKI-85-12, FB Informatik, Univ. Kaiserslautern, (joint SEKI-Memo containing the Ph.D. thesis by C. Beierle and the Ph.D. thesis by A. Voß), Dec. 1985.Google Scholar
  6. [BV 87a]
    Beierle, C., Voß, A.: On implementations of loose abstract data type specifications and their vertical composition. Proc. 4th STACS, LNCS, Vol. 247, 1987.Google Scholar
  7. [BV 87b]
    Beierle, C., Voß, A.: Theory and practice of canonical term functors in abstract data type specifications. Proc. TAFSOFT '87, Pisa. LNCS, Vol. 250, 1987.Google Scholar
  8. [CIP 85]
    CIP Language Group: The Munich Project CIP. Vol. I: The Wide Spectrum Language CIP-L. LNCS, VOL. 183, 1985.Google Scholar
  9. [Ehc 82]
    Ehrich, H.-D.: On the theory of specification, Implementation and Parametrization of Abstract Data Types. JACM Vol. 29, No. 1, Jan. 1982, pp. 206–227.Google Scholar
  10. [Ehg 81]
    Ehrig, H.: Algebraic Theory of Parameterized Specifications with Requirements, Proc. 6th Colloquium on Trees in Algebra and Programming (E. Astesiano, C. Böhm, eds.), LNCS 112, pp. 1–24, 1981.Google Scholar
  11. [EK 82]
    Ehrig, H., Kreowski, H.-J.: Parameter Passing Commutes with Implementation of Parameterized Data Types, PROC. 9th ICALP, LNCS 140, pp. 197–211, 1982.Google Scholar
  12. [EK 82a]
    Ehrig, H., Kreowski, H.-J.: Compatibility of parameter passing and implementation of parameterized data types. TU Berlin, FB Informatik, 1982.Google Scholar
  13. [EKMP 80]
    Ehrig, H., Kreowski, H.-J., Mahr, B., Padawitz, P.: Compound Algebraic Implementations: An Approach to Stepwise Refinement of Software Systems. Proc. 9th MFCS (P. Dembinski, ed.), LNCS 88, Springer-Verlag, Berlin 1980, pp. 231–245.Google Scholar
  14. [EKMP 82]
    Ehrig, H., Kreowski, H.-J., Mahr, B., Padawitz, P.: Algebraic Implementation of Abstract Data Types. Theoretical Computer Science Vol. 20, 1982, pp. 209–254, (also:) Bericht Nr. 80-32, Fachbereich Informatik, Techn. Univ. Berlin 1980.Google Scholar
  15. [EM 85]
    Ehrig, H., Mahr, B.: fundamentals of Algebraic Specifications 1 — Equations and Initial Semantics, Springer Verlag, 1985.Google Scholar
  16. [Ga 83]
    Ganzinger, H.: Parameterized Specifications: Parameter Passing and Implementation with respect to Observability. ACM TOPLAS Vol. 5, No.3, July 1983, pp. 318–354.Google Scholar
  17. [GB 80]
    Goguen, J.A., Burstall, R.M.: CAT, a system for the structured elaboration of correct programs from struc-tured specifications. SRI International, Technical Report CSL-118, Oct. 1980.Google Scholar
  18. [GB 83]
    Goguen, J.A., Burstall, R.M.: Institutions: Abstract Model Theory for Program Specification. SRI International and University of Edinburgh, January 1983, revised 1985. (see also Proc. Logics of Programming Workshop, LNCS, Vol. 164, 1984.Google Scholar
  19. [GB 84]
    Goguen, J.A., Burstall, R.M.: Some Fundamental Algebraic Tools for the Semantics of Computation. TCS, Vol 31, No. (1,2) pp. 175–209 (Part 1) and No. (3), pp. 263–295 (Part 2), 1984.Google Scholar
  20. [GB 86]
    Goguen, J.A., Burstall, R.M.: A Study in the Foundations of Programming Methodology: Specifications, Institutions, Charters and Parchments. In: D. Pitt, A. Poigne, D. Rydeheard (eds): Category Theory and Computer Programming. LNCS, Vol. 240, 1986.Google Scholar
  21. [GM 82]
    Goguen, J.A., Meseguer, J.: Universal Realization, Persistent Interconnection and Implementation of Abstract Modules. Proc. 9th ICALP (M. Nielsen/E.M. Schmidt, eds.), LNCS 140, Springer-Verlag, Berlin 1982, pp. 265–281.Google Scholar
  22. [GTW 78]
    Goguen, J.A., Thatcher, J.W., Wagner, E.G.: An initial algebra approach to the specification, correctness, and implementation of abstract data types, in: Current Trends in Programming Methodlogy, Vol.4, Data Structuring (ed. R. Yeh), Prentice-Hall, 1978, pp. 80–144. also: IBM Research Report RC 6487, 1976.Google Scholar
  23. [HKR 80]
    Hupbach, U.L., Kaphengst, H., Reichel, H.: Initial algebraic specifications of data types, parameterized data types, and algorithms. VEB Robotron, Zentrum für Forschung und Technik, Dresden, 1980.Google Scholar
  24. [Hoa 72]
    Hoare, C.A.R.: Proof of Correctness of Data Representations. Acta Informatica 1 (4), 1972.Google Scholar
  25. [Hup 81]
    Hupbach, U.L.: Abstract implementation and parameter substitution. Proc. 3rd Hungarian Computer Science Conference, Budapest, 1981.Google Scholar
  26. [Li 83]
    Lipeck, U.: Ein algebraischer Kalkül für einen strukturierten Entwurf von Datenabstraktionen. Dissertation. Bericht Nr. 148, Universität Dortmund, 1983.Google Scholar
  27. [Sch 82]
    Schoett, O.: A theory of program modules, their specification and implementation. Draft report, CSR-155-83, Univ. of Edinburgh.Google Scholar
  28. [ST 84]
    Sannella, D.T., Tarlecki, A.: Building specifications in an arbitrary institution. Symp. Semantics of Data Types, LNCS, Vol. 173, 1984.Google Scholar
  29. [ST 87]
    Sannella, D.T., Tarlecki, A.: Toward formal development of programs from algebraic specifications: Implementations revisited. Proc. TAPSOFT '87, LNCS, Vol. 249, 1987.Google Scholar
  30. [SW 82]
    Sannella, D.T., Wirsing, M.: Implementation of parameterized specifications, Proc. 9th ICALP 1982, LNCS Vol. 140, pp 473–488.Google Scholar
  31. [SW 82a]
    Sannella, D.T., Wirsing, M.: Implementation of parameterized specifications, Report CSR-103-82, Univ. of Edinburgh, 1982.Google Scholar
  32. [SW 83]
    Sannella, D., Wirsing, M.: A kernel language for algebraic specification and implementation. Proc. Intl. Conf. on Foundations of Computing Theory, LNCS 158, 1983Google Scholar
  33. [TWW 82]
    Thatcher, J.W., Wagner, E.G., Wright, J.B.: Data Type Specification: Parameterization and the Power of Specification Techniques. ACM TOPLAS Vol. 4, No. 4, Oct. 1982, pp. 711–732.Google Scholar
  34. [Urb 85]
    Urbassek, C.: Ein Implementierungskonzept für ASPIK-Spezifikationen und Korrektheitskriterien. Diplomarbeit, Univ. Kaiserslautern, FB Informatik, 1985.Google Scholar
  35. [Wa 79]
    Wand, M.: Final algebra semantics and data type extensions. J. Comp. Syst. Sci. 19, 1979.Google Scholar
  36. [Wir 83]
    Wirsing, M.: Structured algebraic specifications: a kernel language. Habilitation, TU München, 1983.Google Scholar
  37. [ZLT 82]
    Zilles, S.N., Lucas, P., Thatcher, J.W.: A Look at Algebraic Specifications. RJ 3568 (41985), IBM Research Division Yorktown Heights, New York, 1982.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Christoph Beierle
    • 1
  • Angelika Voß
    • 2
  1. 1.LILOG, IBM Deutschland GmbHStuttgart 80
  2. 2.GMD, Forschungsgruppe ExpertensystemeSt. Augustin 1

Personalised recommendations