Generating an Implementation of a Parallel Programming Language from a Formal Semantic Definition

ATLANTIS is a tool for the semi-automatic generation of interpretive language implementations from formal semantic definitions. This tool was originally designed to facilitate the implementation of sequential programming languages and the present paper describes how it has been adapted to also generate implementations of parallel programming languages. ATLANTIS is founded on a layered, information structure model and this paper examines the changes introduced into each layer of the model, focussing on the structure of the generated parse tree and the nature of the parallel interpreter generated from the programming language definition.

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

[2]  David A. Schmidt Denotational Semantics: A Methodology for Language Development by Phil , 1987 .

[3]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[4]  William Roberts Mallgren Formal Specification of Interactive Graphics Programming Languages , 1983 .

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

[6]  Waldemar W. Koczkodaj,et al.  Advances in Computing and Information — ICCI '90 , 1990, Lecture Notes in Computer Science.

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

[8]  Michael J. Oudshoorn,et al.  A Model of Communication in Ada using Shared Data Abstractions , 1990, ICCI.

[9]  Michael J. C. Gordon,et al.  The Denotational Description of Programming Languages , 1979, Springer New York.

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

[11]  Michael J. Oudshoorn,et al.  Abstract Data Types: Converting from Sequential to Parallel , 1991 .

[12]  Michael J. C. Gordon,et al.  The denotational description of programming languages - an introduction , 1979 .

[13]  Michael J. Oudshoorn,et al.  A Layered, Operational Model of Data Control in Programming Languages , 1991, Comput. Lang..

[14]  Murray Hill,et al.  Yacc: Yet Another Compiler-Compiler , 1978 .

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

[16]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[17]  Dines Bjørner,et al.  The Vienna Development Method: The Meta-Language , 1978, Lecture Notes in Computer Science.

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