• Aucun résultat trouvé

Chapitre IV. Cadre général

Chapitre V

Méthodologies d’acquisition et de maintenance des règles métier

V.1 Cycle de vie d’une règle candidate

Le cycle de vie des règles dans le développement d’une application (voir II.2.2) montre un processus d’acquisition des règles de façon progressive. Notre travail se focalise sur une confi-guration où les règles sont décrites dans des textes réglementaires. Le but est de les identifier à partir de ces textes réglementaires et d’aider à les formaliser afin de faciliter leur automatisa-tion en langage machine. Autrement dit, l’on se retrouve dans un processus par lequel les règles sont transformées d’une représentation textuelle en langage naturel vers une représentation en langage contrôlé, puis une représentation formelle facilement automatisable. Ce passage n’est pas direct, le processus de transformation est long et difficile mais il repose sur un schéma cohérent, progressif et faisant intervenir à chacune de ses étapes les acteurs ayant l’expertise nécessaire pour réaliser cette étape.

Concrètement, ce processus d’acquisition se décrit en trois étapes. Il débute par une pre-mière étape d’exploration des textes pour en identifier les fragments textuels pertinents dont certains sont validés par l’expert métier comme règle métier candidate. Cette étape est suivie d’une seconde de normalisation où les règles candidates sont traduites dans un langage contrôlé par l’expert qui tente de simplifier la langue naturelle dans laquelle les règles identifiées sont rédigées dans le but de les rendre lisibles et facilement compréhensibles pour les acteurs de l’étape suivante. Ces derniers sont les ingénieurs qui interviennent à la troisième étape. Ils sont chargés de formaliser les règles dans un langage formel à partir duquel commence le travail d’im-plémentation. Cependant, notre travail ne couvre pas cette dernière étape mais se concentre

Chapitre V. Méthodologies d’acquisition et de maintenance des règles métier

sur l’identification des règles et leur transformation en langage contrôlé.

Les règles extraites et transformées doivent demeurer cohérentes, pertinentes et conformes aux besoins définis dans les textes initiaux. Pour cela, nous proposons de conserver l’histo-rique des transformations de normalisation pour vérifier la qualité des règles par rapport aux textes d’origine. Cet historique simplifie la mise à jour des règles pour corriger les problèmes d’incomplétude, d’incohérence et d’évolution que celles-ci peuvent comporter.

V.1.1 Règles dans le texte

Au début du processus d’acquisition, les règles métier sont rédigées en langage naturel et contenues dans des textes réglementaires (voir II.1.3). A ce stade, les règles ne sont pas structurées et elles existent dans des formats libres. Ce sont des fragments textuels, en général des phrases d’un texte réglementaire. Les experts les produisent par rapport à leur connaissance du domaine, indépendamment du SGRM, et ne se situent pas nécessairement dans une visée applicative déterminée.

La figure V.1 montre quelques exemples de règles métier figurant dans un extrait du cor-pus AAdvantage, et qui ont été identifiées (marquage par un fond noir). Dans les textes les règles métier expriment des contraintes et conditions sur « ce que l’entreprise sait d’elle-même

» (Business Rules Manifesto) ou plus clairement sur le vocabulaire métier du domaine.

Figure V.1Fragment de texte du corpus AAdvantage.

V.1 Cycle de vie d’une règle candidate

V.1.2 Règles candidates initiales

Une "règle candidate" est une règle métier non encore formalisée (donc sous une forme textuelle libre ou contrôlée) mais qui a déjà été identifiée dans les textes réglementaires et validée par l’expert en tant que règle. Cette appellation est conforme aux travaux cités précédemment (voirII.2.2.1) sur la détection des règles ; elle étend cependant l’emploi du terme en incluant les versions partiellement transformées (voir la sectionV.1.3). Les règles sont identifiées suivant une méthode de fouille axée sur une exploration syntaxique et sémantique des textes. Les fragments textuels pertinents de règles qui sont détectés ainsi sont filtrés manuellement par l’expert qui sélectionne les règles candidates initiales.

