Javascript must be enabled to continue!
Environnement d'assistance au développement de transformations de graphes correctes
View through CrossRef
Les travaux de cette thèse ont pour cadre la vérification formelle, et plus spécifiquement le projet ANR Blanc CLIMT (Categorical and Logical Methods in Model Transformation) dédié aux grammaires de graphes. Ce projet, qui a démarré en février 2012 pour une durée de 48 mois, a donné lieu à la définition du langage Small-tALC, bâti sur la logique de description ALCQI. Ce langage prend la forme d’un DSL (Domain Specific Language) impératif à base de règles, chacune dérivant structurellement un graphe. Le langage s’accompagne d’un composant de preuve basé sur la logique de Hoare chargé d’automatiser le processus de vérification d’une règle. Cependant, force est de constater que tous les praticiens ne sont pas nécessairement familiers avec les méthodes formelles du génie logiciel et que les transformations sont complexes à écrire. En particulier, ne disposant que du seul prouveur, il s’agit pour le développeur Small-tALC d’écrire un triplet de Hoare {P} S {Q} et d’attendre le verdict de sa correction sous la forme d’un graphe contre-exemple en cas d’échec. Ce contre-exemple est parfois difficile à décrypter, et ne permet pas de localiser aisément l’erreur au sein du triplet. De plus, le prouveur ne valide qu’une seule règle à la fois, sans considérer l’ensemble des règles de transformation et leur ordonnancement d’exécution. Ce constat nous a conduits à proposer un environnement d’assistance au développeur Small-tALC. Cette assistance vise à l’aider à rédiger ses triplets et à prouver ses transformations, en lui offrant plus de rétroaction que le prouveur. Pour ce faire, les instructions du langage ont été revisitées selon l’angle ABox et TBox de la logique ALCQI. Ainsi, conformément aux logiques de description, la mise à jour du graphe par la règle s’assimile à la mise à jour ABox des individus (les nœuds) et de leurs relations (les arcs) d’un domaine terminologique TBox (le type des nœuds et les étiquettes des arcs) susceptible d’évoluer. Les contributions de cette thèse concernent : (1) un extracteur de préconditions ABox à partir d’un code de transformation S et de sa postcondition Q pour l’écriture d’une règle {P} S {Q} correcte par construction, (2) un raisonneur TBox capable d’inférer des propriétés sur des ensembles de nœuds transformés par un enchaînement de règles {Pi} Si {Qi}, et (3) d’autres diagnostics ABox et TBox sous la forme de tests afin d’identifier et de localiser des problèmes dans les programmes. L’analyse statique du code de transformation d’une règle, combinée à un calcul d’alias des variables désignant les nœuds du graphe, permet d’extraire un ensemble de préconditions ABox validant la règle. Les inférences TBox pour un enchaînement de règles résultent d’une analyse statique par interprétation abstraite des règles ABox afin de vérifier formellement des états du graphe avant et après les appels des règles. A ces deux outils formels s’ajoutent des analyseurs dynamiques produisant une batterie de tests pour une règle ABox, ou un diagnostic TBox pour une séquence de règles
Title: Environnement d'assistance au développement de transformations de graphes correctes
Description:
Les travaux de cette thèse ont pour cadre la vérification formelle, et plus spécifiquement le projet ANR Blanc CLIMT (Categorical and Logical Methods in Model Transformation) dédié aux grammaires de graphes.
Ce projet, qui a démarré en février 2012 pour une durée de 48 mois, a donné lieu à la définition du langage Small-tALC, bâti sur la logique de description ALCQI.
Ce langage prend la forme d’un DSL (Domain Specific Language) impératif à base de règles, chacune dérivant structurellement un graphe.
Le langage s’accompagne d’un composant de preuve basé sur la logique de Hoare chargé d’automatiser le processus de vérification d’une règle.
Cependant, force est de constater que tous les praticiens ne sont pas nécessairement familiers avec les méthodes formelles du génie logiciel et que les transformations sont complexes à écrire.
En particulier, ne disposant que du seul prouveur, il s’agit pour le développeur Small-tALC d’écrire un triplet de Hoare {P} S {Q} et d’attendre le verdict de sa correction sous la forme d’un graphe contre-exemple en cas d’échec.
Ce contre-exemple est parfois difficile à décrypter, et ne permet pas de localiser aisément l’erreur au sein du triplet.
De plus, le prouveur ne valide qu’une seule règle à la fois, sans considérer l’ensemble des règles de transformation et leur ordonnancement d’exécution.
Ce constat nous a conduits à proposer un environnement d’assistance au développeur Small-tALC.
Cette assistance vise à l’aider à rédiger ses triplets et à prouver ses transformations, en lui offrant plus de rétroaction que le prouveur.
Pour ce faire, les instructions du langage ont été revisitées selon l’angle ABox et TBox de la logique ALCQI.
Ainsi, conformément aux logiques de description, la mise à jour du graphe par la règle s’assimile à la mise à jour ABox des individus (les nœuds) et de leurs relations (les arcs) d’un domaine terminologique TBox (le type des nœuds et les étiquettes des arcs) susceptible d’évoluer.
Les contributions de cette thèse concernent : (1) un extracteur de préconditions ABox à partir d’un code de transformation S et de sa postcondition Q pour l’écriture d’une règle {P} S {Q} correcte par construction, (2) un raisonneur TBox capable d’inférer des propriétés sur des ensembles de nœuds transformés par un enchaînement de règles {Pi} Si {Qi}, et (3) d’autres diagnostics ABox et TBox sous la forme de tests afin d’identifier et de localiser des problèmes dans les programmes.
L’analyse statique du code de transformation d’une règle, combinée à un calcul d’alias des variables désignant les nœuds du graphe, permet d’extraire un ensemble de préconditions ABox validant la règle.
Les inférences TBox pour un enchaînement de règles résultent d’une analyse statique par interprétation abstraite des règles ABox afin de vérifier formellement des états du graphe avant et après les appels des règles.
A ces deux outils formels s’ajoutent des analyseurs dynamiques produisant une batterie de tests pour une règle ABox, ou un diagnostic TBox pour une séquence de règles.
Related Results
Contribution to the theory of graph neural networks on large random graphs
Contribution to the theory of graph neural networks on large random graphs
Contribution à la théorie des réseaux de neurones en graphes sur des grands graphes aléatoires
Une grande variété de données, comme les molécules, la propagation de...
Rainbow subgraphs and properly colored subgraphs in colored graphs
Rainbow subgraphs and properly colored subgraphs in colored graphs
Sous-graphes arc-en-ciel et sous-graphes correctement colorés dans les graphes colorés
Dans cette thèse, nous étudions les sous graphes arc-en-ciel et les sous-grap...
Many aspects of graph coloring
Many aspects of graph coloring
Divers aspects de la coloration de graphes
La coloration des graphes est un sujet central en théorie des graphes, et divers concepts de coloration ont été étudiés d...
Structure of graphs : minors and induced trees
Structure of graphs : minors and induced trees
Structure de graphes, mineurs et arbres induits
Cette thèse traite des questions structurelles de la théorie des graphes qui découlent de motivations algorithmiques...
Expander graphs and applications to information theoretic cryptography
Expander graphs and applications to information theoretic cryptography
Graphes expanseurs et applications à la cryptographie en théorie de l'information
Cette thèse de doctorat porte sur la théorie spectrale des graphes et ses applicat...
Subgraph Isomorphism Search In Massive Graph Data
Subgraph Isomorphism Search In Massive Graph Data
Isomorphisme de Sous-Graphes dans les graphes de données massifs
L'interrogation de graphes de données est un problème fondamental qui connait un grand intérêt, en ...
Efficient enumeration algorithms for minimal graph completions and deletions
Efficient enumeration algorithms for minimal graph completions and deletions
Algorithmes d'énumération efficaces pour les complétions et délétions minimales de graphes
Cette thèse porte sur la théorie des graphes et plus particulièrement les...
Extensions and Applications of Graph Neural Networks
Extensions and Applications of Graph Neural Networks
Extensions et applications des réseaux de neurones de graphes
Les graphes sont utilisés partout pour représenter les interactions, qu'elles soient physiques comme e...

