Tools Development

As a side effect of Centaur, specifications will automatically yield a structure editor and an interpreter for Eiffel, Eiffel//, and Sisal. The formal specifications being executable, an interpreter for the three language will be available as well, together with a graphical representation of the semantic domains of the programs.

From those basic components, we want to build a complete environment for both languages featuring the following:

The Sophtalk component of Centaur [63] makes it easy to maintain the coordination of multiple views of programming objects (the source program in Sisal or Eiffel//, associated intermediate formats, program after transformations, etc.). For instance, when you select an expression in the source program, the corresponding part of the IF1 graph will be highlighted as well. Graphs can be visualized thanks to the graph displaying package of Centaur [69]. Specific colors can be given to edges and nodes, related to their nature or their type.

Thanks to formal specifications and proved transformations, we will lay out the base for the definition and programming of validated compilers for Sisal and Eiffel//. We also want to experiment in a significant manner with program transformations which are specialized to specific parallel architectures, a long term goal of our research being to provide an effective and efficient implementation on massively parallel architectures such as Connection Machine CM-5, and the NEC Cenju-3.


Project