previous up next
Précédent : Références Remonter : PROJET CROAP


Abstract

The aim of the CROAP project is to study the tools that are needed in a programming environment to produce complex and safe software, and how to compose these tools in working environments that are user-friendly and efficient. To achieve this objective, our research is centered around three main themes: implementing tools adapted to various programming styles and languages, formally studying the principles of programming languages, and mastering the common foundations to large classes of these languages.

Our study of programming styles leads us to implement programming environments that are specially suited to a variety of programming languages, each of which represents a family of programming methodology. Thus, we study tools for the ML language (functional programming), the Eiffel language (object-oriented programming), the Sisal programming language (parallel dataflow programming), and C (imperative programming). For each language, we address a different type of tool. For example, we studied symbolic execution for Eiffel and typing around ML. For a more prospective work, we also study specialised environments for software-hardware codesign or for symbolic computations like the mechanical proof of mathematical results. While not directly related to our work on programming languages, these experiments make it possible to address the issue of integrating tools in heterogeneous environments, with heterogeneous data. Above all, the work on proof environments makes it possible to experiment with the task of developping programs that are proved correct.

For programming language semantics, we use a method called Natural Semantics, implemented by the specification language TYPOL. This language can be executed fairly efficiently, which makes it possible to extract practical tools from programming language specifications. We also provide ways to reason formally about programming language properties and about the validity of the extracted tools.

To ensure the validity of our work around Natural Semantics and to make it possible to extend this method to new approaches, it is also necessary to study the logical foundations of this formal specification method. This theoretical study should make it possible to integrate new paradigms such as higher-order abstract syntax to the specification formalism and to construct a real workbench for the formal study of programming languages.

All these experiments use a system for generating interactif programming environments, the CENTAUR system. This system is both the sum of our competence and a toolkit for new experiments.

As landmarks for 96, we took part in the successful concusion of the first phase of the ``Genie'' project. Note also the starting of the Dyade activity and a declaration of interest by Novell, one of the major actors in the American market of professional software, for our work on object-oriented and parallel languages.


previous up next Précédent : Références Remonter : PROJET CROAP