FR 2949585 A1 20110304 FR 0955787 A 20090825 -1- L'invention concerne les outils d'aide à la décision et l'organisation des variables dans une base de données. On peut à titre d'exemple se référer au secteur des télécommunications. Dans ce dernier, l'ensemble de la production est mis en oeuvre par le biais d'un système d'information qui gère à la fois les flux liés aux communications des clients (voix, SMS, MMS, Internet, etc...), les flux liés à la prospection et à la commercialisation, les flux liés au suivi financier, les flux liés au suivi de la qualité de service, les flux liés à la performance opérationnelle, etc.. Tous ces flux sont écoutés en temps réel au moyen d'agents informatiques (tels que des robots) qui collectent toutes sortes de données, avec des granularités plus ou moins fines selon les besoins des analyses (cela va généralement de la minute à l'heure). Il existe généralement un agent par indicateur mesuré. Ces indicateurs vont de l'espace disque disponible sur une baie de disques durs, au débit informatique sur telle ou telle branche du réseau, en passant par les taux des charges des unités centrales des serveurs concernés, ou même plus simplement le nombre de connexions de clients sur tel ou tel serveur d'applications, etc... Ainsi, la personne en charge de l'analyse capacitaire (ou capacity planning en anglais) de l'entreprise dispose de l'ensemble des données dites d'apprentissage (l'histoire du système complexe observé) stocké au sein d'un entrepôt de données (en anglais datawarehouse). Aussi, lorsque des personnes en charge des maîtrises d'oeuvres ou d'ouvrages ont besoin d'un état du système d'information à un moment donné, l'analyste capacitaire est en mesure de leur en donner lecture. Ou même au-delà, lorsqu'une personne en charge de l'informatique décisionnelle (en anglais business intelligence) souhaite redéfinir des objectifs pour des activités au sein de l'entreprise (que l'on peut appeler objectifs métiers pour des chaînes métier), c'est cet analyste qui lui donne une lecture possible des indicateurs directement impactés par ces nouvelles prévisions. Ainsi, l'activité d'analyse capacitaire s'apparente à une surveillance permettant de donner une lecture de l'état de santé de l'entreprise, depuis les ventes réalisées en temps réel au sein des agences ou via Internet, jusqu'à l'ensemble des connexions réseau qu'il faut prévoir pour répondre à la demande. En outre, l'analyse capacitaire permet d'établir des plans de contingence qui sont des outils d'aide à la décision : si une alerte est donnée quant au fonctionnement d'un serveur d'application, il est souhaitable d'anticiper toutes les alertes à venir et de prendre les bonnes décisions afin d'éviter que la crise ne s'étende à l'ensemble de la production. Mais jusqu'à présent, c'est principalement le retour d'expérience qui permet à l'analyste capacitaire d'envisager certaines conclusions. -2- En effet, le système d'information est en perpétuelle évolution et il est difficile pour l'analyste capacitaire d'anticiper les évolutions possibles (suppression ou ajout d'un serveur, diminution ou augmentation d'un ensemble de connexions, variation du nombre d'utilisateurs en agence, migration vers de nouvelles applications, etc.). De même, il lui est difficile de définir les nouveaux agents qui sont alors nécessaires à une lecture optimale de l'ensemble des indicateurs. Plus généralement, on connait des indicateurs appelés indicateurs clé de performance (ou KPI pour l'anglais Key Performance Indicator). Jusqu'à présent, le référentiel KPI est un outil dont la conception est réservée à l'informatique décisionnelle, qui procède en s'appuyant uniquement sur la nomenclature des métiers concernés. De son côté, l'analyste capacitaire doit garantir en permanence la tenue en charge du système complexe en fonction de la planification des objectifs métiers. Les experts de l'informatique décisionnelle font sans le savoir des choix qui influencent le système d'information. De leur côté, les analystes capacitaires se heurtent à la complexité du système d'information et appréhendent mal les chaînes métiers concernées depuis les indicateurs techniques observables jusqu'au KPI proprement dit. L'analyste tend à considérer que toute similitude remarquable entre deux indicateurs implique une relation de cause à effet, ce qui fausse considérablement les analyses capacitaires et les rapports de l'informatique décisionnelle. Il s'ensuit qu'on obtient des indicateurs souvent redondants ou surchargés au sein d'un système complexe devenu de facto compliqué, mal observé et coûteux, réduisant ainsi lourdement le retour sur investissement. En outre, parmi les nombreux facteurs de dégradation de la qualité des données d'un entrepôt de données, il faut retenir la migration des données, la rupture des intégrités référentielles et les temps d'attente extrêmement long des clients du système complexe observé. Dans tous les cas, ce sont bien la stabilité et la fiabilité du gisement de données des indicateurs qui sont remises en cause. Et l'attribut commun de la qualité des données qui est remis en cause reste l'intégrité du référentiel d'indicateurs afin de ne pas effacer ou de modifier par inadvertance les données d'une table en relation avec une autre. Un but de l'invention est donc d'améliorer la qualité des décisions reposant sur des variables telles que des indicateurs. A cet effet, on prévoit, selon l'invention, un procédé pour organiser une base de données comprenant des variables, telles que des indicateurs, relatives à un objet prenant plusieurs états, à chaque variable correspondant des valeurs associées aux états respectifs, procédé dans lequel : - des moyens automatisés identifient des corrélations entre au moins certaines des variables ; -3- - les moyens forment des groupes constitués chacun par une des variables et d'autres des variables corrélées à cette dernière et suffisant pour déduire cette dernière ; et - les moyens associent, dans une base de données, à chacune des variables du groupe, une donnée indiquant au moins une identité des autres variables du groupe. Ainsi, l'invention procède en s'appuyant sur les corrélations réellement observables au sein du gisement de données des variables relatives au système complexe observé. Elle assure la corrélation et la codification significative des variables clé au sein de l'analyse capacitaire et permet d'établir une véritable cartographie des variables entre elles, tout en consolidant l'intégrité des données au sein de l'entrepôt de données (authenticité et traçabilité). Le procédé permet d'organiser des variables discrètes et chaotiques en une arborescence montrant les relations de cause à effet probables, depuis les variables dites élémentaires, jusqu'aux variables clé. L'invention permet une meilleure compréhension du système d'information en temps réel. Elle rend possible une automatisation des plans de contingence, des opérations de surveillance et de la gestion des alertes. L'invention permet une lecture rapide des impacts liés aux prévisions (côté informatique décisionnelle) comme aux crises (côté maîtrise d'oeuvre ou d'ouvrage). Mieux qu'une étude d'impact, la base obtenue avec l'invention peut-être mise à jour régulièrement afin de prendre en compte les dernières évolutions au sein du système d'information. Avantageusement, les moyens construisent un graphe, tel qu'un réseau de Petri, du groupe, par exemple au moyen d'un algorithme montant. Ainsi le graphe encapsule l'identité de la variable clé et le groupe auquel il appartient. Avantageusement, les moyens codent le graphe pour produire la donnée. Ce code permet de retrouver rapidement et facilement le graphe correspondant, et donc les identités des variables et leurs relations. Cette codification significative des variables renforce la qualité des données au sein d'un entrepôt de données, en termes d'intégrité d'abord (authenticité et traçabilité), mais aussi en termes de complétude. Cette forme de représentation comme graphe, combinée à la codification significative, autorise un traitement ultérieur par exemple d'hypersphérisation ou d'iconographie, ainsi qu'une modélisation de type file d'attente. On prévoit aussi selon l'invention un procédé pour exploiter des variables, telles que des indicateurs, relatives à un objet prenant plusieurs états, à chaque variable correspondant des valeurs associées aux états respectifs, procédé dans lequel ; -4- - des moyens automatisés obtiennent dans une base de données au moins une donnée indiquant une identité de variables corrélées à une variable prédéterminée et formant avec elle un groupe tel que les variables du groupe, sauf une, suffisent pour déduire cette dernière, les moyens identifiant ainsi les variables corrélées ; et - les moyens exploitent les identités des variables identifiées, par exemple les transmettent sur un réseau de télécommunication. De préférence, les moyens identifient à partir de la donnée des relations de cause à effet entre les variables du groupe. Avantageusement, les moyens commandent la mention sur une page web des identités des variables identifiées. On prévoit également selon l'invention un programme d'ordinateur qui comprend des instructions de code apte à commander la mise en oeuvre d'un procédé selon l'invention lorsqu'il est exécuté sur un ordinateur. On prévoit aussi la mise à disposition de ce programme sur un réseau de télécommunication en vue de son téléchargement, ainsi qu'un support d'enregistrement de données comprenant ce programme sous forme enregistrée. On prévoit aussi selon l'invention un dispositif pour organiser une base de données comprenant des variables, telles que des indicateurs, relatives à un objet prenant plusieurs états, à chaque variable correspondant des valeurs associées aux états respectifs, le dispositif comprenant des moyens aptes : - à identifier des corrélations entre au moins certaines des variables ; - à former des groupes constitués chacun par une des variables et d'autres des variables corrélées à cette dernière et suffisant pour déduire cette dernière ; et - à associer, dans une base de données, à chacune des variables du groupe, une donnée indiquant au moins une identité des autres variables du groupe. On prévoit également selon l'invention un dispositif d'exploitation de variables, telles que des indicateurs, relatives à un objet prenant plusieurs états, à chaque variable correspondant des valeurs associées aux états respectifs, le dispositif, éventuellement conforme au dispositif précité, comprenant des moyens aptes ; - à obtenir dans une base de données au moins une donnée indiquant une identité de variables corrélées à une variable prédéterminée et formant avec elle un groupe tel que les variables du groupe, sauf une, suffisent pour déduire cette dernière, les moyens étant aptes ainsi à identifier les variables corrélées ; et - à exploiter les identités des variables identifiées, par exemple à les transmettre sur un réseau de télécommunication. On prévoit par ailleurs selon l'invention une base de données qui comprend : -5- - des variables relatives à un objet prenant plusieurs états, à chaque variable correspondant des valeurs associées aux états respectifs; - au moins une donnée en relation avec au moins une des variables et indiquant une identité de certaines des variables corrélées avec elle et formant avec elle un groupe tel que les variables du groupe, sauf une, suffisent pour déduire cette dernière. On peut employer l'invention auprès d'entités ayant des besoins dans les domaines de l'informatique décisionnelle ou de l'analyse capacitaire. Tous les secteurs industriels sont concernés par cette invention : nucléaire, transport, pharmaceutique, cosmétique, automobile, équipementiers, énergie, financier, assurance, etc... En effet, quel que soit le domaine d'application, peu importent les noms qui sont donnés aux variables, dès lors que les exigences propres à la technique sont respectées et qu'une lecture en temps réel est possible. L'invention peut ainsi s'appliquer par exemple dans les domaines suivants: - nucléaire : température intérieure d'une boîte à gants, température de la matière chaude en cours d'usinage, débit du lubrifiant, épaisseur des gants de manipulation, temps d'ouverture des hublots, temps d'exposition des techniciens, etc - pharmaceutique : rendement d'un îlot automatisé de conditionnement, décompte des gélules non conformes, décompte des substrats non conformes, vitesse de mise en place sous vide, décompte des substrats détériorés suite à la mise en place, etc... - énergie : débit d'un fleuve, température de l'eau, débit du circuit de refroidissement, puissance du générateur, température du coeur, demande en énergie, consommation propre à la centrale, quantité d'énergie disponible, etc... - économie : indices financiers et boursiers tels que le CAC 40, volume d'actions échangées, taux directeurs, taux interbancaires, volume de crédit, indice de volatilité, évolution du PIB, évolution du chômage, moral des entreprises, moral des consommateurs, etc... L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins dans lesquels : - la figure 1 est un organigramme illustrant la correspondance entre un langage formel et une famille de métiers ; - la figure 2 présente des courbes illustrant la liaison par superposition entre deux indicateurs ; - les figures 3 et 4 sont des réseaux de Petri d'un caractère redondant et d'une liaison d'indicateurs ; - les figures 5 et 6 sont respectivement une matrice de connexités et l'empilement des indicateurs y relatifs ; -6- - les figures 7 et 8 illustrent les mêmes éléments dans le cas d'un empilement parallèle ; - la figure 9 est le réseau de Petri d'un empilement linéaire des indicateurs élémentaires au sein d'une chaîne ; - les figures 10 et 11 montrent des matrices dans lesquelles respectivement les indicateurs sont redondants ou encore surchargent l'un des indicateurs ; - les figures 12 à 14 sont des matrices illustrant respectivement l'initialisation de la matrice descriptive dans le procédé de l'invention, la définition de la zone élémentaire et enfin la forme générale en escalier ; - les figures 15 à 21 sont des matrices et des réseaux de Petri illustrant respectivement une redondance simple, un doublon, une redondance multiple, une liaison d'indicateurs, une surcharge d'indicateurs, une surcharge redondante et enfin une situation d'interprétation générale ; - la figure 22 illustre un exemple d'un réseau de Petri parallèle ; - la figure 23 montre une matrice descriptive et les connexités dans le cas du réseau de Petri parallèle ; - la figure 24 illustre un exemple du réseau de Petri linéaire ; - la figure 25 présente la matrice descriptive et les connexités dans le cas du réseau de Petri linéaire ; - la figure 26 illustre un graphe des liaisons d'une chaîne KPI ; - la figure 27 montre l'empilement des indicateurs élémentaires au sein de la chaîne KPI ; - la figure 28 montre la matrice descriptive et les connexités au sein de cette chaîne ; - la figure 29 montre un réseau de Petri dans un exemple de réalisation; et - la figure 30 est un schéma illustrant des moyens de mise en oeuvre de l'invention. Nous allons présenter ci-après des exemples de mise en oeuvre de l'invention dans lesquels les variables sont des indicateurs, l'invention n'étant pas cependant réduite à ce cas. Il s'agit d'un procédé de codification significative des indicateurs clés de performance ou KPI (pour l'anglais Key Performance Indicators). Il met en oeuvre en l'espèce : - des calculs de corrélation des indicateurs d'un système complexe observé (matrice de variances-covariances, matrice de corrélations mathématiques et matrice de corrélations croisées); - la construction et l'interprétation de matrices dites descriptives et de connexités, et -7- - la représentation de l'ensemble des chaînes KPI modélisées sous la forme de graphes tels que des réseaux de Petri. Le procédé met en oeuvre une grammaire des graphes dédiée qui permet d'automatiser la modélisation des réseaux de Petri à partir de la simple relecture de la codification significative des KPI ainsi obtenue. Cette codification constitue la nouvelle clé d'entrée d'un entrepôt de données (gisement de données des indicateurs techniques et métiers propre au système observé) et facilite la mise en place d'une base de donnée moyennant par exemple une technologie des groupes assistée par ordinateur (ou TGAO), dédiée à l'activité d'analyse capacitaire. Nous allons expliquer d'abord comment définir, construire et utiliser la base de données propre à l'entrepôt de données. On utilise une classification des chaînes métiers étudiées qui désignent ici des groupes de variables associés à une même activité au sein du système observé (vente, production, qualité etc.). Il s'agit de retrouver rapidement leurs codes grâce à l'usage d'un thésaurus dans la base. Pour cela, nous construisons une codification significative, voir figurative, de ces chaînes métiers, puis nous associons au résultat ainsi obtenu une codification chronologique, le tout constituant la nouvelle clef d'entrée de l'entrepôt de données. Un thésaurus est un dictionnaire hiérarchisé, un vocabulaire normalisé sur la base de termes génériques et de termes spécifiques à un domaine. Il ne fournit qu'accessoirement des définitions, les relations des termes et leur choix l'emportant sur les significations. Toutefois, lorsqu'un thésaurus s'appuie sur une codification significative, la codification d'un objet n'est plus seulement la référence de celui-ci, mais porte en plus une sémantique précisant le cas d'emploi. Un thésaurus est finalement une arborescence d'ensembles ordonnés de références, une classification n'étant que le simple fait de mettre en relation des objets avec ces références. Dans le cadre de l'activité d'analyse capacitaire, ces objets sont ici les chaînes métiers. On considère ici qu'une codification est un ensemble de règles définissant une correspondance biunivoque (bijection) entre des informations et leur représentation par des caractères, des symboles ou des éléments de signal. Il peut s'agir d'une codification dite soit significative soit chronologique. Pour toute chaîne métier ainsi référencée au sein d'une classification propre à l'analyse capacitaire, il existe une référence unique permettant de l'authentifier et de la tracer. Une codification figurative est une méthode mnémotechnique permetant l'accès aux données et aux informations propres à un objet considéré. De préférence, cette codification ne s'applique qu'à des objets immuables dans le temps. Dans tous les autres 2949585 -8- cas, la mise en place du thésaurus n'en devient que plus complexe, perdant aussi le bénéfice de la cohérence interne de ce dernier. Une grammaire est un formalisme permettant de définir une syntaxe et donc un langage formel, c'est-à-dire un ensemble de mots sur un alphabet donné. En d'autres 5 termes, une grammaire fixe les règles permettant d'écrire un code non arbitraire. Il existe une similitude entre la génération des phrases à partir des symboles (mots) respectant une sémantique liée à une langue donnée et la génération des chaînes métiers à partir des indicateurs métiers ou techniques, en considérant les relations de cause à effet. La Fig. 1 illustre ainsi cette correspondance entre un langage formel et une famille métiers. 10 Nous rappelons ci-après quelques outils de corrélation. Soit un vecteur aléatoire x à N indicateurs temporels discrets et chaotiques X1 présentant des pas de collecte différents au sein de l'entrepôt de données. La première étape consiste donc en une interpolation pertinente des indicateurs les plus pauvres de sorte que chaque indicateur puisse disposer de n réalisations au sein de la même plage 15 de temps: X1 = (xl1...xln) \XN ù (xN1...xNn Une fois cette préparation réalisée, les calculs concernent essentiellement les éléments suivants: - la matrice de variances-covariances : 2 6X X 20 62 Xk 2 6X NN.N sachant que l'ensemble des calculs s'appuie sur la loi de Bravais-Pearson où n 6xy = cov(x, y) = -1 xi ù 7)(y i .Y) = x. y ù x. y n 6), = . jvar(x) avec avec x = 1 ~jxi et où n i-1 - la matrice de corrélations :1 ù var(x) = ù 1 (xi ù x)2 =x2ùx2 n 1 1 _ N.N - la matrice de corrélations croisées (il est intéressant d'avoir les retards entre les indicateurs) : 0 _ N.N sachant que l'ensemble des calculs s'appuie sur la méthode de corrélation croisée où Fxy(r)=E(X(t)Y(tùr)) E désignant l'espérance mathématique et où y(z) = f X(t)Y* (t -z)dt avec Y* désignant la transformée de la fonction Y telle que Y*(tùz)=Y(tùz)6Te(tùr) et STe(tùz)= 1s(t-rùkTe), 8Te étant le peigne de k=ùco Dirac de période d'échantillonnage Te Nous détaillons plus loin le procédé de mise en oeuvre de ces calculs permettant de proposer les relations de cause à effet au sein d'une chaîne métier, et d'en déduire une certaine forme de représentation, puis de codification significative. Lors de la mise en place d'un entrepôt de données, on démarre par l'inventaire complet des composants constituant le modèle générique et unique, afin de donner une représentation fidèle de l'objet étudié. La construction de la base passe par les étapes suivantes : - inventaire des données des chaînes métiers et des indicateurs attachés ; - construction de la matrice des corrélations entre indicateurs deux à deux ; - codification des chaînes métiers depuis les indicateurs élémentaires identifiés ; - classification des chaînes métiers codifiées ; - relecture du thésaurus ; - validation de la grammaire des graphes utilisée ; - modélisation générique des chaînes métiers. -9- -10- Cette construction se fait selon une lecture séquentielle de ces étapes. Quant à son utilisation, nous procédons de la manière suivante : - depuis la classification au sein du thésaurus, sélection du code d'une chaîne métier ; - depuis la grammaire des graphes retenue, lecture de l'ensemble des relations de cause à effet au sein de cette chaîne métier ; - depuis le modèle de cette chaîne métier, hypersphérisation pour une représentation à la fois intuitive et cognitive. Nous allons voir dans la deuxième partie comment nous pouvons automatiser l'écriture des chaînes métiers depuis les calculs de corrélation, et ainsi construire la base. Un processus de décision dépend directement de la qualité des données stockées au sein de l'entrepôt. C'est pourquoi il est préférable de réaliser un inventaire des attributs de la qualité des données propres aux indicateurs. Pour chacun de ces attributs, nous établissons une définition, bâtissons une métrique, mesurons le pointage métrique et suivons la progression des mesures en temps réel. Ces attributs sont ici les suivants: la consistance, la complétude, l'accessibilité, l'intégrité, la précision, la validité et l'opportunité. En gestion de base de données, une intégrité référentielle est un jeu de règles informatiques qui empêche d'effacer ou de modifier par inadvertance les données d'une table en relation avec une autre. De manière générale, l'intégrité désigne l'état des données qui, lors d'un traitement, d'une conservation ou d'une transmission, ne subissent aucune altération ou destruction, et conservent un format permettant leur réutilisation. La notion d'intégrité des données encapsule deux autres attributs de la qualité des données : - authenticité : chaque donnée dispose d'une identité (preuve) unique et vérifiable ; - traçabilité : chaque donnée appartient à une chaîne (parcours) facilement identifiable. Concernant l'authenticité, cet attribut est généralement traité par le biais d'algorithmes de type MAC, Message Authentication Code connus en eux-mêmes. Concernant la traçabilité, cet attribut nous amène à la généralisation d'une codification universelle, qui doit être lue et comprise par tous, notamment ici par l'entrepôt de données. Nous allons maintenant présenter comment on obtient les graphes et la codification significative. Observons le cas particulier de trois indicateurs dont les données sont supposées être exprimées dans la même unité au sein du système international d'unités (SI). -11- Soit une chaîne métier MVL fomant un groupe de trois indicateurs tel que MVL _ {I;,I;,Ik1. La figure 2 illustre une liaison par superposition entre deux courbes d'indicateurs. Dans le couple (rr,k,çPtk), rp,k désigne le coefficient de corrélation mathématique entre 1k et PPtk désigne le retard croisé de 1k par rapport à 1;. Dans le couple (Np,,), Np;k désigne le coefficient de corrélation mathématique entre Ik et 1,, Y';k désigne le retard croisé de Ik par rapport à 1;. Au sens graphique, nous observons une liaison par superposition entre les cours des indicateurs et 1;. Nous notons cette liaison Lu ou L;;, puisque nous pouvons considérer sous 1; ou 1; sous 1;. Quels que soient les retards observés par rapport aux cours d'indicateurs sources, l'indicateur résultat 1k est toujours obtenu par superposition des deux autres tout en tenant compte de leurs niveaux de contribution respectifs. En outre,on distingue le niveau de contribution et le coefficient de corrélation qui n'expriment pas la même chose. Au sens de la liaison, et 1; sont les indicateurs élémentaires. 1k devient l'indicateur induit. La recherche de l'ensemble des graphes permettant d'aboutir à la représentation de toute chaîne métier nécessite d'abord la définition d'un modèle unique permettant de représenter toutes les chaînes métiers possibles. On donne les définitions suivantes : - indicateur élémentaire : tous les indicateurs non corrélés entre eux deux à deux au sein d'une chaîne donnée, sont des indicateurs élémentaires ; - indicateur induit : tout indicateur qui n'est pas un indicateur élémentaire est induit ; - indicateur KPI : un indicateur induit devient un indicateur KPI au sens du groupe si et seulement si il ne permet pas de déduire d'autres des indicateurs. Un indicateur KPI se trouve toujours placé en bout de chaîne à l'issue du traitement de corrélation ; - chaîne KPI : tout groupe, ici une chaîne, constitué d'indicateurs élémentaires, induits et d'un KPI dont les enchainements sont tous connus et issus des calculs de corrélation. Il peut y avoir plusieurs chaînes KPI au sein d'une seule chaîne métier ; - liaison d'indicateurs : une liaison entre deux indicateurs élémentaires ou induits se traduit toujours par la superposition des cours de ces indicateurs, tout en tenant compte de leurs niveaux de contribution respectifs, afin de créer un nouvel indicateur induit au sein de la chaîne métier observée. Au-delà de deux indicateurs, nous disons que la liaison d'indicateurs est surchargée ; - caractère redondant : il apparaît si un indicateur induit ne dépend que d'un indicateur élémentaire ou induit; -12- - coefficient SI : coefficient de transformation d'un indicateur élémentaire, induit ou KPI pour l'exprimer dans les unités du système international ; - coefficient de contribution : tout niveau de contribution, exprimé dans le SI, d'un indicateur sur un autre. Exemple : une variation de la valeur de 1k de 10 unités engendre une variation de la valeur de 1, de l'ordre de -1000 de ces mêmes unités ; - corrélation mathématique : le coefficient de corrélation mathématique entre deux indicateurs est ici reconnu valable dès que sa valeur absolue est supérieure ou égale à 0,866 ; dès lors qu'elle tend vers 0, les deux indicateurs sont dits indépendants ; 2 - covariance d'indicateurs : la covariance d'indicateurs est reconnue valable dès que sa valeur absolue converge vers O. Dans ce cas seulement, nous pouvons affirmer que ces indicateurs sont indépendants et qu'ils ne sont jamais corrélés. Dans ce calcul, le seuil de convergence vers 0 doit être apprécié à l'issue de l'expérience ; - retard croisé : deux indicateurs corrélés entre eux ne sont vraisemblablement pas simultanés. Le retard croisé permet de quantifier ce décalage de réalisation dans le temps. Nous parlons aussi de déphasage dans le temps ; - relation de cause à effet exprimée : le retour d'expérience peut s'avérer pertinent lorsque le calcul seul ne permet pas de conclure ; - entropie de Shannon : lorsqu'un indicateur devient instable au sens de la distribution, son entropie de Shannon devient minimale et se rapproche brutalement de O. Soit un groupe tel qu'une chaîne métier MVL constituée de M indicateurs dont un nombre nb d'entre eux sont des indicateurs élémentaires. Soit un groupe tel qu'une chaîne KPI JVLkp; constituée de N indicateurs pris parmi ceux de la chaîne métier MVL et dont m d'entre eux sont des indicateurs élémentaires. Nous devons respecter les inégalités suivantes: m Nous pouvons noter les indicateurs Vi E {1...M}. Nous pouvons noter la chaîne métier MVL = Soit XM le vecteur constitué des M indicateurs présents dans la chaîne métier MVL ; Soit AM la matrice descriptive de MVL telle que: - AM E nMXM / fl _ {0,11 ; - E {1...M}, nous associons à toute corrélation identifiée valable et notée py le nombre 7cÿ =1, ou 0 s'il n'y a pas de corrélation valable sachant Ti-ii =1, Vie{l...M}; 2949585 -13- - AM=[a;;] l a,7=' u 21-ji =a;; ; AM est une matrice carrée creuse et symétrique et dont la trace est toujours égale à M. Soit Anb la matrice de connexité de MVL telle que: - Anb E V nbxnb V = 10,1 } ; 5 - E {l...nb}, nous associons à toute liaison identifiée et notée L,7 le nombre Su =1 , ou 0 s'il n'y a pas de liaison sachant que S;; = 0 , Vi E {l...nb} ; - Anb=[a;;] / a;;= S = =a;; ; Anb est une matrice carrée creuse et symétrique et dont la diagonale est toujours nulle. Nous pouvons noter la chaîne KPI JVLkp; • 10 Soit XN le vecteur constitué des N indicateurs présents dans la chaîne KPI JVLkp; Soit AN la matrice descriptive de JVLkp; telle que: - AN EUNxN {0,1} - E ...N}, nous associons à toute corrélation identifiée valable et notée rp le nombre 2cÿ =1, ou 0 s'il n'y a pas de corrélation valable sachant que =1, Vie{1...N}; 15 - AN=[au] l a;;= 21-ÿ =21-ji =a;; ; AN est une matrice carrée creuse symétrique et dont la trace est toujours égale à N. Soit Am la matrice de connexité de JVLkp; telle que: - Am EVmxm _ Vi,je{1... /v={0,1}; 1, nous associons à toute liaison identifiée et notée Lu le nombre Su =1 , ou 20 0 s'il n'y a pas de liaison sachant que S;; = 0 , Vi E {1...m} ; - An,=[a;;] / a,7= Su = S;i =a;; ; Am est une matrice carrée creuse symétrique et dont la diagonale est toujours nulle. Soient les représentations suivantes sous forme de réseau de Petri: - caractère redondant : La figure 3 illustre le réseau de Petri d'un caractère redondant. 25 avec rp~ E [û1,1] et ç au 0 ; h(t)=a I;(t û çp) Cette formule donne la relation entre deux indicateurs redondants avec: a; a cu ai e coefficient de contribution de sur 1; -14- ai et a; les coefficients SI des indicateurs observés et Ctj le coefficient de contribution exprimé dans le SI de 1; sur I. - liaison d'indicateurs : La figure 4 illustre le réseau de Petri d'une liaison d'indicateurs. Avec p,, e [û e ~û hl] , ça. >_ 0 et ça,. ? 0 1,ä(t)=J3 I (t - ç)+Y,,I,(tûçP,,) avec: fnw = fln •~ le coefficient de contribution de Iä sur Iw, fin et fi les coefficients SI de ces indicateurs observés et c, le coefficient de contribution exprimé dans le SI de I, sur Iw ; Yv .C,nv le coefficient de contribution de 1ä sur Iw, 7,, 7 et 7,, les coefficients SI de ces indicateurs observés et le coefficient de contribution exprimé dans le SI de 1ä sur I. Nous utilisons une forme de représentation simple et accessible de type réseau de Petri qui, lorsqu'elle est temporisée et/ou colorée, autorise toujours toute démarche 15 ultérieure et complémentaire d'hypersphérisation ou d'analyse sous forme de files d'attentes. Le niveau de complexité du problème lié aux calculs des corrélations croit avec le nombre d'indicateurs constituant la chaîne métier observée. En effet, le nombre de liaisons par superposition au sein de la chaîne métier étudiée : gVL = {I19•••9Inb,•••9IM{, 20 dépend directement du nombre nb d'indicateurs élémentaires présents au sein de la chaîne métier observée (tout KPI mis à part). Le nombre nb est toujours supérieur ou égal à m. C'est pourquoi, nous nous arrêtons d'abord au cas particulier d'une chaîne métier ayant un seul indicateur KPI. La construction de cette chaîne revient à empiler linéairement (tout coefficient de 25 contribution mis à part) l'ensemble des indicateurs élémentaires par le biais de superpositions successives. Dans ce cas, les chaînes métier et KPI sont strictement identiques ; N = M et nb = m. Lors d'un empilement linéaire, la matrice de connexité de JVLkpi = {I1,...,Im,...,IN} est telle qu'illustré à la figure 5. La figure 6 illustre l'empilement des indicateurs élémentaires au sein de MVLkpi et montre ce qui se passe au sein de la 10 -15- chaîne KPI étudiée. De ces deux représentations, nous déduisons que le nombre de liaisons par superposition présent dans JVLkp; est m -1. Il se peut lors du calcul des corrélations qu'une chaîne métier fasse ressortir non pas un KPI, mais plusieurs. Dans ce cas, chaque chaîne KPI doit être traitée distinctement. Dans le cas d'une chaîne ayant deux KPI, l'empilement est nécessairement parallèle, comme le montre la figure 8 qui illustre l'empilement des nb indicateurs élémentaires au sein de MVL s'il y a deux KPI. Dans cet exemple, la matrice de connexité de MVL prend la forme illustrée à la figure 7. Nous en déduisons que la forme générale de la matrice de connexité permet de retrouver le nombre de KPI réellement présents au sein de la chaîne métier M. Dans le cas présenté ci-dessus, la chaîne métier dispose donc de deux chaînes KPI : MVLkp;, et 9VLkpi2. De façon générale, chaque chaîne KPI devant être traitée distinctement, l'empilement retenu est toujours linéaire. Ainsi, le nombre de liaisons par superposition au sein de la chaîne KPI JVLkp; est m -1. Nous décrivons donc la chaîne KPI JVLkp; ( = lhi, ,Im,'''DINJ comme sur la figure 9 qui illustre le réseau de Petri de l'empilement linéaire des indicateurs élémentaires au sein de JVLkp;. Soit GN l'ensemble des réseau de Petri possibles. Dans ce cas, le cardinal de Gy est tel que 2 card GN=Cm Pm2= GAZ Am \ 2! m. P ni! m-2 = 21(m - 2) ! (m - 2)' = 2 avec : m- C, le nombre de combinaisons de 2 indicateurs élémentaires pris parmi m ; - Pm_2 , le nombre de permutations des m -2 indicateurs élémentaires restants ; et - Am , le nombre d'arrangements de 2 indicateurs élémentaires pris parmi m. La forme générale du réseau de Petri nous permet de préciser l'un des attributs de la qualité des données pour la chaîne étudiée, à savoir la complétude (toutes les données nécessaires sont disponibles dans la base). Ainsi, pour une chaîne KPI étudiée JVLkp;, dont la forme générale du réseau de Petri est elle aussi linéaire, la complétude est optimale si et seulement si le nombre d'indicateurs élémentaires est tel que : Nû1 bN impair >û1 : m = 2 + 1 -16- N VN pair >û2 : m= 2 Ainsi, le card G20 à complétude optimale : 10! 1814400 _ Gard G20= 2 =1814400 = G19 De même, le card G100 à complétude optimale s'écrit: 50! 15207046600856689021806304083032.1064 card G 100= 2 = = card G99 Au vu de la complexité des calculs matriciels qui peuvent être exécutés lors des calculs de corrélation, pour arrêter le choix définitif du réseau de Petri décrivant exactement la chaîne KPI f( JVLkp; = lhi, ,Im,'''DINJ , nous retenons les deux critères suivants: la complétude des données et l'ordonnancement définitif des indicateurs selon l'ensemble des retards croisés calculés. Le nombre d'indicateurs élémentaires réellement obtenus dans une chaîne KPI nous renseigne sur la pertinence des choix qui sont faits. Supposons que dans un premier cas, la chaîne KPI est trop écoutée. Les indicateurs tendent alors à devenir redondants et la matrice descriptive � s'horizontalise �. Nous pouvons réaliser des économies de mesures et établir des relations mathématiques afin de déduire par le calcul l'ensemble des indicateurs redondants depuis l'indicateur réalisé au plus tôt. La matrice est illustrée à la figure 10. Dans cet exemple, les indicateurs 1;, 1k et 1, sont redondants. Supposons que dans un second cas, la chaîne KPI n'est pas assez écoutée. Les indicateurs tendent alors à surcharger certaines liaisons d'indicateurs et la matrice descriptive � se verticalise �. Nous pouvons compléter la chaîne métier initiale et ajouter de nouveaux indicateurs induits pertinents afin de décomposer linéairement toute liaison surchargée depuis la liaison réalisée au plus tôt. La matrice est illustrée à la figure 11. Dans cet exemple, les indicateurs 1;, 1k et 1, surchargent 1;. Dans les deux cas, c'est bien l'attribut de la qualité des données, la complétude, qui doit être renforcé, sans quoi le retour d'expérience peut très tôt s'avérer nécessaire par l'usage de relations de cause à effet exprimées par l'expert, ce que nous voulons éviter. De préférence, les calculs de corrélation ne doivent pas être orientés par les avis des experts. Nous présentons maintenant la construction des matrices descriptives et de connexités. Voici quelle méthode de corrélation nous pouvons retenir pour expliquer une chaîne métier. -17- Soit une chaîne métier M = {119-9 I nb 9 9I M 1. En tenant compte de la granularité la plus grossière, nous échantillonnons l'ensemble des indicateurs de cette chaîne afin de ne retenir que n réalisations ou observations. Dans certains cas, il est possible d'interpoler les réalisations manquantes sur des indicateurs dont la granularité trop grossière si elle est retenue provoque inévitablement une perte d'informations pertinentes au moment de l'échantillonnage. Nous initialisons AM, la matrice descriptive de MVL, comme illustré à la figure 12. Grâce aux possibilités offertes par l'analyse en composantes principales (ou ACP), nous déduisons a priori I`YM , la matrice de variance-covariance, dont nous arrêtons, à l'issue de quelques expériences, le seuil acceptable de convergence vers 0, puis nous identifions les nb indicateurs élémentaires qui sont finalement présents au sein de la chaîne métier observée. Nous mettons à jour AM en permutant d'abord l'ensemble des indicateurs de sorte que les nb indicateurs élémentaires se retrouvent en haut à gauche de la matrice descriptive, puis, diagonale mise à part, nous forçons tous les coefficients descriptifs de cette � zone élémentaire � à 0. La figure 13 montre la définition de la � zone élémentaire �. Grâce à l'ACP toujours, � zone élémentaire � mise à part, nous déduisons a priori 1-1`YM , la matrice de corrélation, puis nous identifions tous les coefficients de corrélation mathématique dits valables, c'est-à-dire dont les valeurs absolues sont supérieures ou égales à 2 =0,866. Dès lors qu'elles tendent vers 0, les indicateurs concernés sont dits indépendants, ce qui permet de compléter la "zone élémentaire". Nous ordonnançons les indicateurs par le biais du calcul a priori de 1 YM , la matrice croisée, qui permet de clarifier les retards croisés des indicateurs corrélés entre eux deux à deux dans la chaîne métier. L'ordonnancement s'obtient par le biais de permutations adéquates successives des lignes et des colonnes de la matrice, depuis les indicateurs réalisés en premier. Nous mettons à jour AM en forçant à 0 l'ensemble des coefficients descriptifs dépourvus de toute corrélation, puis, en tenant compte des retards croisés, nous permutons les derniers indicateurs non-élémentaires afin d'obtenir une forme générale de la matrice descriptive qui soit la plus proche possible de sa diagonale. La figure 14 montre la forme générale en escalier. La matrice descriptive de M nous renseigne finalement sur -18- la généalogie au sein de la chaîne métier observée. Et ce sont bien les calculs de corrélation qui nous permettent d'approcher au mieux l'ensemble de ces filiations. Ensuite, de l'interprétation de la matrice descriptive AM ainsi obtenue, nous déduisons la matrice de connexité Aäb . Nous déduisons de la lecture de Aäb le nombre de KPI finalement présents dans la chaîne métier observée. Nous identifions clairement les chaînes KPI. Enfin, pour chaque chaîne KPI, nous construisons la matrice descriptive AN et la matrice de connexité Am, sans refaire les calculs, en nous appuyant simplement sur les résultats propre à la chaîne métier dans son ensemble. Nous pouvons ensuite passer à l'étape construction du réseau de Petri. Le calcul des corrélations croisées joue un rôle important dans l'organisation de la matrice descriptive de M, tout comme celle de JVLkp;. Néanmoins, ce calcul n'est pas simple a priori et peut même s'avérer impossible dans certain cas, surtout si la chaîne métier est trop complexe. Nous expliquons ci-après la matrice descriptive dès l'obtention des corrélations dites valables, sans qu'il soit nécessaire de passer par les calculs de corrélation croisée, l'ordonnancement étant de facto exprimé via le retour d'expérience, ou aléatoirement le cas échéant. Voici donc les différents cas que nous pouvons rencontrer dans le cas d'une chaîne KPI JVLkp; = : - le caractère redondant simple sur la figure 15. - le caractère doublon sur la figure 16. - le caractère redondant multiple à la figure 17. - la liaison d'indicateurs à la figure 18. - la surcharge d'indicateurs à figure 19. - la surcharge redondante à figure 20. - l'interprétation générale à la figure 21. On automatise ici l'écriture des réseaux de Petri depuis la connaissance des chaînes KPI. Le réseau de Petri est un outil mathématique classique permettant de décrire des relations existant entre des conditions et des événements et de modéliser le comportement de systèmes dynamiques à évènements discrets. Un réseau de Petri est en quelque sorte un arbre orienté dit aussi graphe biparti alterné, c'est-à-dire qu'il y a alternance des types de noeuds. Nous nous intéressons ensuite à la circulation des marques au sein de cet arbre orienté. Dans la représentation d'une chaîne KPI, cet arbre orienté prend la forme d'une pyramide. Considérons deux algorithmes de traitement possibles. L'algorithme descendant consiste en la construction du réseau de Petri depuis le KPI jusqu'aux indicateurs supposés élémentaires. Cet algorithme sous-entend un � dés- -19- empilement� aléatoire et récursif. Lors de chaque cycle, l'algorithme vérifie les connexités entre les indicateurs supposés élémentaires. Mais il faut attendre l'apparition d'indicateurs non corrélés pour que l'algorithme écarte cette proposition du résultat avant de recommencer un nouveau cycle aléatoire et récursif. Cette méthode de traitement est donc peu avantageuse. L'algorithme montant tient compte, depuis l'ensemble des indicateurs présents au sein de la chaîne KPI, des filiations et donc de la généalogie issue du calcul des corrélations et de l'interprétation de la matrice descriptive. Si l'ordonnancement des indicateurs est maitrisé, ce qui sous-entend que l'ensemble des corrélations croisées est calculé, et si la complétude des données est vérifiée, ce qui sous-entend que la chaîne KPI est exhaustive au point d'éviter les surcharges d'indicateurs et les caractères redondants multiples, l'algorithme montant autorise alors deux types de réseau de Petri : - f le réseau de Petri parallèle. Soit la chaîne KPI ordonnée JVLkp; {11,12,13,14,15,16,17,18,19,110}, et représentée à la figure 22 comme un exemple de réseau de Petri parallèle. On a illustré à la figure 23 la matrice descriptive et les connexités dans le cas du réseau de Petri parallèle. - le réseau de Petri linéaire . Soit la chaîne KPI ordonnée JVLkp; f = {11,12,13,14,15,16,17,18,19}, et représentée à la figure 24. Il s'agit d'un exemple de réseau de Petri linéaire. La figure 25 montre la matrice descriptive et les connexités dans le cas du réseau de Petri linéaire. Dans ces deux exemples, la matrice de connexité est identique pour un nombre d'indicateurs différent. Dans les deux cas, il s'agit d'un empilement linéaire. Nous présentons ici le théorème de l'algorithme montant. De façon générale, pour procéder à la génération du réseau de Petri, l'algorithme montant doit opérer par itérations successives t - t+1, depuis le seuil représenté par l'ensemble des indicateurs élémentaires, sur lequel ont été appliqués les caractères redondants éventuels, en combinant tous les indicateurs élémentaires ou induits d'ores et déjà disponibles, afin de retrouver l'ensemble des indicateurs induits et KPI manquants issus de la superposition de t indicateurs élémentaires. A chaque itération, l'algorithme montant doit s'assurer du bon respect des règles d'intégrité propres aux opérations de redondance ou de superposition. Le processus se poursuit jusqu'à l'obtention définitive du KPI. On note que, à chaque itération t, l'algorithme montant doit préserver l'intégrité des indicateurs déjà obtenus à l'itération t-1. Pour préciser les règles de l'algorithme montant, introduisons maintenant la notion de chaînon, sachant qu'une chaîne KPI est un chaînon complet incluant tous les 2949585 -20- indicateurs observés dont le KPI. Le principe de l'algorithme montant consiste donc à retrouver, depuis le seuil représenté par l'ensemble des indicateurs élémentaires, l'ensemble des chaînons manquants jusqu'à l'obtention définitive du KPI. Soit un chaînon v de la chaîne KPI considérée. Ce chaînon nous apporte deux 5 informations : - un ensemble de données représenté sous la forme d'un triplet ordonné comprenant : - x indicateurs élémentaires ; - les liaisons d'indicateurs ; 10 - les caractères redondants. - une matrice de connexité notée U,, telle que: - UX E v _ {0,1} ; - Vi, j E {1...x}, nous associons à toute liaison identifiée et notée Lu le nombre , ou 0 s'il n'y a pas de liaison sachant que 8u = 0 , Vi E {1...x} ; 15 - UX[u,i]iU;i=Su=Sji=u1; - U,, est une matrice carrée creuse symétrique dont la diagonale est toujours nulle. Pour compléter notre démarche de règlementation de l'algorithme montant, nous devons considérer au moins trois chaînons de la chaîne KPI considérée. Aussi, soient 20 deux autres chaînons `i% et 0, ayant respectivement pour matrices de connexité : Vl, et WZ. Nous considérons maintenant les deux opérations possibles au sein du réseau de Petri. Soit l'opération de redondance v = Cari : - règle r1 : 25 `test induit et intègre (préalablement réalisé), ou élémentaire Vl, est connexe. - règle r2 : l/ = V x Cari V U ( ;0; (Carj )) - règle r3 : v respecte bien les contraintes issues des calculs de corrélation. 30 - règle r4 : U,, est connexe le graphe orienté de U,, est fortement connexe. Soit l'opération de superposition v = [ ]L,7 (commutative) : 2949585 -21- - règle s1 : - `test induit et intègre (préalablement réalisé), ou élémentaire Vl, est connexe ; - West induit et intègre (préalablement réalisé), ou élémentaire WZ est connexe. - règle s2 : 5 `2nW=0. - règle s3 : = [ 2+ ! ]~; ___. Vu W u (0;(Lu W)) - règle s4 : v respecte bien les contraintes issues des calculs de corrélation. 10 - règle s5 : U,, est connexe le graphe orienté de U,, est fortement connexe. Afin de clarifier les règles de l'algorithme montant, voici une simulation construite sur la base d'une chaîne KPI fictive. Soit la chaîne KPI ordonnée JVLkpi = {11,I2,I3,I4,I5,I6,17,18,I9,I1o,I11,I12}, dont le 15 graphe des liaisons par superposition peut être celui illustré à la figure 26. S'agissant d'une chaîne KPI, l'empilement des indicateurs élémentaires au sein de gVLkpi. est linéaire comme illustré à la figure 27. La matrice descriptive et les connexités de cette chaîne KPI sont illustrées à la figure 28. De ces trois représentations, nous pouvons décrire tous les chaînons qui sont 20 nécessaires au bon déroulement de l'algorithme montant lors de la génération du réseau de Petri : - lkpi =((I1,I2,I3,I4,I5);(L12,L23,L34,L45);(Car6,Car10,Car12)) ; - 4ii11 ((I1,I2,I3,I4,I5);(L12,L23,L34,L45);(Caro Car10)) ; - 4i10 ((I1,I2,I3);(L12,L23);(Car10)) ; 25 - JYLi9 �11912 9I3 ); (L12 , L23 ); w) - 418 ((I4 9I5 ); (L45 ); (Car6 )) ; - Mil =((I1,I2);(L12);0) ; - 9i6 = ((I5 )' 0' (Car6 )) On voit que le principe est le même que celui dit � des poupées russes �. Mais il est 30 préférable d'anticiper l'utilisation informatique en donnant à ces écritures une forme 2949585 -22- générale qui utilise uniquement les identifiants des indicateurs de la chaîne KPI. Voici donc une écriture plus appropriée à l'exploitation informatique : =((I1,I2,I3,I4,I5);(I79I99I119I8);(I69I109I12)) ; =((I1,I2,I3,I4,I5);(179199 111918);(169110)) ; ((I1,12913);(17919);(110)) ; - 9VLi9 ((I1 9 I2 9 I3 ); (I7 9 I9 ); w) ; - J1418 ((I4 9 I5 ), (I8 ), (I6 )) ; - JVLi7 = ((I1 9 I2 ); (I7 ); w) ; - J1416 ((I5 ), 0, (I6 )) . 10 Cette liste compte en tout 7 chaînons et n'est donc pas suffisante. Nous devons ajouter à cette liste 5 chaînons supplémentaires de type � singleton � puisqu'uniquement constitués des indicateurs élémentaires : - 94,5 ((I5);o;o) - 9VLi4 ((I4 ); 0; w) ; 15 -9i3 ((I3);0;0) - 9VLi2 = ((I2 ); 0; w) ; - JVLi 1 = ((I i ); w; 0) . Ainsi, voici la liste ordonnée, selon l'algorithme montant, des opérations permettant de construire le réseau de Petri de la chaîne KPI considérée : 20 -JVLi6= M5xI6 25 - Mill = 9VLi8 + JVLi10 1111 ; - 9VLi12 = JVLkpi = 9VLi11 x 112. Les chaînons des lignes relatives à JVLi7 et MVLM8 peuvent être réalisés simultanément. 5 2949585 -23- Enfin, nous réécrivons maintenant l'ensemble de la chaîne KPI, ce qui revient à reconstituer entièrement � la poupée russe � : - Mpi = Jl'Li11 X 112 e - JVLkpi = [9VLi8 + JVLi10 1111 X /12 e 5 - JVLkpi = [[JVLi4 + 9VLi6 ]18 + 9VLi9 X 110 1111 X 112 e - JVLkpi = [[ \\I4 h 0 0) + Ji/t,5 X 16 1/8 + LJVLi3 + J1417 119 X 110 1111 X 112 ; - JVLkpi=[[�I4);0;0) + �I5);0;0) X16]18... + [ \\I3 ); 0; 0) + [m 1 + Ji/A2 X 110 1111 x 112 ; - JVLkpi = [[ ((14 h 0; 01 + ((I5 h 0; 01 X 16 1 /8 ... 10 +[\\I3);0;0) +[\\'1);0;0) + ((i2);0;o) x1101111 x112. Nous pouvons encore simplifier cette écriture en remplaçant les chaînons de type � singleton � par les indicateurs élémentaires. Voici donc l'écriture définitive ou code du réseau de Petri de la chaîne KPI observée : - JVLkpi = [[14+ 15X /6]18+ [13+ [11+ 12]17]/9x 110]111 X 112. 15 Ainsi, voici les trois états successifs par lesquels nous sommes passés lors du traitement des corrélations au sein de la chaîne KPI considérée : - J4kpi = 111912,139149159 169179 18 9 19 9 110 9I11,'12} , - Mpi OI19I29I39I49I5);('79'99'119'8);('69'109'12)) , - JVLkpi = [[I4+ /5 X /61/8+ [I3+ [I1+ /21/71/9X /10 1/11 X /12. 20 Voyons maintenant comment nous pouvons retrouver simplement le réseau de Petri depuis la connaissance de la chaîne KPI. L'état d'un KPI peut donc être modélisé par une arborescence de type réseau de Petri dont chaque place représente un indicateur dans un état déterminé. En informatique, cette arborescence est codée sous forme d'une chaîne de symboles dite 25 � bien parenthésée �, où chaque symbole représente soit un indicateur soit une opération, et chaque niveau de parenthèse dans la chaîne représente une branche particulière du réseau de Petri. Une chaîne � bien parenthésée � est telle que toute parenthèse ouverte est obligatoirement refermée à un autre endroit de la chaîne. Dans le cas du KPI de l'exemple précédent, le réseau de Petri permettant la 30 modélisation de cet indicateur possède un code unique représenté par la chaîne suivante : 2949585 -24- 94kpi = [[l4+ l5X 16]18+ [l3+ [11+ l2 ]17]19X 110]111 X 112. On note que le code du réseau de Petri peut évoluer au cours du temps. Pour décrire cette chaîne, on utilise une grammaire formelle, aussi connue sous le nom de système de réécriture (une chaîne de caractère qui en remplace une autre). Pour 5 cela, nous devons expliquer la sémantique ainsi trouvée, et nous donner des règles pour décrire toutes les opérations réalisées par les différents symboles de la chaîne lors d'une itération. L'application successive de ces règles à un symbole initial produit une séquence de transformation d'état. Ainsi pour chaque itération, l'état présent du réseau de Petri est représenté par une chaîne de symboles issue de cette séquence. 10 L'état futur au pas d'itération suivant est calculé en transformant simultanément tous les symboles de l'état présent à l'aide des règles spécifiées par la grammaire suivante : - définition des symboles propres à la chaîne réseau de Petri : - l'espace est muet ; - désigne un indicateur de la chaîne KPI ; 15 - + désigne une opération de superposition ; - x désigne une opération de redondance ; - [ désigne l'ouverture d'une superposition ; - ] désigne la fermeture d'une superposition ; - U désigne une opération entre deux chaînons ; 20 - ((...);(...);(...)) désigne un chaînon ; - 0 désigne l'absence d'information dans cette partie du chaînon. - définition des règles ordonnées permettant l'évolution au pas d'itération suivant : - règle (a) : les indicateurs élémentaires présents dans la chaîne réseau de Petri sont remplacés par les chaînons de type � singleton � ; les indicateurs élémentaires sont 25 facilement identifiables puisque toujours placés après les symboles [ et +. Cette règle ne s'applique qu'une fois en début de traitement ; ((Ii);o;o) - règle (b) : le seuil de traitement de l'algorithme montant est mis à jour avant chaque itération en remplaçant tous les caractères redondants appliqués uniquement sur 30 les indicateurs élémentaires ou intègres, par les opérations de redondance correspondantes. Les caractères redondants concernés sont représentés par x l; et sont toujours placés après le symbole ), la règle (a) ayant été réalisée préalablement à la règle (b) en début de traitement ; X I; u (o; o; (Ii)) 2949585 -25- - règle (c) : à chaque itération depuis le seuil de traitement, nous réalisons toutes les liaisons d'indicateurs les plus encapsulées dans la chaîne réseau de Petri en les remplaçant par les opérations de superposition correspondantes. Les liaisons d'indicateurs concernées sont représentées par l'enchaînement � bien parenthésé � 5 [...+...]1;, la règle (b) ayant toujours été réalisée préalablement à la règle (c) ; [...+...]1;~ ... u ... u (o;(I. );o) - règle (d) : c'est la règle des � poupées russes � dite aussi de simplification de l'écriture des chaînons. A la fin de chaque itération, les opérations de redondance ou de superposition sont remplacées par les chaînons résultats. Les opérations concernées 10 sont représentées par les enchainements de type ((1);(J);(K))u((L);(M);(N)) pour la redondance ou ((1); (J); (K)) u ((L); (M); (N)) u ((o); (P); (Q)) pour la superposition ; �1); (J); (K)) u ((L); (M); (N)) �1, L); (J, M); (K, N)) Appliquons ces règles de grammaire des graphes sur la chaîne réseau de Petri obtenue lors de la simulation précédente : 9lkpi = [[14+ 15X 16]18+ [13+ [11+ 12 ]17]19X 110]111 X 112. Les réécritures successives sont donc les suivantes: Selon la règle (a): [[ ((14 ); 0; "_) + ); 0; 0) X 16 7 ]18 + [ ((13 ); "_ J( J( y~J( ]17 7 (15 y~J(; "_ y~J() + [ ((I. ); 0; y~J() + ((12 ); 0; _) ]I9X1101111x112 Selon les règles (b)+(d): y~J( y~J( y~J( 7 [[ ((14 ); y " _ ) + ((I5 ); J " _ (I6 )) 7 ]18 + [ ((13 ); y~J( " _ ) + [ ((I l ); y~J( " _ ) + ((I2 ); y~J( " _ ) ]17 ]19 I9 X 110 ] 111 X 112 Selon les règles (c)+(d): 7 [((14915);(18);(16)) +[((13);0;0) + ((11'12);(I7);o) ]1sx11o]111X1,2 Selon les règles (c)+(d): [((14915);(18);(16)) + ((11,12913);(17919);0) X11o]111X112 25 Selon les règles (b)+(d): [((14915);(18);(16)) + ((I1,12913);(17919);(110)) ]111 X 112 Selon les règles (c)+(d): ((Il912913914915);(17 9 19 9 111 9 18);(169110)) x112 Selon les règles (b)+(d): 30 ((Il912913914915);(17 9 19 9 111 9 18);(16 9 110 9112 � Le réseau de Petri correspondant à ce résultat est illustré à la figure 29. Le fait de pouvoir représenter les chaînes KPI sous forme de réseau de Petri présente donc deux gros avantages. Il permet le renforcement de la qualité des données 15 20 2949585 -26- au sein de l'entrepôt de données. Et il permet l'analyse quantitative des données grâce aux évolutions techniques qu'autorise ce type de représentation que ce soit en termes de réseau de Petri dits temporisés, interprétés, stochastiques, colorés, continus et/ou hybrides. 5 Ici la compréhension du modèle de circulation des marques au sein du réseau de Petri retient notre attention. Ces marques sont la représentation des réalisations ordonnées au sein du système observé. Les valeurs transportées par ces marques autorisent une lecture des distributions au sein du système d'information. En outre, une telle représentation, combinée à des outils de type � files d'attente � 10 trouve alors tout son sens. Au sein d'une organisation telle qu'une société commerciale, le procédé qui vient d'être présenté peut être mis en oeuvre avec les moyens illustrés à la figure 30. Un dispositif 2 tel qu'un serveur est relié à au moins une base de données 4 d'un entrepôt de données (la base pouvant former ce dernier). La base contient les indicateurs 15 relatifs à au moins un objet tel que l'organisation elle-même ou des activités de celle-ci, cet objet prenant plusieurs états (par exemple à des date successives), à chaque indicateur correspondant des valeurs associées aux états respectifs. Le dispositif 2 comprend notamment une unité centrale et une mémoire formant des moyens aptes à identifier, comme expliqué plus haut, des corrélations entre au moins 20 certains des indicateurs. On considérera ainsi par exemple trois indicateurs 1l, 12 et 13. Les moyens sont aptes à former des groupes tels que des chaînes constitués chacun par un indicateur et des indicateurs corrélés à ce dernier et suffisant pour déduire ce dernier. Ici, on suppose que h et 12 induisent 13. Il s'agit donc du groupe (1I, 12, 13). Les moyens sont aptes à construire le réseau de Petri du groupe et à le coder au 25 moyen de la grammaire comme indiqué plus haut. Ces moyens sont aptes à associer, dans la base 4, à chacun des indicateurs 1l, 12 et 13 du groupe, dans un champs correspondant, une donnée M qui est la codification obtenue et qui indique une identité des autres indicateurs du groupe et leurs relations de cause à effet. On a aussi porté sur la figure 30 une autre donnée N relative à un autre 30 groupe concernant 1l et 12 mais pas 13. C'est ainsi que l'on constitue la base de données 4 puis qu'on la maintient à jour. En effet, lorsque de nouveaux indicateurs sont créés, des corrélations sont recherchées et la mise en oeuvre du procédé enrichit la base. L'exploitation de la base peut se faire comme suit. 35 On suppose qu'un opérateur tel qu'une personne consulte le dispositif 2 depuis son ordinateur 6 relié à un réseau de télécommunication 8 tel qu'internet ou un intranet, via un -27- serveur 10 de l'organisation. Il souhaite par exemple connaitre une valeur récente de l'indicateur 1l. Le dispositif 2 identifie dans la base 4 les données M et N indiquant une identité des indicateurs 12 et 13 corrélés à l'indicateur consulté 11. Le dispositif déduit de la codification au moyen de la grammaire les relations de cause à effet entre les indicateurs du groupe M. Il fait de même avec ceux du groupe N. Le dispositif est aussi apte à exploiter ces identités, par exemple en transmettant ces identités au dispositif 10 chargé de construire et de modifier une page web 12 consultée par l'opérateur, afin que le dispositif 10 y fasse apparaître les identités des indicateurs identifiés et leurs relations. L'opérateur est ainsi informé, après avoir consulté l'indicateur 1l sur la page, qu'il devrait aussi être attentif à la valeur des indicateurs 12 et 13qui lui sont corrélés. On met donc en oeuvre un procédé dans lequel: - les moyens 2 identifient des corrélations entre au moins certains des indicateurs; - les moyens 2 forment des groupes constitués chacun par un indicateur et des indicateurs corrélés à ce dernier et suffisant pour déduire ce dernier; - les moyens associent, dans la base 4, à chacun des indicateurs du groupe, une donnée indiquant une identité des autres indicateurs du groupe. Dans ce même procédé: - les moyens identifient dans la base 4 au moins une donnée M et N indiquant une identité des indicateurs 12 et 13 corrélés à un indicateur consulté 1l et formant avec lui un groupe tel que les indicateurs du groupe, sauf un, suffisent pour déduire ce dernier, et - les moyens exploitent les identités des indicateurs identifiés, par exemple en les transmettant sur le réseau 8. Les dispositifs 2 et 10 comprennent un ou plusieurs programmes d'ordinateur comprenant des instructions de code apte à commander la mise en oeuvre de certaines au moins des étapes du procédé lorsqu'il est exécuté sur un ordinateur. On peut mettre ce programme sur un support d'enregistrement tel qu'un disque DVD, un disque dur ou une mémoire flash. On peut mettre ce programme à disposition sur un réseau de télécommunication tel que le réseau 8 en vue de son téléchargement. Bien entendu, on pourra apporter à l'invention de nombreuses modifications sans sortir du cadre de celle-ci. REVENDICATIONS1. Procédé pour organiser une base de données (4) comprenant des variables, telles que des indicateurs (1I, 12, 13), relatives à un objet prenant plusieurs états, à chaque variable correspondant des valeurs associées aux états respectifs, le procédé étant caractérisé en ce que : - des moyens automatisés (2) identifient des corrélations entre au moins certaines des variables; - les moyens (2) forment des groupes constitués chacun par une des variables (13) et d'autres (1I, 12) des variables corrélées à cette dernière et suffisant pour déduire cette dernière; et - les moyens (2) associent, dans une base de données (4), à chacune des variables du groupe, une donnée (M) indiquant au moins une identité des autres variables du groupe. 2. Procédé selon la revendication précédente dans lequel les moyens (2) construisent un graphe, tel qu'un réseau de Petri, du groupe, par exemple au moyen d'un algorithme montant. 3. Procédé selon la revendication précédente dans lequel les moyens (2) codent le graphe pour produire la donnée (M). 4. Procédé pour exploiter des variables, telles que des indicateurs (1I, 12, 13), relatives à un objet prenant plusieurs états, à chaque variable correspondant des valeurs associées aux états respectifs, le procédé étant caractérisé en ce que ; - des moyens automatisés (2) obtiennent dans une base de données au moins une donnée (M) indiquant une identité (12, 13) de variables corrélées à une variable prédéterminée (1I) et formant avec elle un groupe tel que les variables du groupe, sauf une (13), suffisent pour déduire cette dernière, les moyens identifiant ainsi les variables corrélées ; et - les moyens (2) exploitent les identités des variables identifiées, par exemple les transmettent sur un réseau de télécommunication (8). 5. Procédé selon la revendication précédente dans lequel les moyens (2) identifient à partir de la donnée des relations de cause à effet entre les variables (1I, 12, 13) du groupe. 6. Procédé selon l'une quelconque des revendications 4 et 5, dans lequel les moyens (2) commandent la mention sur une page web (6) des identités des variables identifiées. -29- 7. Programme d'ordinateur caractérisé en ce qu'il comprend des instructions de code apte à commander la mise en oeuvre d'un procédé selon l'une quelconque des revendications précédentes lorsqu'il est exécuté sur un ordinateur. 8. Dispositif (2) pour organiser une base de données (4) comprenant des variables (1I, 12, 13), telles que des indicateurs, relatives à un objet prenant plusieurs états, à chaque variable correspondant des valeurs associées aux états respectifs, le dispositif comprenant des moyens aptes: - à identifier des corrélations entre au moins certaines des variables (1I, 12, 13); - à former des groupes constitués chacun par une (13) des variables et d'autres (1I, 12) des variables corrélées à cette dernière et suffisant pour déduire cette dernière; et - à associer, dans une base de données (4), à chacune des variables du groupe, une donnée (M) indiquant au moins une identité des autres variables du groupe. 9. Dispositif (2) d'exploitation de variables (1I, 12, 13), telles que des indicateurs, relatives à un objet prenant plusieurs états, à chaque variable correspondant des valeurs associées aux états respectifs, le dispositif, éventuellement selon la revendication précédente, étant caractérisé en ce qu'il comprend des moyens aptes ; - à obtenir dans une base de données (4) au moins une donnée (M) indiquant une identité (12, 13) de variables corrélées à une variable prédéterminée (1I) et formant avec elle un groupe tel que les variables du groupe, sauf une (13), suffisent pour déduire cette dernière, les moyens étant aptes ainsi à identifier les variables corrélées ; et - à exploiter les identités des variables identifiées, par exemple à les transmettre sur un réseau de télécommunication (8). 10. Base de données (4) caractérisée en ce qu'elle comprend : - des variables (1I, 12, 13) relatives à un objet prenant plusieurs états, à chaque variable correspondant des valeurs associées aux états respectifs; - au moins une donnée (M) en relation avec au moins une des variables et indiquant une identité de certaines des variables corrélées avec elle et formant avec elle un groupe tel que les variables du groupe, sauf une (13), suffisent pour déduire cette dernière.30