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
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...
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...
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...
Chi-boundedness, Geometric Graph Theory, and Burling Graphs
Chi-boundedness, Geometric Graph Theory, and Burling Graphs
Chi-boundedness, théorie géométrique des graphes, et graphes de Burling
Cette thèse porte principalement sur la théorie de la chi-boundedness et la théorie géométri...
Modèles et algorithmes pour les graphes dynamiques
Modèles et algorithmes pour les graphes dynamiques
Les problèmes de graphes ont été largement étudiés dans le cas des graphes statiques. Cependant, ces graphes ne permettent pas de prendre en compte la dimension temporelle, qui est...
Etude des classes de graphes et de matroïdes closes par mineur : densité de triangles, coloration, rigidité et orientations
Etude des classes de graphes et de matroïdes closes par mineur : densité de triangles, coloration, rigidité et orientations
La théorie des mineurs de graphes est apparue dans la première partie du XXème siècle avec la caractérisation des graphes planaires par Kuratowski et Wagner. L'étude des classes de...
Solution Graphs of Combinatorial Problems : Algorithms and Complexity
Solution Graphs of Combinatorial Problems : Algorithms and Complexity
Graphes solutions de problèmes combinatoires : algorithmes et complexité
Cette thèse se concentre sur des objets particuliers en théorie des graphes appelés homomor...

