Preface


The idea of building programming environments based on language definitions is the starting point of the ASF+SDF project. Over the past 10 years a significant amount of research has been invested in the development of the ASF+SDF algebraic specification formalism and the associated supporting system, the ASF+SDF meta-environment.

ASF+SDF is characterized by its notational flexibility, the system by its support for rapid, interactive development and is thus ideally suited for design and tooling of languages. It has proved to be well suited for education. The formalism and the system are used in courses on compiler construction and software engineering at several universities. The meta-environment has proved to be a good tool for rapid prototyping, also due to its increasing ability to handle very large specifications. The number of projects in industry using ASF+SDF is growing. It is a bit disappointing that none of these industrial projects are presented as a case study in these proceedings.

At this junction in time a variety of drastic extension plans are being launched. The approach is to use ASF+SDF itself to redesign ASF+SDF and the ASF+SDF meta-environment. The aim of this workshop is to bring together researchers and users with an interest in the further development of ASF+SDF, and to provide a platform for sharing experiences, for explaining relations with other areas, and for discussing future directions.

These proceedings contain a varied collection of papers, that not only discuss the utility of the ASF+SDF meta-environment for design and development of languages, but also discuss the design and development of the meta-environment itself.

A short pre-history describes the happenings before the beginning of the GIPE-project. Paul Klint looks into the past, from the beginning of the GIPE-project to the current, by surveying the various implementation techniques applied in the ASF+SDF project, and then he sketches some future developments. Jan Heering presents current work on program analysis using algebraic techniques.

Six case studies apply ASF+SDF in fields from program transformations, to type-checking of categorial programs. One of the case studies involves the specification of a proof procedure, which in turn will be used to prove parts of ASF+SDF specifications correct.

Four papers discuss various aspects of syntax, such as the design of syntax definition formalisms (with the purpose of redesigning SDF), parsing, visual syntax and pretty printing. The last papers discuss some semantic issues, such as the behavior of injections with overloading and the new compiler for ASF+SDF.

Information on the workshop is also available via WWW, including sources of specifications discussed in these proceedings. The address is on the back of the titlepage.

We thank Mieke Brun\'e for taking care of the administrative aspects of this workshop; Joris Hillebrand for his efforts to make these proceedings available to the participants in time; the sponsors PRG, CWI, ILLC, OzsL and SION; all authors for their contributions, and Paul Klint and Jan Heering for accepting our invitation.

Amsterdam, May 1995

Mark van den Brand, Arie van Deursen, Dinesh, Jasper Kamperman and Eelco Visser