Advertisement

Implementation of parameterised specifications

Extended abstract
  • Donald Sannella
  • Martin Wirsing
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 140)

Abstract

A new notion is given for the implementation of one specification by another. Unlike most previous notions, this generalises to handle parameterised specifications as well as loose specifications (having an assortment of non-isomorphic models). Examples are given to illustrate the notion. The definition of implementation is based on a new notion of the simulation of a theory by an algebra. For the bulk of the paper we employ a variant of the Clear specification language [BG 77] in which the notion of a data constraint is replaced by the weaker notion of a hierarchy constraint. All results hold for Clear with data constraints as well, but only under more restrictive conditions.

We prove that implementations compose vertically (two successive implementation steps compose to give one large step) and that they compose horizontally under application of (well-behaved) parameterised specifications (separate implementations of the parameterised specification and the actual parameter compose to give an implementation of the application).

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Bau 81]
    Bauer, F.L. et al (the CIP Language Group) Report on a wide spectrum language for program specification and development (tentative version). Report TUM-I8104, Technische Univ. München.Google Scholar
  2. [BDPPW 79]
    Broy, M., Dosch, W., Partsch, H., Pepper, P. and Wirsing, M. Existential quantifiers in abstract data types. Proc. 6th ICALP, Graz, Austria. LNCS 71, PP. 73–87.Google Scholar
  3. [BMPW 80]
    Broy, M., Möller, B., Pepper, P. and Wirsing, M. A model-independent approach to implementations of abstract data types. Proc. of the Symp. on Algorithmic Logic and the Programming Language LOGLAN, Poznan, Poland. LNCS (to appear).Google Scholar
  4. [BG 77]
    Burstall, R.M. and Goguen, J.A. Putting theories together to make specifications. Proc. 5th IJCAI, Cambridge, Massachusetts, pp. 1045–1058.Google Scholar
  5. [BG 80]
    Burstall, R.M. and Goguen, J.A. The semantics of Clear, a specification language. Proc. of Advanced Course on Abstract Software Specifications, Copenhagen. LNCS 86, pp. 292–332.Google Scholar
  6. [BMS 80]
    Burstall, R.M., MacQueen, D.B. and Sannella, D.T. HOPE: an experimental applicative language. Proc. 1980 LISP Conference, Stanford, California, pp. 136–143; also Report CSR-62-80, Dept. of Computer Science, Univ. of Edinburgh.Google Scholar
  7. [Dij 72]
    Dijkstra, E.W. Notes on structured programming. Notes on Structured Programming (Dahl O.-J., Dijkstra, E.W. and Hoare, C.A.R.), Academic Press, pp. 1–82.Google Scholar
  8. [Ehr 81]
    Ehrich, H.-D. On realization and implementation. Proc. 10th MFCS, Strbske Pleso, Czechoslovakia. LNCS 118.Google Scholar
  9. [Ehr 82]
    Ehrich, H.-D. On the theory of specification, implementation, and parameterization of abstract data types. JACM 29, 1 pp. 206–227.Google Scholar
  10. [EK 82]
    Ehrig, H. and Kreowski, H.-J. Parameter passing commutes with implementation of parameterized data types. Proc. 9th ICALP, Aarhus, Denmark (this volume).Google Scholar
  11. [EKP 80]
    Ehrig, H., Kreowski, H.-J. and Padawitz, P. Algebraic implementation of abstract data types: concept, syntax, semantics and correctness. Proc. 7th ICALP, Noordwijkerhout, Netherlands. LNCS 85, pp. 142–156.Google Scholar
  12. [Gan 81]
    Ganzinger, H. Parameterized specifications: parameter passing and implementation. TOPLAS (to appear).Google Scholar
  13. [GB 80]
    Goguen, J.A. and Burstall, R.M. CAT, a system for the structured elaboration of correct programs from structured specifications. Computer Science Dept., SRI International.Google Scholar
  14. [GTW 78]
    Goguen, J.A., Thatcher, J.W. and Wagner, E.G. An initial algebra approach to the specification, correctness, and implementation of abstract data types. Current Trends in Programming Methodology, Vol. 4: Data Structuring (R.T. Yeh, ed.), Prentice-Hall, pp. 80–149.Google Scholar
  15. [Grä 79]
    Grätzer, G. Universal Algebra (2nd edition), Springer.Google Scholar
  16. [GH 78]
    Guttag, J.V. and Horning, J.J. The algebraic specification of abstract data types. Acta Informatica 10 pp. 27–52.Google Scholar
  17. [Hup 80]
    Hupbach, U.L. Abstract implementation of abstract data types. Proc. 9th MFCS, Rydzyna, Poland. LNCS 88, pp. 291–304.Google Scholar
  18. [Hup 81]
    Hupbach, U.L. Abstract implementation and parameter substitution. Proc. 3rd Hungarian Computer Science Conference, Budapest.Google Scholar
  19. [KR 71]
    Kaphengst, H. and Reichel, H. Algebraische Algorithmentheorie. VEB Robotron, Zentrum für Forschung und Technik, Dresden.Google Scholar
  20. [MS 82]
    MacQueen, D.B. and Sannella, D.T. Completeness of proof systems for equational specifications. In preparation.Google Scholar
  21. [Nou 79]
    Nourani, F. Constructive extension and implementation of abstract data types and algorithms. Ph.D. thesis, Dept. of Computer Science, UCLA.Google Scholar
  22. [Rei 80]
    Reichel, H. Initially-restricting algebraic theories. Proc. 9th MFCS, Rydzyna, Poland. LNCS 88, pp. 504–514.Google Scholar
  23. [San 81]
    Sannella, D.T. A new semantics for Clear. Report CSR-79-81, Dept. of Computer Science, Univ. of Edinburgh.Google Scholar
  24. [Sch 81]
    Schoett, O. Ein Modulkonzept in der Theorie Abstrakter Datentypen. Report IFI-HH-B-81/81, Fachbereich Informatik, Universität Hamburg.Google Scholar
  25. [TWW 78]
    Thatcher, J.W., Wagner, E.G. and Wright, J.B. Data type specification: parameterization and the power of specification techniques. SIGACT 10th Annual Symp. on the Theory of Computing, San Diego, California.Google Scholar
  26. [Wan 79]
    Wand, M. Final algebra semantics and data type extensions. JCSS 19 pp. 27–44.Google Scholar
  27. [WB 81]
    Wirsing, M. and Broy, M. An analysis of semantic models for algebraic specifications. International Summer School on Theoretical Foundations of Programming Methodology, Marktoberdorf.Google Scholar
  28. [Wir 71]
    Wirth, N. Program development by stepwise refinement. CACM 14, 4 pp. 221–227.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1982

Authors and Affiliations

  • Donald Sannella
    • 1
  • Martin Wirsing
    • 2
  1. 1.Department of Computer ScienceUniversity of EdinburghScotland
  2. 2.Institut für InformatikTechnische Universität MünchenDeutschland

Personalised recommendations