Contribution à l'intégration de la programmation logique et de la programmation par objets : étude, conception et implantation
Institution:
RouenDisciplines:
Directors:
Abstract EN:
Pas de résumé disponible.
Abstract FR:
Cette thèse prend place dans un projet interne de réalisation de langages à vocation multiple, intégrant plusieurs styles de programmation et adaptés au plus près à nos besoins en matière de conception et programmation des applications. Dans celle-ci, nous étudions les possibilités de combiner les aspects de deux paradigmes de programmation : la programmation logique et de la programmation par objets. Ces dernières années, ces deux paradigmes de programmation ont suscité un intérêt de plus en plus grand parce qu'ils offrent beaucoup d'avantages sur les méthodes traditionnelles de programmation. Dans cette thèse, nous proposons un nouveau modèle pour intégrer ces deux paradigmes de programmation, en mettant en avant l'aspect déclaratif de la programmation logique. Sur la base de ce modèle, nous développons un nouveau langage nommé OO-Prolog (object-oriented Prolog). Ce langage intègre de manière cohérente les grands mécanismes de la programmation logique et de la programmation par objets. Il est basé sur Delphia-Prolog et conçu suivant le modèle métaclasse/classe/instance inspiré du modèle ObjVlisp. L'héritage est dynamique et multiple, avec une sémantique non monotone. Une nouvelle méthode de résolution des conflits est proposée. Elle est basée sur la résolution non-déterministe. Un mécanisme de versions d'objets est proposé permettant de construire l'histoire d'un objet par unification et de la défaire par retour arrière. Ce mécanisme repose sur l'utilisation des structures de données incomplètes. L'aperçu d'une structure incomplète peut s'utiliser pour permettre l'entrée de nouvelles informations moyennant l'unification et donc de prévoir l'avenir. La lecture déclarative des programmes utilisant ces structures est immédiate. De façon opératoire, ces programmes se comprennent en termes de construction d'une structure par incrémentation. Un schéma d'extension de l'unification est proposé, prenant en compte le concept d'identificateur d'objet.