A Layered, Operational Model of Data Control in Programming Languages

Abstract This paper describes a layered model of the semantics of the data control aspect of programming languages; this aspect of programming language semantics concerns access to the data objects of the program. The model is an information structure model in which the information structures are defined in a relatively precise manner using algebraic specification techniques for abstract data types. The use of abstract data types is also the key to the layering of the description: the outermost layer describes the semantics of the language feature, the middle layer contains definitions for the manipulation of the information structures used within the model, and the innermost layer contains precise descriptions of these information structures.

[1]  John B. Johnston,et al.  The contour model of block structured processes , 1971, SIGP.

[2]  Niklaus Wirth,et al.  Pascal User Manual and Report , 1991, Springer New York.

[3]  C. A. R. Hoare,et al.  Ambiguities and insecurities in pascal , 1977, Softw. Pract. Exp..

[4]  Joseph A. Goguen Correctness and Equivalence of Data Types , 1976 .

[5]  Ellis Horowitz,et al.  The design of data type specifications , 1976, ICSE '76.

[6]  Carol Lynn Smith,et al.  A formal analysis of name accessing in programming languages. , 1975 .

[7]  Chris D. Marlin Coroutines: A Programming Methodology, a Language Design and an Implementation , 1980, Lecture Notes in Computer Science.

[8]  Niklaus Wirth,et al.  Programming in Modula-2 , 1985, Texts and Monographs in Computer Science.

[9]  John V. Guttag,et al.  Notes on Type Abstraction , 1978, Program Construction.

[10]  Niklaus Wirth,et al.  What can we do about the unnecessary diversity of notation for syntactic definitions? , 1977, Commun. ACM.

[11]  John F. Wakerly,et al.  The programming language PASCAL , 1979, Microprocessors and microsystems.

[12]  Joseph A. Goguen,et al.  Abstract Errors for Abstract Data Types , 1977, Formal Description of Programming Concepts.

[13]  Niklaus Wirth The use of modula , 1977, Softw. Pract. Exp..

[14]  William R. Mallgren,et al.  Formal Specification of Graphic Data Types , 1982, TOPL.

[15]  Marvin V. Zelkowitz,et al.  Programming Languages: Design and Implementation , 1975 .

[16]  Gerhard Goos,et al.  An Attribute Grammar for the Semantic Analysis of Ada , 1982, Lecture Notes in Computer Science.

[17]  Niklaus Wirth,et al.  Programming in MODULA-2 (3rd corrected ed.) , 1985 .

[18]  Peter Wegner Data structure models for programming languages , 1971, SIGP.

[19]  Peter Naur Appendix: Revised report on the algorithmic language ALGOL 60 , 1964 .

[20]  Niklaus Wirth,et al.  From Modula to Oberon and the programming language Oberon , 1987 .

[21]  Joseph A. Goguen,et al.  Initial Algebra Semantics and Continuous Algebras , 1977, J. ACM.

[22]  John V. Guttag,et al.  Notes on Type Abstraction (Version 2) , 1980, IEEE Transactions on Software Engineering.

[23]  Niklaus Wirth,et al.  Modula: A language for modular multiprogramming , 1977, Softw. Pract. Exp..

[24]  D. J. Malcolme-Lawes,et al.  If… Then….Else , 1969 .

[25]  Dennis Harold Freidel Modelling communication and synchronization in parallel programming languages , 1984 .

[26]  Uwe Kastens,et al.  GAG: A Practical Compiler Generator , 1982, Lecture Notes in Computer Science.

[27]  Niklaus Wirth Design and implementation of modula , 1977, Softw. Pract. Exp..