Trequasi : un système pour la transformation automatique de programmes PROLOG récursifs en quasi-itératifs
Institution:
Paris 11Disciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
TREQUASI est un système de transformation de programmes Prolog REcursifs en QUASI-Itératifs implémenté en Prolog. Un programme Prolog récursif linéaire est un programme dont une de ses clauses est une clause récursive linéaire de la forme [ P :- Q1 , Pr, Q2. ]. Un programme Prolog quasi-itératif (itératif au sens de Mac Canhy) est un programme dont toutes les clauses récursives qui constituent ce programme ont des appels récursifs terminaux de la forme [ P :- Q1, Pr. ] Q1 est une conjonction de littéraux qui peut être éventuellement vide, Q2 est une conjonction d'atomes qui peut être réduite à un seul atome et Prest l'appel récursif du prédicat P. La méthode de transformation construite est basée sur le principe de Pliage/Dépliage de Burstall-Darlington appliqué à la programmation logique. La transformation s'effectue en deux phases. Premièrement, on détermine le prédicat généralisé appelé EUREKA qui doit répondre aux critères de transformation afin de le transformer en un ensemble de clauses quasi-itératives. Ceci, implique que l'EUREKA en question est soumis à des contraintes permettant de réaliser le Pliage et le Dépliage de Burstall-Darlington. La deuxième phase, consiste donc à transformer l'EUREKA en question en un ensemble de clauses quasi-itératives. Dans cette phase, on est amené à développer une stratégie qui permet d'une part de choisir une règle à appliquer afin d'éviter d'utiliser les règles qui risquent de faire boucler le système et d'autre part de construire (partiellement ou entièrement selon les cas) les règles (propriétés) nécessaires pour faire aboutir la transformation. TREQUASI n'a pas besoin d'avoir une base de connaissances complète, en cas de besoin, TREQUASI fournir la règle qu'il faut et qui sera validée par l'utilisateur.