A kernel language for algebraic specification and implementation extended abstract

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

Abstract

A kernel specification language called ASL is presented. ASL comprises five fundamental but powerful specification-building operations and has a simple semantics. Behavioural abstraction with respect to a set of observable sorts can be expressed, and (recursive) parameterised specifications can be defined using a more powerful and more expressive parameterisation mechanism than usual. A simple notion of implementation permitting vertical and horizontal composition (i.e. it is transitive and monotonic) is adopted and compared with previous more elaborate notions. A collection of identities is given which can provide a foundation for the development of programs by transformation.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

9 References

  1. [ADJ 76]
    Goguen, J.A., Thatcher, J.W. and Wagner, E.G. An initial algebra approach to the specification, correctness, and implementation of abstract data types. IBM research report RC6487. Also in: Current Trends in Programming Methodology, Vol. 4: Data Structuring (R.T. Yeh, ed.), Prentice-Hall, pp. 80–149 (1978).Google Scholar
  2. [ADJ 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
  3. [ADJ 80]
    Ehrig, H., Kreowski, H.-J., Thatcher, J.W., Wagner, E.G. and Wright, J.B. Parameterized data types in algebraic specification languages (short version). Proc. 7th ICALP, Noordwijkerhout, Netherlands. LNCS 85, pp. 157–168.Google Scholar
  4. [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-18104, Technische Univ. München.Google Scholar
  5. [Bau 81a]
    Bauer, F.L. et al (the CIP Language Group) Programming in a wide spectrum language: a collection of examples. Science of Computer Programming 1, pp. 73–114.Google Scholar
  6. [BBTW 81]
    Bergstra, J.A., Broy, M., Tucker, J.V. and Wirsing, M. On the power of algebraic specifications. Proc. 10th MFCS, Strbske Pleso, Czechoslovakia. LNCS 118, pp. 193–204.Google Scholar
  7. [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
  8. [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
  9. [BM 81]
    Bergstra, J.A. and Meyer, J.J. I/O computable data structures. SIGPLAN Notices 16, 4 pp. 27–32.Google Scholar
  10. [Ehr 79]
    Ehrich, H.-D. On the theory of specification, implementation, and parametrization of abstract data types. Report 82, Univ. of Dortmund. Also in: JACM 29, 1 pp. 206–227 (1982).Google Scholar
  11. [EK 82]
    Ehrig, H. and Kreowski, H.-J. (1982) Parameter passing commutes with implementation of parameterized data types. Proc. 9th ICALP, Aarhus, Denmark. LNCS 140, pp. 197–211.Google Scholar
  12. [EKMP 82]
    Ehrig, H., Kreowski, H.-J., Mahr, B. and Padawitz, P. Algebraic implementation of abstract data types. Theoretical Computer Science 20, pp. 209–263.Google Scholar
  13. [EL 81]
    Ehrich, H.-D. and Lipeck, U. Algebraic domain equations. Report 125, Univ. of Dortmund.Google Scholar
  14. [ETLZ 82]
    Ehrig, H., Thatcher, J.W., Lucas, P. and Zilles, S.N. Denotational and initial algebra semantics of the algebraic specification language LOOK. Draft report, IBM research.Google Scholar
  15. [Gau 83]
    Gaudel, M.-C. Personal communication with M. Wirsing.Google Scholar
  16. [GB 80]
    Goguen, J.A. and Burstall, R.M. CAT, a system for the structured elaboration of correct programs from structured specifications. Technical report CSL-118, Computer Science Laboratory, SRI International.Google Scholar
  17. [GB 83]
    Goguen, J.A. and Burstall, R.M. Institutions: logic and specification. Draft report, SRI International.Google Scholar
  18. [GGM 76]
    Giarratana, V., Gimona, F. and Montanari, U. Observability concepts in abstract data type specification. Proc. 5th MFCS, Gdansk. LNCS 45, pp. 576–587.Google Scholar
  19. [GM 82]
    Goguen, J.A. and Meseguer, J. Universal realization, persistent interconnection and implementation of abstract modules. Proc. 9th ICALP, Aarhus, Denmark. LNCS 140, pp. 310–323.Google Scholar
  20. [GM 83]
    Goguen, J.A. and Meseguer, J. An initiality primer. Draft report, SRI International.Google Scholar
  21. [GMW 79]
    Gordon, M.J., Milner, A.J.R. and Wadsworth, C.P. Edinburgh LCF. LNCS 78.Google Scholar
  22. [Gut 75]
    Guttag, J.V. The specification and application to programming of abstract data types. Ph.D. thesis, Univ. of Toronto.Google Scholar
  23. [HKR 80]
    Hupbach, U.L., Kaphengst, H. and Reichel, H. Initial algebraic specification of data types, parameterized data types, and algorithms. VEB Robotron, Zentrum für Forschung und Technik, Dresden.Google Scholar
  24. [HR 80]
    Hornung, G. and Raulefs, P. Terminal algebra semantics and retractions for abstract data types. Proc. 7th ICALP, Noordwijkerhout, Netherlands. LNCS 85, pp. 310–323.Google Scholar
  25. [Kam 83]
    Kamin, S. Final data types and their specification. TOPLAS 5, 1 pp. 97–121.Google Scholar
  26. [LB 77]
    Liskov, B.H. and Berzins, V. An appraisal of program specifications. Computation Structures Group memo 141-1, Laboratory for Computer Science, MIT.Google Scholar
  27. [Rei 81]
    Reichel, H. Behavioural equivalence — a unifying concept for initial and final specification methods. Proc. 3rd Hungarian Computer Science Conf., Budapest, pp. 27–39.Google Scholar
  28. [SB 83]
    Sannella, D.T. and Burstall, R.M. Structured theories in LCF. Proc. 8th CAAP, L'Aquila, Italy. LNCS, to appear.Google Scholar
  29. [SW 82]
    Sannella, D.T. and Wirsing, M. Implementation of parameterised specifications. Report CSR-103-82, Dept. of Computer Science, Univ. of Edinburgh; extended abstract in: Proc. 9th ICALP, Aarhus, Denmark. LNCS 140, pp. 473–488.Google Scholar
  30. [SW 83]
    Sannella, D.T. and Wirsing, M. A kernel language for algebraic specification and implementation. Report CSR-131-83, Dept. of Computer Science, Univ. of Edinburgh.Google Scholar
  31. [Sch 82]
    Schoett, O. A theory of program modules, their specification and implementation. Draft report, Univ. of Edinburgh.Google Scholar
  32. [Wand 79]
    Wand, M. Final algebra semantics and data type extensions. JCSS 19 pp. 27–44.Google Scholar
  33. [Wir 82]
    Wirsing, M. Structured algebraic specifications. Proc. AFCET Symp. on Mathematics for Computer Science, Paris, pp. 93–107.Google Scholar
  34. [ZLT 82]
    Zilles, S.N., Lucas, P. and Thatcher, J.W. A look at algebraic specifications. Draft report, IBM research.Google Scholar

Copyright information

© Springer-Verlag 1983

Authors and Affiliations

  • Donald Sannella
    • 1
  • Martin Wirsing
    • 2
  1. 1.Department of Computer ScienceUniversity of EdinburghUK
  2. 2.Fakultät für InformatikUniversität PassauGermany

Personalised recommendations