European Commission logo
English English
CORDIS - EU research results
CORDIS
Content archived on 2024-04-15

Advanced Logical Programming Environments Support

Objective

The ALPES project aimed to analyse and define a complete programming environment, based on logic programming, analysing program synthesis from first-order logic specifications, theorem proving and meta-reasoning, distributed logic programming, and abstract data type specifications.
The application of these results to classical environment tools, such as debuggers, browsers, editors and interfaces with graphic systems, and to the specific needs of logic programming, was developed in parallel.
Finally, these results were integrated in programming environment modules.
The project aimed to analyse and define a complete programming environment, based on logic programming, analysing program synthesis from first order logic specifications, theorem providing and metareasoning, distributed logic programming, and abstract data type specifications. The application of these results to classical environments tools, such as debuggers, browsers, editors and interfaces with graphic systems, and to the specific needs of logic programming, was developed in parrallel. Finally, these results were integrated in programming environment modules. The main characteristics of the environment architecture can be summarized as follows: the architecture is open; modules (units) are reusable; it is fully customizable; it is self revealing.
The major outcome of the project was the ALPES environment, a general-purpose programming environment for logic programming and, in particular, Prolog. The ALPES environment includes tools such as:
-Prolog and graphics systems, for handling graphical objects as Prolog objects
-hybrid (text/structured) multi-window specialised editor
-generic and extensible browser for logic programming.
-distributed logic programming system, aiming at executing logic programs across networks while keeping the classical behaviour of Prolog programs, including backtracking
-data typing and type checker for logic programs
-semi-automatic program construction tool for building logic programs from their specification in full first-order logic
-automatic program transformation tool (especially for optimising their speed of execution)
-program transformation tool for their execution of parallel architectures
-static analysis of Prolog programs tool for detection of potential loops
-rational debugger.
The following topics were addressed, and produced state-of-the-art results:
-meta-level and intelligent control of logic programs
-types, functions and objects in logic programming, including issues on equality handling
-extension of Prolog towards non-classical logics.
Another important domain where state-of-the-art results were achieved is the architecture of programming environments for logic programming. The main characteristics of the ALPES environment architecture can be summarised as follows:
-The architecture is open. Contrary to C-Prolog's philosophy of protecting system primitives from the users, in ALPES all parts are available for extension and/or replacement.
-Modules (units) are reusable: all parts of ALPES are available, and are easily locatable (through a special system folder and its sub-folders) to be used, modified or extended by small modular additions.
-ALPES is fully customisable: users can tailor the environment to support their own style or preferences.
-ALPES is self-revealing: information about the internal workings of the system is immediately available.
Exploitation
The results of the ALPES project are manifold, since it addressed the topic of advanced architectures for logic programming as well as the topic of building advanced tools.
The industrial exploitation of the results of the project is taking place in several ways:
-CRIL is putting into use the know-how and technology acquired through the project by developing a programming environment for a logic programming-based expert system shell, SPIRAL. This shell was developed by one of CRIL's customers, CEA. SPIRAL is used to develop expert systems requiring real-time behaviour in safety-critical areas. Based on a Prolog-like interpreter working with objects (in the object-oriented paradigm sense), SPIRAL is close to the basic ALPES language so that most of the concepts de vised for the environment and the advanced tools can be re-used.
-CRIL is seeking financial support for the direct industrialisation of ALPES on a Prolog compiler developed and marketed by the company.
-ENIDATA is using ALPES to develop applications in the advanced information processing field; the possibilities for industrialisation of the results of the project are being investigated. In particular, an expert system for coke production furnace monito ring was developed for AGIP using the ALPES environment.
-The possibility of launching spin-off companies from UNL and DEIS to exploit and market the results of the project is being studied.
With respect to the academic exploitation of the project's results, most of the universities in the consortium have been using ALPES as a practical development tool within logic programming courses, and will base further research on ALPES.

Topic(s)

Data not available

Call for proposal

Data not available

Funding Scheme

Data not available

Coordinator

Conception et Réalisation Industrielle de Logiciel (CRIL)
EU contribution
No data
Address
146 boulevard de Valmy
92700 Colombes
France

See on map

Total cost
No data

Participants (5)