Acta Informatica

, Volume 25, Issue 3, pp 233–281

Toward formal development of programs from algebraic specifications: Implementations revisited

  • Donald Sannella
  • Andrzej Tarlecki

DOI: 10.1007/BF00283329

Cite this article as:
Sannella, D. & Tarlecki, A. Acta Informatica (1988) 25: 233. doi:10.1007/BF00283329


The program development process is viewed as a sequence of implementation steps leading from a specification to a program. Based on an elementary notion of refinement, two notions of implementation are studied: constructor implementations which involve a construction “on top of” the implementing specification, and abstractor implementations which additionally provide for abstraction from some details of the implemented specification. These subsume most formal notions of implementation in the literature. Both kinds of implementations satisfy a vertical composition and a (modified) horizontal composition property. All the definitions and results are shown to generalise to the framework of an arbitrary institution, and a way of changing institutions during the implementation process is introduced. All this is illustrated by means of simple concrete examples.

Copyright information

© Springer-Verlag 1988

Authors and Affiliations

  • Donald Sannella
    • 1
    • 2
  • Andrzej Tarlecki
    • 3
  1. 1.Department of Artificial IntelligenceUniversity of EdinburghEdingburghUK
  2. 2.Laboratory for Foundations of Computer Science, Department of Computer ScienceUniversity of EdinburghEdingburghUK
  3. 3.Institute of Computer SciencePolish Academy of SciencesWarsawPoland