A multi-formalism specification environment

This paper describes initial work on a software development environment capable of smoothly integrating modules written in different languages. The focus of this work is on supporting the construction of executable, multi-formalism specifications , where each part of a problem is described in a language that is close to its underlying domain. We distinguish specifications from programs to emphasize the closeness of the formalism to these domains rather than underlying computational models, and to indicate that we are not attempting to integrate existing implementations of programming languages. Rather, we provide a grammar-based framework for the construction and integration of interpreters for different specification formalisms. The key to our approach is that formalisms communicate through grammatically described interfaces . Such interfaces hide incompatible aspects of different formalisms, allowing new combinations of formalisms to be created easily.