Concrètement, l’identification (voir V.2) des règles candidates s’effectue dans un environ-nement d’aide à l’expert pour la détection de tous les passages réglementaires. L’expert a la possibilité de sélectionner directement les passages qu’il juge valides mais nous lui proposons aussi diverses techniques de fouille que nous classons en deux catégories. D’une part, nous avons une fouille textuelle à base de patrons linguistiques construits via des mots-clés caracté-ristiques de règles (qui peuvent être tirés des langages contrôlés comme SBVR). Ces patrons s’appliquent sur les arbres syntaxiques des phrases des textes ou sur sur leur contenu brut, et seules les phrases présentant ces caractéristiques sont alors filtrées. D’autre part, nous avons une fouille sémantique à base des concepts du domaine qui consiste à filtrer les phrases où ap-paraissent un concept donné. Au final, le travail de l’expert aboutit à la validation des phrases qui constituent nos règles candidates initiales.

V.1.3 Reformulation des règles candidates

Pour poursuivre dans le processus d’acquisition, les règles candidates initialement identifiées dans les textes sont fournies en entrée à l’étape de normalisation en langage contrôlé qui précède la formalisation des règles. Pour cela :

– Nous visons une normalisation qui correspond en un ensemble de spécifications progres-sives traduisant les règles candidates initiales dans un langage contrôlé dans le but de réduire les complexités de la langue naturelle dans laquelle les règles candidates initiales sont transcrites. La normalisation permet de désambiguïser et de simplifier chacune des règles candidates de façon à ce qu’elle soit autonome, élémentaire et facilement com-préhensible, et ce indépendamment des textes d’origine. Pour cela, la normalisation agit à plusieurs niveaux de la structure linguistique de la règle candidate notamment aux niveaux lexical, syntaxique et sémantique. Et chacune des règles candidates peut faire

Chapitre V. Méthodologies d’acquisition et de maintenance des règles métier

l’objet de plusieurs opérations de normalisation suivant les types de complexités qu’elle contienne.

– Nous ne choisissons pas un langage formel spécifique pour formaliser les règles, parce que à notre connaissance il n’y a pas de noyau commun à tous les systèmes d’inférence des SGRM qui ait un pouvoir expressif suffisant. Dans ONTORULE, les partenaires forma-lisaient le même problème différemment selon les capacités d’inférence de leur langage formel, en tenant compte des besoins de raisonnement de l’application. Nous nous limi-tons à une normalisation poussée qui consiste à reformuler chacune des règles candidates simplifiées de façon à faciliter sa traduction formelle.

Le travail de normalisation repose sur un langage cible qui nous permette d’atteindre nos objectifs. Notre choix s’est inspiré de SBVR. La règle reformulée n’utilise que des termes mé-tier du domaine, des faits non ambigus portant sur ces termes et les connecteurs logiques de SBVR et ses modalités, éventuellement des variables utilisées comme des entités nommées. Ces formulations sont le plus souvent directement traduisibles dans la plupart des langages formels de règles (voir II.2.2.2).

V.1.4 Contrôle de qualité

Une fois la règle candidate normalisée elle est directement soumise à la phase de formalisa-tion. Mais la règle est aussi maintenue à partir de sa version normalisée en langage contrôlé. La maintenance d’une règle permet de garder sa conformité avec les besoins du système d’infor-mation décrits dans les textes d’origines. Dans certains cas, c’est la maintenance de la version normalisée qui entraîne celle de la version formelle. Comme, en règle générale, le processus de maintenance consiste à identifier des problèmes dans une base de règles (ensemble de règles), à les diagnostiquer et à les corriger, nous avons essentiellement considéré des problèmes (voir IV.1.3) d’incohérences et d’inconsistances dont le diagnostic permet de rétablir la qualité des règles extraites. Nous proposons de diagnostiquer certains problèmes déjà au niveau des textes.

Concrètement, nous cherchons à aider les experts métier dans cette tâche. Ce sont eux qui analysent les problèmes, les identifient et mettent à jour les règles affectées. Nous les aidons à effectuer le diagnostic de ces problèmes à partir de la trace des multiples reformulations que les règles peuvent subir tout au long du processus de normalisation. Pour ce faire, le travail d’acquisition des règles aboutit au stockage de l’historique de toutes les versions produites par reformulation afin de pouvoir revenir sur les traces de chacune des règles.