Skip to main content

Adding abstract datatypes to Meta-IV

  • Modularity
  • Conference paper
  • First Online:
VDM '90 VDM and Z — Formal Methods in Software Development (VDM 1990)

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

Included in the following conference series:

  • 129 Accesses

Abstract

Program structure is an important issue in program design. Reuse and flexibility are properties that depend on structure. Some notion of a module is needed to structure a program at a higher level than that of individual functions or procedures.

Meta-IV does not contain facilities to express the grouping of related entities corresponding to modules in a final program. Such facilities are needed, if structure is to be specified along with functionality.

Abstract datatypes are collections of (primarily) functional components. An abstract datatype may reflect an intended grouping of entities in a final program, in particular when no entity in the group is an assignable variable. Abstract datatypes are useful also for descriptions when assignable variables are needed.

We propose one way to add abstract datatype facilities to Meta-IV. We do not propose facilities for introducing hidden, assignable variables, because the abstract datatype extensions should be agreed upon first.

The paper draws heavily on fairly recent research results. It shows how Meta-IV can be extended in agreement with the results. Emphasis is put on the kind of concepts needed for the extension. However, the paper does not explain the underlying theory and does not contain new results of independent theoretical interest.

The intended audience is the group of experienced users of Meta-IV. A number of remarks address various subgroups, e.g. some are mostly of interest to those with special interest in the theoretical background. If a remark uses unfamiliar terminology, it should be standard terminology for some subgroup. Consequently the remark may be skipped be others. Remarks are kept brief and sketchy, just to give indications which may be pursued by studying the references. Illustrations are given in remarks also.

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.

6 References

  1. Bjørner D. and Jones C.B. Formal Specification & Software Development, Prentice-Hall, 1982.

    Google Scholar 

  2. Burstall R. and Lampson B. A kernel language for abstract data types and modules. In Proc. Int. Symp. on Semantics of Data Types, 1984.

    Google Scholar 

  3. Girard J-Y. Interprétation fonctionelle et élimination des coupures de l'arrithmétique d'ordre supérieur. Université Paris VII, 1972.

    Google Scholar 

  4. Howard W.A. The formula-as-types notion of construction. In To H.B.Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism, (eds. J.P.Seldin and J.R.Hindley), Academic Press, 1980.

    Google Scholar 

  5. MacQueen D. Modules for Standard ML, Bell Laboratories, Murray Hill, New Jersey, 1985.

    Google Scholar 

  6. Milner R. The Standard ML Core Language, Computer Science Department, Edinburgh University

    Google Scholar 

  7. Mitchell J. and Plotkin G.D. Abstract types have existential type. In Proc. 12th. ACM Symp. on Principles of Programming Languages, ACM 1985.

    Google Scholar 

  8. Reynolds J. Towards a theory of type structure. In Colloquium of Programming, LNCS 19, Springer Verlag, N.Y. 1974.

    Google Scholar 

  9. Steensgaard-Madsen J. Typed representation of objects by functions. TOPLAS 11, No. 1, 1989.

    Google Scholar 

  10. Universal Types for Abstract Data Structures, Computer Science Dept., Technical University of Denmark, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

D. Bjørner C. A. R. Hoare H. Langmaack

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Steensgaard-Madsen, J. (1990). Adding abstract datatypes to Meta-IV. In: Bjørner, D., Hoare, C.A.R., Langmaack, H. (eds) VDM '90 VDM and Z — Formal Methods in Software Development. VDM 1990. Lecture Notes in Computer Science, vol 428. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-52513-0_13

Download citation

  • DOI: https://doi.org/10.1007/3-540-52513-0_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-52513-4

  • Online ISBN: 978-3-540-47006-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics