Enhanced Control Flow Graphs in Montages

A semi-visual framework for the specification of syntax and semantics of imperative programming languages, called Montages, was proposed in an earlier work by the authors. The primary aim of this formalism is to assist in recording the decisions taken by the designer during the language design process. The associated tool Gem-Mex allows the designer to maintain the specification and to inspect the semantics to verify whether the design decisions have been properly formalized. Experience with full-scale case studies on Oberon, Java, and domain specific languages showed the close relationship to Finite State Machines (FSMs). This paper gives a new definition of Montages based on FSMs. It confers to the formalism enhanced pragmatic qualities, such as writability, extensibility, readability, and, in general, ease of maintenance.

[1]  Philipp W. Kutter Dynamic semantics of the Oberon programming language , 1996 .

[2]  Alfonso Pierantonio,et al.  The Formal Specification of Oberon , 1997, J. Univers. Comput. Sci..

[3]  Egon B Orger,et al.  A Mathematical Deenition of Full Prolog , 1994 .

[4]  Lothar Thiele,et al.  Integrating Domain Specific Language Design in the Software Life Cycle , 1998, FM-Trends.

[5]  Arie van Deursen,et al.  Language Prototyping: An Algebraic Specification Approach , 1996, AMAST Series in Computing.

[6]  Alfonso Pierantonio,et al.  Formal aspects of and development environments for Montages , 1997 .

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

[8]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.

[9]  Egon Börger,et al.  Abstract State Machines 1988-1998: Commented ASM Bibliography , 1998, Bull. EATCS.

[10]  Peter D. Mosses,et al.  Theory and Practice of Action Semantics , 1996, MFCS.

[11]  Egon Börger,et al.  A Mathematical Definition of Full Prolog , 1995, Sci. Comput. Program..

[12]  Charles Wallace The semantics of the Java programming language: Preliminary version , 1997 .

[13]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[14]  Alfonso Pierantonio,et al.  The Formal Speciication of Oberon , 1997 .

[15]  Andreas Blass,et al.  Abstract State Machines and Pure Mathematics , 2000, Abstract State Machines.

[16]  Yuri Gurevich,et al.  The Semantics of the C Programming Language , 1992, CSL.

[17]  Arnd Poetzsch-Heffter Prototyping realistic programming languages based on formal specifications , 1997, Acta Informatica.

[18]  Alfonso Pierantonio,et al.  Montages Specifications of Realistic Programming Languages , 1997, J. Univers. Comput. Sci..

[19]  Patrick Borras,et al.  Centaur: the system , 1988, Software Development Environments.

[20]  Martin Odersky,et al.  A new approach to formal language definition and its application to Oberon , 1989 .

[21]  Niklaus Wirth,et al.  The programming language oberon , 1988, Softw. Pract. Exp..