previous up next contents
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 debugging around C and typing around ML. For more prospective work, we also study specialised environments for signal processing or for symbolic computations like the mechanical proof of mathematical results. Without being 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.

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 95, we distributed this year a version of the proof environment CTCOQ, adapted to the revision 5.10 of COQ (produced by the project Coq). Note that our work in this domain has been quoted by the American department of defense in a call for research propositions.


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