An Integrated Approach to the Generation of Environments from Formal Specifications

This paper describes an experiment in the use of a persistent object store to support the construction and execution of a software development environment. This development environment presents the user with language specific editors which provide access to incremental parsers. The editors and parsers are automatically generated from a formal language specification based on attribute grammars. This is facilitated through the persistent management of types and values and a dynamically callable compiler. We demonstrate that the provision of a persistent object store gives the system designer more freedom and that this leads to the construction of novel software architectures.

[1]  Uwe Kastens Implementation of Visit-Oriented Attribute Evaluators , 1991, Attribute Grammars, Applications and Systems.

[2]  Alan Dearle,et al.  An Adaptive Graphical Browser for Napier88 , 1990 .

[3]  Richard C. H. Connor,et al.  Persistent Hyper-Programs , 1992, POS.

[4]  Henk Alblas,et al.  Introduction to Attributed Grammars , 1991, Attribute Grammars, Applications and Systems.

[5]  Richard C. H. Connor,et al.  The Napier88 Reference Manual , 1997 .

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

[7]  Ronald Morrison,et al.  An Approach to Persistent Programming , 1989, Comput. J..

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

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

[10]  Richard C. H. Connor,et al.  Type Equivalence Checking in Persistent Object Systems , 1990, POS.

[11]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[12]  Douglas C. Engelbart,et al.  A research center for augmenting human intellect , 1968, AFIPS Fall Joint Computing Conference.

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

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

[15]  C. A. R. Hoare,et al.  An Axiomatic Definition of the Programming Language PASCAL , 1973, Acta Informatica.

[16]  Michael J. Oudshoorn Atlantis : a tool for language definition and interpreter synthesis. , 1992 .

[17]  Alan Dearle,et al.  Safe Browsing in a Strongly Typed Persistent Environment , 1988, Comput. J..

[18]  Alan Dearle Environments: a flexible binding mechanism to support system evolution , 1989, [1989] Proceedings of the Twenty-Second Annual Hawaii International Conference on System Sciences. Volume II: Software Track.

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