Skip to main content

Generation of Interactive Programming Environments

Objective

The main objective of GIPE was to investigate the possibilities of automatically generating interactive programming environments from language specifications.
Such an interactive environment was to be generated from a complete syntactic and semantic characterisation of the language to be used, formally expressed in a Language Definition Formalism (LDF). An inference rule-based approach and an algebraic approachwere considered as the starting point for the design of the LDF.
A prototype system was designed and implemented, consisting basically of an LDF compiler, a file system and a user interface.
The main objective of the project was to investigate the possibilities of automatically generating interactive programming environments from language specifications. Such an interactive environment was to be generated from a complete syntactic and semantic characterization of the language to be used, formally expressed in a language definition formalism (LDF). An inference rule based approach and an algebraic approach were considered as the starting point for the design of the LDF. A prototype system was designed and implemented, consisting of an LDF compiler, a file system and a user interface. A language for specifying static constraints declaratively, TYPOL, was defined, and the formalism compiled into Prolog for execution. Another important set of results concerns investigations into obtaining a method of enhancing first order algebraic data type specifications to support concrete syntax descriptions, using a sub-typing mechanism. Central to the system is the virtual tree processor (VTP), which was specified and implemented. Portability of developments is assured by a software development environment common to all partners, connecting Unix, LE-Lisp, C-Prolog, the VTP, and a virtual window manager
Significant progress was achieved by the GIPE project in several areas. A language for specifying static constraints declaratively, TYPOL, was defined, and the formalism compiled into Prolog for execution.
Another important set of results concerns investigations into obtaining a method of enhancing first-order algebraic data type specifications to support concrete syntax descriptions, using a sub-typing mechanism. Central to the system is the Virtual Tree Processor (VTP), which was specified and implemented.
A first version of the GIPE (Centaur) system presenting major improvements with regard to the MENTOR system (developed at INRIA) has been demonstrated to more than 50 research organisations. One direction of work, to be pursued in another project, is now the improvement of the person-machine interface. Portability of those developments is assured by a software development environment common to all partners, connecting Unix, LE-Lisp, C-Prolog, the VTP, and a virtual window manager.
Exploitation
The first version of CENTAUR has been distributed to academic and research laboratories, and 25 systems have already been installed.
The GIPE project resulted in a prototype system which will now be industrialised. The results should advance the state of practice of the software industry. The industrial applicability will also be demonstrated through well-targeted experiments. It is also intended to use some of GIPE's results in the definition of a software factory (EUREKA project ESF).

Coordinator

SEMA Metra Group SA
Address
16 Rue Barbes
92126 Montrouge
France

Participants (3)

BSO-BUREAU VOOR SYSTEEMONTWIKKELING
Netherlands
Address
Kon. Wilhelminalaan 5 Postbus 8112
3503 RC Utrecht
CWI-CENTRUM VOOR WISKUNDE & INFORMATICA
Netherlands
Address
Kruislaan 413 Postbus 4079
1098 SJ Amsterdam
Institut National de Recherches en Informatique et en Automatique (INRIA)
France
Address
Route Des Lucioles
06565 Valbonne