Programmation relationnelle et relations dynamiques
Auteur / Autrice : | Khalid Gaber |
Direction : | Guy Boulaye |
Type : | Thèse de doctorat |
Discipline(s) : | Ingénierie informatique |
Date : | Soutenance en 1999 |
Etablissement(s) : | Lyon, INSA |
Ecole(s) doctorale(s) : | Ecole doctorale Informatique et Information Pour La Societe (Lyon1992-2008) |
Partenaire(s) de recherche : | Laboratoire : LISI - Laboratoire d'Ingénierie des Systèmes d'Information (Lyon, INSA) |
Mots clés
Mots clés contrôlés
Résumé
Depuis quelques années, la programmation a évolue vers des techniques de plus en plus abstraites et vers une amélioration de l'expressivité des langages déclaratifs. Fondamentalement, ces langages déclaratifs utilisent un formalisme inspire de la logique du premier ordre, en privilégiant soit les formules, soit les expressions fonctionnelles. Si on souhaite de plus des solutions a une requête, il est nécessaire d'employer des techniques de démonstration automatique (e. G. Résolution), ou de normalisation (e. G. Réécriture). Nous proposons dans ce cadre une nouvelle méthode de normalisation des expressions ensemblistes, définie par un ensemble de règles que nous appelons le psi-calcul. En particulier, il est alors possible sous certaines hypothèses de normaliser des expressions comportant un operateur de différence ensembliste, grâce à l'emploi de techniques de normalisation de contraintes. Nous proposons de définir un langage de programmation relationnelle unifiant les concepts issus de la programmation logique, de la programmation équationnelle, de la programmation par contraintes et de la programmation ensembliste dans un formalisme simple et cohérent, sans nous contenter de simplement juxtaposer les formalismes. Nous proposons pour le langage setx2 une sémantique déclarative fondée sur la théorie des modèles, une sémantique de notationnelle en termes de point fixe d'un operateur continu, et une sémantique opérationnelle basée sur la normalisation d'expressions ensemblistes et le psi-calcul. Plusieurs implantations ont été réalisées, notamment en prolog iv. Enfin, comme la plupart des formalismes déclaratifs base sur un langage du premier ordre, la programmation relationnelle ne permet pas une spécification vraiment naturelle du comportement d'un système dynamique. Notre proposition du formalisme des relations dynamiques est comparable a celui des réseaux de pétri de haut niveau en manipulant des expressions ensemblistes plutôt que des multi-ensembles de cardinalité fixée. Le comportement d'un réseau de relations dynamiques est défini comme un processus de réduction d'expressions ensemblistes, a l'aide du psi-calcul.