Thèse en cours

Analyse, optimisation et debugging de processus BPMN

FR  |  
EN
Auteur / Autrice : Quentin Nivon
Direction : Gwen Salaun
Type : Projet de thèse
Discipline(s) : Informatique
Date : Inscription en doctorat le 01/10/2022
Etablissement(s) : Université Grenoble Alpes
Ecole(s) doctorale(s) : École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 199.-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'Informatique de Grenoble
Equipe de recherche : VASY - Validation de systèmes

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

Dans cette thèse, nous prévoyons d'étudier l'optimisation de processus sous trois angles différents, respectivement : l'analyse et l'optimisation des ressources, la refactorisation automatique de processus, et le débogage de processus. Le premier challenge est celui de l'optimisation de ressources. Son objectif premier est de calculer des métriques permettant de quantifier l'utilisation et l'occupation de ressources au cours du temps. Ces métriques peuvent ensuite être utilisées pour ajuster le nombre de ressources et ainsi réduire le temps d'éxecution du processus ou encore les coûts associés à l'exécution du processus. Un des challenges dans ce contexte réside dans la description du modèle de ressources. Pour obtenir des résultats précis, le modèle de ressources doit être aussi proche que possible de la réalité. Par exemple, un employé doit faire des pauses déjeuner, rentrer chez lui le soir, ou bien partir en vacances. Une machine peut tomber en panne, avoir besoin de réparation, ou bien être remplacée par une nouvelle. Une ressource peut également avoir besoin d'être approvisionnée (gaz, essence, eau, ...). Nous prévoyons tout d'abord de rendre possible la description d'un modèle de ressources aussi expressif et ensuite de calculer les métriques citées précédemment sur un tel modèle. Dans certains cas, il est très difficile voire impossible d'optimiser l'utilisation des ressources, car le processus présente des problèmes de design. Dans ce cas, il est intéressant de considérer une autre solution. En partant d'une première version d'un processus, nous prévoyons de proposer des techniques d'optimisation basées sur la refactorisation de ce processus. En changeant sa structure, nous avons pour objectif de générer un processus différent, dont le temps d'exécution est inférieur à celui du processus original, et pour lequel l'utilisation des ressources a été optimisé. L'idée principale est d'augmenter le degré de parallélisme des tâches exécutées dans ce processus. Néanmoins, les pas de refactorisation doivent être appliqués avec attention. Par exemple, ce n'est pas intéressant de mettre en parallèle deux tâches utilisant la même ressource, car ces tâches sont amenées à entrer en compétition pour l'obtention de ladite ressource. De plus, ce n'est pas toujours logique de mettre deux tâches en parallèle, and dans certains cas des dépendences causales doivent être préservées (par exemple, il est nécessaire de préparer un colis avant de l'envoyer). Lorsque nous developpons des processus utilisant la notation BPMN ou n'importe quelle autre notation basée sur des workflows, l'utilisateur peut être amené à effectuer diverses erreurs. Les outils existants supportants le développement de processus BPMN permettent l'analyse syntaxique de processus, mais n'offrent pas la possibilité de vérifier certaines propriétés comportementales subtiles, telles que l'absence d'impasse, ou encore l'exécution de tâches dans un ordre donné. VBPMN est un outil permettant la vérification de propriétés (grâce à un vérificateur de modèles) sur des processus BPMN. Néanmoins, les contre-exemples renvoyés lorsque la propriété est insatisfaite sont difficiles à comprendre pour des utilisateurs dont les connaissances en méthodes formelles sont limitées. Nous prévoyons donc de proposer des techniques de débogage conviviales pour des processus BPMN. Plus précisément, l'idée est de proposer des techniques pour représenter graphiquement des contre-exemples, et plus généralement pour visualiser les parties erronées du processus au niveau BPMN. Pour se faire, nous prévoyons de nous baser sur de récentes techniques de débogage que nous améliorerons pour les faire coincider parfaitement avec la problématique.