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.
Preview
Unable to display preview. Download preview PDF.
6 References
Bjørner D. and Jones C.B. Formal Specification & Software Development, Prentice-Hall, 1982.
Burstall R. and Lampson B. A kernel language for abstract data types and modules. In Proc. Int. Symp. on Semantics of Data Types, 1984.
Girard J-Y. Interprétation fonctionelle et élimination des coupures de l'arrithmétique d'ordre supérieur. Université Paris VII, 1972.
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.
MacQueen D. Modules for Standard ML, Bell Laboratories, Murray Hill, New Jersey, 1985.
Milner R. The Standard ML Core Language, Computer Science Department, Edinburgh University
Mitchell J. and Plotkin G.D. Abstract types have existential type. In Proc. 12th. ACM Symp. on Principles of Programming Languages, ACM 1985.
Reynolds J. Towards a theory of type structure. In Colloquium of Programming, LNCS 19, Springer Verlag, N.Y. 1974.
Steensgaard-Madsen J. Typed representation of objects by functions. TOPLAS 11, No. 1, 1989.
— Universal Types for Abstract Data Structures, Computer Science Dept., Technical University of Denmark, 1987.
Author information
Authors and Affiliations
Editor information
Rights 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