Skip to main content

A kernel specification formalism with higher-order parameterisation

  • Conference paper
  • First Online:
Recent Trends in Data Type Specification (ADT 1990)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 534))

Included in the following conference series:

Abstract

A specification formalism with parameterisation of an arbitrary order is presented. It is given a denotational-style semantics, accompanied by an inference system for proving that an object satisfies a specification. The inference system incorporates, but is not limited to, a clearly identified type-checking component.

Special effort is made to carefully distinguish between parameterised specifications, which denote functions yielding classes of objects, and specifications of parameterised objects, which denote classes of functions yielding objects. To deal with both of these in a uniform framework, it was convenient to view specifications, which specify objects, as objects themselves, and to introduce a notion of a specification of specifications.

The formalism includes the basic specification-building operations of the ASL specification language. This choice, however, is orthogonal to the new ideas presented. The formalism is also institution-independent, although this issue is not explicitly discussed at any length here.

Much of the material presented here has been included in a very preliminary form in Section 6 of [SST 90].

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

8 References

  1. The Programming Language Ada: Reference Manual. LNCS 106 Springer Lecture Notes in Computer Science, Volume 106 (1980).

    Google Scholar 

  2. H.P. Barendregt. The Lambda Calculus: Its Syntax and Semantics (second edition). North-Holland (1984).

    Google Scholar 

  3. F.L. Bauer et al (the CIP language group). The Wide Spectrum Language CIP-L. LNCS 183 Springer Lecture Notes in Computer Science, Volume 183 (1985).

    Google Scholar 

  4. M. Bidoit, M.-C. Gaudel and A. Mauboussin. How to make algebraic specifications more understandable? An experiment with the PLUSS specification language. Science of Computer Programming 12, 1–38 (1989).

    Google Scholar 

  5. A. Blikle and A. Tarlecki. Naive denotational semantics. Information Processing 83, Proc. IFIP Congress '83 (ed. R. Mason), Paris. North-Holland, 345–355 (1983).

    Google Scholar 

  6. A.M. Borzyszkowski, R. Kubiak and S. Sokołowski. A set-theoretic model for a typed polymorphic λ-calculus. Proc. VDM-Europe Symp. VDM — The Way Ahead, Dublin. LNCS 328, 267–298 (1988).

    Google Scholar 

  7. R.M. Burstall and J.A. Goguen. The semantics of CLEAR, a specification language. Proc. of Advanced Course on Abstract Software Specification, Copenhagen. LNCS 86, 292–332 (1980).

    Google Scholar 

  8. P.M. Cohn. Universal Algebra. Reidel (1981).

    Google Scholar 

  9. R.L. Constable et al. Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall (1986).

    Google Scholar 

  10. T. Coquand and G. Huet. The calculus of constructions. Information and Computation 76 (1988).

    Google Scholar 

  11. O.-J. Dahl, B. Myrhaug and K. Nygaard. Simula 67 common base language. Report S-22, Norwegian Computing Center, Oslo (1970).

    Google Scholar 

  12. H.-D. Ehrich. On the theory of specification, implementation, and parametrization of abstract data types. Journal of the Assoc. for Computing Machinery 29, 206–227 (1982).

    Google Scholar 

  13. H. Ehrig, H.-J. Kreowski, J. Thatcher, E. Wagner and J. Wright. Parameter passing in algebraic specification languages. Theoretical Computer Science 28, 45–81 (1984).

    Article  Google Scholar 

  14. H. Ehrig and B. Mahr. Fundamentals of Algebraic Specification I: Equations and Initial Semantics. Springer (1985).

    Google Scholar 

  15. H. Ehrig, J.W. Thatcher, P. Lucas and S.N. Zilles. Denotational and initial algebra semantics of the algebraic specification language LOOK. Report 84-22, Technische Universität Berlin (1982)

    Google Scholar 

  16. J. Farrés-Casals. Proving correctness of constructor implementations. Proc. 14th Symp. on Mathematical Foundations of Computer Science, Porabka-Kozubnik. LNCS 379, 225–235 (1989).

    Google Scholar 

  17. L.M.G. Feijs, H.B.M. Jonkers, C.P.J. Koymans and G.R. Renardel de Lavalette. Formal definition of the design language COLD-K. METEOR Report t7/PRLE/7, Philips Research Laboratories (1987).

    Google Scholar 

  18. J.S. Fitzgerald and C.B. Jones. Modularizing the formal description of a database system. Proc. VDM'90 Symp. VDM and Z — Formal Methods in Software Development, Kiel. LNCS 428, 189–210 (1990).

    Google Scholar 

  19. J.A. Goguen. Parameterized programming. IEEE Trans. Software Engineering SE-10, 528–543 (1984).

    Google Scholar 

  20. J.A. Goguen and R.M. Burstall. Introducing institutions. Proc. Logics of Programming Workshop, Carnegie-Mellon. LNCS 164, 221–256 (1984).

    Google Scholar 

  21. J.V. Guttag, J.J. Horning and J. Wing. Larch in five easy pieces. Report 5, DEC Systems Research Center, Palo Alto, CA (1985).

    Google Scholar 

  22. R. Harper, F. Honsell and G. Plotkin. A framework for defining logics. Proc. 2nd IEEE Symp. on Logic in Computer Science, Cornell, 194–204 (1987).

    Google Scholar 

  23. T. Lehmann and J. Loeckx. The specification language of OBSCURE. Recent Trends in Data Type Specification, Selected Papers from the 5th Workshop on Specification of Abstract Data Types, Gullane, Scotland. LNCS 332, 131–153 (1988).

    Google Scholar 

  24. B.H. Liskov et al. CLU Reference Manual. LNCS 114 (1981).

    Google Scholar 

  25. D.B. MacQueen. Modules for Standard ML. In: R. Harper, D.B. MacQueen and R. Milner. Standard ML. Report ECS-LFCS-86-2, Univ. of Edinburgh (1986).

    Google Scholar 

  26. A.R. Meyer, J.C. Mitchell, E. Moggi and R. Statman. Empty types in polymorphic lambda calculus. Proc. 14th ACM Symp. on Principles of Programming Languages, 253–262; revised version in Logical Foundations of Functional Programming (ed. G. Huet), Addison-Wesley, 273–284 (1990).

    Google Scholar 

  27. R. Milner, M. Tofte and R. Harper. The Definition of Standard ML. MIT Press (1990).

    Google Scholar 

  28. P. Mosses. Unified algebras and modules. Proc. 16th ACM Symp. on Principles of Programming Languages, Austin, 329–343 (1989).

    Google Scholar 

  29. P. Mosses. Unified algebras and institutions. Proc. 4th IEEE Symp. on Logic in Computer Science, Asilomar, 304–312 (1989).

    Google Scholar 

  30. B. Nordström, K. Petersson and J.M. Smith. Programming in Martin-Löf's Type Theory: An Introduction. Oxford Univ. Press (1990).

    Google Scholar 

  31. D. Sannella, F. da Silva and A. Tarlecki. Syntax, typechecking and dynamic semantics for Extended ML (version 2). Draft report, Univ. of Edinburgh (1990). Version 1 appeared as Report ECS-LFCS-89-101, Univ. of Edinburgh (1989).

    Google Scholar 

  32. D. Sannella, S. Sokołowski and A. Tarlecki. Toward formal development of programs from algebraic specifications: parameterisation revisited. Report 6/90, Informatik, Universität Bremen (1990).

    Google Scholar 

  33. D. Sannella and A. Tarlecki. Program specification and development in Standard ML. Proc. 12th ACM Symp. on Principles of Programming Languages, New Orleans, 67–77 (1985).

    Google Scholar 

  34. D. Sannella and A. Tarlecki. On observational equivalence and algebraic specification. J. Comp. and Sys. Sciences 34, 150–178 (1987).

    Google Scholar 

  35. D. Sannella and A. Tarlecki. Specifications in an arbitrary institution. Information and Computation 76, 165–210 (1988).

    Article  Google Scholar 

  36. D. Sannella and A. Tarlecki. Toward formal development of ML programs: foundations and methodology. Report ECS-LFCS-89-71, Univ. of Edinburgh (1989); extended abstract in Proc. Colloq. on Current Issues in Programming Languages, Joint Conf. on Theory and Practice of Software Development (TAPSOFT), Barcelona. LNCS 352, 375–389 (1989).

    Google Scholar 

  37. D. Sannella and M. Wirsing. A kernel language for algebraic specification and implementation. Proc. Intl. Conf. on Foundations of Computation Theory, Borgholm, Sweden. LNCS 158, 413–427 (1983).

    Google Scholar 

  38. O. Schoett. Data abstraction and the correctness of modular programming. Ph.D. thesis, Univ. of Edinburgh (1986).

    Google Scholar 

  39. A. Voß. Algebraic specifications in an integrated software development and verification system. Ph.D. thesis, Universität Kaiserslautern (1985).

    Google Scholar 

  40. M. Wirsing. Structured algebraic specifications: a kernel language. Theoretical Computer Science 42, 123–249 (1986).

    Google Scholar 

  41. N. Wirth. Programming in Modula-2 (third edition). Springer (1988).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

H. Ehrig K. P. Jantke F. Orejas H. Reichel

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sannella, D., Tarlecki, A. (1991). A kernel specification formalism with higher-order parameterisation. In: Ehrig, H., Jantke, K.P., Orejas, F., Reichel, H. (eds) Recent Trends in Data Type Specification. ADT 1990. Lecture Notes in Computer Science, vol 534. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54496-8_15

Download citation

  • DOI: https://doi.org/10.1007/3-540-54496-8_15

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54496-8

  • Online ISBN: 978-3-540-38416-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics