The Evolution of Implementation Techniques in the ASF+SDF Meta-environment

P. Klint

(Available as P9504-2.ps.gz)

Abstract

The ASF+SDF Meta-environment is an interactive development environment for formal language definitions. It is both a meta-environment supporting fully interactive editing of modular language definitions written in the formalism ASF+SDF and a generator for dedicated environments for defined languages.

The actual development of this system started in 1985 as part of the GIPE (Generation of Interactive Programming Environments) projects [HKKL85]. Now, ten years later, it is worthwhile to assess what has been achieved and, more importantly, which problems are still to be addressed.

A historical and at times methodological perspective is necessary in such an assessment. However, rather than evaluating all aspects of the system I will concentrate on the evolution of the implementation techniques being used. This implies that I will neither assess the formalism ASF+SDF itself nor discuss more fundamental research questions related to topics like modularization, higher-order formalisms, compiler generation, and the like.

Instead, I will try to distill lessons from the patterns that can be identified in the evolution of the implementation techniques used so far. These lessons are used to make projections for the future.

The ASF+SDF Meta-environment has been developed as part of the Centaur system, the end result of the GIPE projects. The analysis to be given here will completely focus on the Meta-environment and will only discuss those aspects of Centaur that are directly relevant to this analysis. Other aspects of Centaur will be mostly ignored.

The paper gives a chronological account: past, present, and future. Readers interested in pre-historic considerations should consult the previous paper. An overview of the Meta-environment is given in [Kli93].