FR3101459A1 - Procédé et système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes - Google Patents

Procédé et système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes Download PDF

Info

Publication number
FR3101459A1
FR3101459A1 FR1910731A FR1910731A FR3101459A1 FR 3101459 A1 FR3101459 A1 FR 3101459A1 FR 1910731 A FR1910731 A FR 1910731A FR 1910731 A FR1910731 A FR 1910731A FR 3101459 A1 FR3101459 A1 FR 3101459A1
Authority
FR
France
Prior art keywords
execution
links
tasks
concurrent
executed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
FR1910731A
Other languages
English (en)
Inventor
Fabrice Baranski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Logpickr
Original Assignee
Logpickr
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Logpickr filed Critical Logpickr
Priority to FR1910731A priority Critical patent/FR3101459A1/fr
Priority to US17/031,836 priority patent/US20210096912A1/en
Publication of FR3101459A1 publication Critical patent/FR3101459A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3404Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Procédé et système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes L’invention concerne un procédé et un système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes, l’exécution desdits processus par le système informatique générant des traces informatiques d’exécution de tâches, enregistrées dans une mémoire du système informatique. Le procédé de traitement comporte, pour au moins une instance d’exécution dudit processus, un calcul (32) d’un modèle de représentation du processus exécuté, sous forme de graphe comportant des nœuds et des liens entre lesdits nœuds, les liens étant représentatifs d’une succession temporelle entre tâches exécutées à partir de traces informatiques d’exécution du processus, puis la détermination (36, 38) de liens concurrents associés à des tâches concurrentes exécutées au moins partiellement dans un même intervalle temporel prédéterminé, et l’obtention et l’affichage (42, 44) d’un graphe simplifié représentatif d’un modèle global du processus comportant des éléments graphiques sélectionnables par un opérateur pour obtenir des informations statistiques sur les liens concurrents. Figure pour l'abrégé : Figure 2

Description

Procédé et système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes
La présente invention concerne un procédé et un système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes.
L’invention se situe dans le domaine de l’analyse de performances et de l’optimisation des processus mis en œuvre par des systèmes informatiques, par exemple en entreprise.
Un des objectifs recherchés est d’identifier les goulots d’étranglement dans les processus mis en œuvre, qui impliquent des ralentissements dans les traitements ou une sur-utilisation des ressources calculatoires et des ressources mémoire disponibles. Cela permet ensuite de modifier et d’optimiser les processus mis en œuvre.
Une telle problématique se pose dans diverses applications, notamment dans les processus mis en œuvre en entreprise ou en usine, pour la réalisation de biens ou de services. En effet, à l’heure actuelle les entreprises utilisent des systèmes informatiques complexes, comprenant des réseaux d’entreprise, et les processus mis en œuvre, comportant l’exécution de tâches logicielles, de manière séquentielle ou de manière sensiblement parallèle, sont également nombreux et complexes. Le besoin de développer des outils pour analyser automatiquement les processus mis en œuvre s’est fait sentir.
Le domaine de l’analyse automatique de processus mis en œuvre par des systèmes informatiques est connu sous le nom de « process mining ».
La norme internationale ISO/CEI 19510 définit un modèle de procédé d’affaires et notation (BPMN pour « Business Process Model and Notation »), associé à une méthode de modélisation de processus d’affaires sous forme de représentation graphique.
Un des problèmes qui n’a pas été résolu est la détermination des tâches concurrentes d’un processus, c’est-à-dire exécutées au moins en partie dans un même intervalle temporel, et la mise en exergue de telles tâches de manière compréhensible et exploitable par des opérateurs qui ne sont pas des spécialistes du domaine du « process mining ».A cet effet, l’invention propose, selon un aspect, un procédé de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes, l’exécution desdits processus par le système informatique générant des traces informatiques d’exécution de tâches, enregistrées dans une mémoire du système informatique, le procédé de traitement étant mis en œuvre par un processeur de calcul. Le procédé comporte des étapes consistant à, pour chaque processus traité:
pour au moins une instance d’exécution dudit processus,
-obtenir, à partir de traces informatiques enregistrées, des données comportant, pour chaque tâche exécutée, au moins un label descriptif de tâche, une date de début d’exécution et une date de fin d’exécution,
-calculer, en utilisant lesdites données, un modèle de représentation du processus exécuté, sous forme de graphe comportant des nœuds et des liens entre lesdits nœuds, les liens étant représentatifs d’une succession temporelle entre tâches exécutées,
-déterminer des liens concurrents associés à des tâches concurrentes exécutées au moins partiellement dans un même intervalle temporel prédéterminé,
et obtenir et afficher un graphe simplifié représentatif d’un modèle global du processus à partir des graphes obtenus pour des instances d’exécution du processus, ledit graphe simplifié comportant des éléments graphiques sélectionnables par un opérateur pour obtenir des informations statistiques sur les liens concurrents.
Avantageusement, le procédé de traitement de processus selon l’invention permet de déterminer par calcul la présence de tâches concurrentes et propose un affichage de graphe simplifié, plus facile à interpréter par un opérateur.
Le procédé de traitement de processus selon l’invention peut présenter une ou plusieurs des caractéristiques ci-dessous, prises indépendamment ou selon toutes les combinaisons acceptables.
Le calcul d’un modèle de représentation du processus sous forme de graphe comporte, pour chaque instance d’exécution dudit processus, une première étape d’ordonnancement des tâches effectuées, en fonction des dates de début de tâche, rangées dans un ordre croissant.
Le calcul d’un modèle de représentation du processus comporte la génération d’un graphe complet, pour chaque instance d’exécution dudit processus, comportant des nœuds de début, de fin et des nœuds intermédiaires représentatifs de tâches exécutées et associés aux labels descriptifs des tâches exécutées, lesdits nœuds étant liés par des liens.
Le graphe complet comporte en outre des nœuds de liaison, placés entre un nœud associé à une tâche ayant plusieurs prédécesseurs et ses prédécesseurs ou entre un nœud associé à une tâche ayant plusieurs successeurs et ses successeurs.
Le procédé comporte en outre un calcul d’un graphe simplifié pour chaque instance d’exécution du processus.
Le procédé comporte pour chaque instance d’exécution du processus, un calcul d’une structure de données comportant des indications de concurrence entre liens dans ladite instance d’exécution du processus.
Le procédé comporte un calcul d’informations statistiques sur des liens concurrents du processus en utilisant les structures de données calculées pour chaque instance d’exécution du processus.
Les informations statistiques comprennent un ratio de concurrence pour chaque paire de liens concurrents calculé en fonction d’un nombre total d’instances d’exécution du processus.
Les éléments graphiques sélectionnables sont les liens du graphe simplifié.
Selon un autre aspect, l’invention concerne un système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes, l’exécution desdits processus par le système informatique générant des traces informatiques d’exécution de tâches, enregistrées dans une mémoire du système informatique. Le système de traitement comporte un processeur de calcul configuré pour mettre en œuvre, pour chaque processus traité:
pour au moins une instance d’exécution dudit processus,
-un module d’obtention, à partir de traces informatiques enregistrées, de données comportant, pour chaque tâche exécutée, au moins un label représentatif de tâche, une date de début d’exécution et une date de fin d’exécution,
-un module de calcul, en utilisant lesdites données, d’un modèle de représentation du processus exécuté, sous forme de graphe comportant des nœuds et des liens entre lesdits nœuds, les liens étant représentatifs d’une succession temporelle entre tâches exécutées,
-un module de détermination de liens concurrents associés à des tâches concurrentes exécutées au moins partiellement dans un même intervalle temporel prédéterminé,
-un module d’obtention et d’affichage d’un graphe simplifié représentatif d’un modèle global du processus à partir des graphes obtenus pour des instances d’exécution du processus, ledit graphe simplifié comportant des éléments graphiques sélectionnables par un opérateur pour obtenir des informations statistiques sur les liens concurrents.
Selon un autre aspect, l’invention concerne un produit programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont mises en œuvre par un ordinateur, mettent en œuvre un procédé de traitement de processus tel que brièvement décrit ci-dessus.
D’autres caractéristiques et avantages de l’invention ressortiront de la description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux figures annexées, parmi lesquelles :
la figure 1 illustre schématiquement un système de traitement de processus mis en œuvre par un système informatique selon un mode de réalisation;
la figure 2 est un synoptique des principales étapes d’un procédé de traitement de processus selon un mode de réalisation;
la figure 3 représente une table de données extraites de traces d’exécution d’une première instance d’exécution d’un processus dans un cas d’application ;
la figure 4 représente un graphe complet correspondant au cas d’application de la figure 3 ;
la figure 5 représente un graphe simplifié correspondant au cas d’application de la figure 3 ;
la figure 6 représente une matrice de liens concurrents correspondant au cas d’application de la figure 3 ;
la figure 7 représente une table de données extraites de traces d’exécution d’une deuxième instance d’exécution d’un processus ;
la figure 8 représente un graphe simplifié correspondant au cas d’application de la figure 7 ;
la figure 9 représente une matrice de liens concurrents correspondant au cas d’application de la figure 7 ;
la figure 10 représente une matrice globale de liens concurrents ;
la figure 11 représente un graphe simplifié affiché correspondant au cas d’application des figures 3 et 7.
La figure 1 illustre schématiquement un système de traitement de processus 2 selon un mode de réalisation de l’invention, qui traite un ou plusieurs processus exécutés par un système informatique 4, qui exécute des tâches logicielles 6, séquentielles ou concurrentes, l’exécution desdits processus par le système informatique générant des traces informatiques 10 d’exécution de tâches qui sont mémorisées dans une mémoire 8 du système informatique 4.
Les processus exécutés sont inhérents au système informatique 4, ou définis par l’utilisateur dans le cadre d’une application à effectuer.
Chaque processus est exécuté en plusieurs instance d’exécution.
Pour chaque instance d’un processus, des tâches logicielles 6 séquentielles ou concurrentes sont exécutées, et des traces informatiques 10 d’exécution sont mémorisées.
Le système informatique 4 est par exemple un système d’entreprise, comportant une pluralité d’ordinateurs connectés dans un réseau local.
Les traces d’exécution 10 sont par exemple des mémorisées dans des fichiers formatés selon le format CSV (pour « Coma Separated Values »), ou tout autre format de fichier approprié.
Pour la suite, le traitement d’un processus à partir d’une pluralité d’instances d’exécution de ce processus sera décrit.
Bien entendu, l’invention s’applique de manière analogue pour le traitement d’un nombre quelconque de processus différents.
Pour une tâche donnée, la trace d’exécution comprend un identifiant unique de l’exécution d’un processus, ou identifiant d’une instance du processus, et pour chaque tâche exécutée, une date de début d’exécution, une date de fin d’exécution, et un label descriptif de la tâche.
Le système de traitement de processus 2 selon l’invention comprend un dispositif électronique programmable 12, typiquement un ordinateur, comprenant un ou plusieurs processeurs de calcul, aptes à exécuter des calculs et des instructions de code de programme d’ordinateurs lorsqu’ils sont mis sous tension.
Le dispositif programmable comporte ou est connecté à une unité de mémoire électronique 14 et à une interface homme-machine 16. L’interface homme-machine 16 est par exemple un écran tactile, configuré pour l’affichage et la réception de saisies d’un opérateur.
Les éléments 12, 14, 16 sont connectés via des bus de communication.
Le dispositif programmable 12 met en œuvre des modules d’obtention 18 de traces d’exécution de tâches, de calcul 20 de modèle de représentation d’un processus sous forme de graphe, de mémorisation 22 dans une base de données, de calcul 24 de graphe simplifié, de calcul 26 de statistiques de liens concurrents et d’affichage 28 d’un graphe simplifié comportant des objets graphiques sélectionnables.
Les modules 18, 20, 22, 24, 26, 28, mettant en œuvre un procédé de traitement de processus selon l’invention, sont par exemple des modules logiciels, comportant des instructions de code exécutables. Le procédé de traitement de processus de l’invention est alors réalisé par un programme d’ordinateur, apte à être enregistré sur un support, non représenté, lisible par ordinateur. Le support lisible par ordinateur est par exemple, un médium apte à mémoriser les instructions électroniques et à être couplé à un bus d’un système informatique. A titre d’exemple, le support lisible est un disque optique, un disque magnéto-optique, une mémoire ROM, une mémoire RAM, tout type de mémoire non-volatile (par exemple EPROM, EEPROM, FLASH, NVRAM), une carte magnétique ou une carte optique.
En variante non représentée, les modules 18, 20, 22, 24, 26, 28 sont réalisés chacun sous forme d’un composant logique programmable, tel qu’un FPGA (de l’anglaisField Programmable Gate Array), un GPU (processeur graphique) ou un GPGPU (de l’anglais General-purpose processing on graphics processing), ou encore sous forme d’un circuit intégré dédié, tel qu’un ASIC (de l’anglaisApplication Specific Integrated Circuit).
Le procédé de traitement de processus selon l’invention comporte plusieurs étapes. La figure 2 est un synoptique des principales étapes du procédé dans un mode de réalisation de l’invention.
Le procédé comprend deux phases, une phase 35 de calcul de graphe représentatif d’un modèle de processus à partir d’instances d’exécution du processus et une phase 45 de génération et d’affichage d’un graphe simplifié représentatif d’un modèle du processus.
Les étapes de la première phase 35 sont exécutées pour chaque instance d’exécution d’un processus.
La première phase 35 comprend une première étape 30 d’obtention, à partir des traces informatiques d’exécution du processus, de données comportant, pour chaque tâche exécutée, au moins un identifiant d’instance d’exécution de processus, et pour chaque tâche exécutée, une date de début d’exécution et une date de fin d’exécution, et un label descriptif de tâche.
Ensuite une étape 32 de calcul de modèle sous forme de graphe, comportant une détection des tâches concurrentes et des tâches successives est mise en œuvre.
Un exemple pour une instance d’un processus traité est illustré en référence aux figures 3 à 5.
La figure 3 illustre, pour cet exemple, des données récupérées à partir de traces informatiques, sous forme de tableau 50.
Dans cet exemple le tableau 50 comporte 4 colonnes, respectivement une colonne 52 comportant un identifiant d’instance de processus (ID1,0dans la figure 3), une colonne 54 comportant une date de début d’exécution d’une tâche, une colonne 56 comportant une date de fin d’exécution d’une tâche et une colonne 58 comportant un label descriptif de la tâche exécutée.
Dans l’exemple de la figure 3, toutes les tâches listées appartiennent à une même instance de processus.
Les lignes du tableau correspondent à des traces t1à tN, N étant le nombre de traces.
Les dates sont, dans l’exemple de la figure 3, exprimées sous forme de jour/mois/année et « heure : minutes : secondes ». Bien entendu, des formats alternatifs de représentation des dates sont utilisables en variante.
La plage d’exécution d’une tâche est la plage temporelle comprise entre la date de début d’exécution et la date de fin d’exécution.
Deux tâches sont considérées comme étant concurrentes si leur plages d’exécution respectives se chevauchent.
En d’autres termes, deux tâches sont concurrentes si la date de début de l’une est inférieure à la date de fin de l’autre.
Dans l’exemple de la figure 3, on constate que les tâches « order » et « send documents » sont des tâches concurrentes, ainsi que les tâches « billing » et « production ».
L’étape de calcul 32 comprend un ordonnancement des tâches selon l’ordre des dates de début de tâche croissant, puis l’ordre des dates de fin de tâches croissant, puis la mise en œuvre d’un algorithme permettant de générer un graphe représentatif des tâches concurrentes et des tâches successives, formalisé selon le standard BPMN.
Le modèle ainsi calculé est mémorisé lors d’une étape de mémorisation 34, de préférence dans une base OLAP (pour « Online Analytical Processing »).
Un exemple de graphe représentant l’instance de processus défini par les traces données en exemple à la figure 3 est illustré à la figure 4.
Le graphe 60 comprend des nœuds de début 62, de fin 64, et des nœuds intermédiaires 66 et des liens 65.
Les nœuds intermédiaires 66 sont représentatifs de tâches exécutées, et ils sont associés aux labels descriptifs des tâches.
Le graphe comprend également des nœuds de liaison 68, 70, 72, 74 qui sont d’un premier type, GATEWAY_AND_SPLIT (nœuds 68), d’un deuxième type, GATEWAY_AND_JOIN (nœuds 70) selon la terminologie de BPMN, ou d’un troisième type GATEWAY_XOR-SPLIT (nœud 72).
Les nœuds de liaison de troisième type, introduits spécifiquement, sont placés entre une tâche ayant plusieurs prédécesseurs et ses prédécesseurs, ou entre une tâche ayant plusieurs successeurs et ses successeurs.
Les nœuds du graphe sont liés par des liens orientés, représentés par des flèches sur la figure 4. Un lien entre deux nœuds représente une succession temporelle d’exécution des tâches associées.
Le graphe complet de modélisation des tâches du processus calculé est ensuite simplifié dans la phase 45 de simplification et d’affichage du procédé de traitement selon l’invention, permettant d’afficher un graphe simplifié, comportant des éléments graphiques sélectionnables par un opérateur pour obtenir des informations statistiques sur les liens concurrents.
On appelle liens concurrents des liens du graphe qui relient des nœuds associés à des tâches concurrentes dans au moins une instance d’exécution du processus. La concurrence est déterminée par paires de liens, comme expliqué plus en détail ci-après.
La phase de simplification et d’affichage 45 comporte une étape 36 de calcul de liens simplifiés entre nœuds correspondant à des tâches exécutées, ou aux nœuds de début et de fin du graphe. Un graphe simplifié par instance du processus peut être généré.
Se référant à l’exemple de processus décrit ci-dessus en lien avec les figures 3 et 4, le graphe 80 simplifié est illustré à la figure 5. Dans ce graphe, neuf liens, notés L1à L9sont distingués, certains de ces liens étant des liens concurrents : les liens L1et L2, les liens L3et L4, les liens L5et L6, les liens L7et L8.
Pour les liens concurrents, pour chaque instance du processus, une structure de données comportant des indications de concurrence est calculée et mémorisée à l’étape 38.
Dans le mode de réalisation illustré, la structure de données est une matrice. Pour une instance d’un processus, la présence ou l’absence de concurrence est indiquée dans la matrice, par un « un » en cas de concurrence, et par un « zéro » en cas d’absence de concurrence.
La figure 6 illustre une matrice binaire M1indiquant la présence de liens concurrents. Dans cette matrice, un « 1 » indique que deux liens sont concurrents, et un « 0 » indique l’absence de concurrence entre deux liens.
Dans un mode de réalisation alternatif, il est envisagé d’indiquer, pour une instance de processus, un ratio de concurrence basé par exemple sur la proportion de chevauchement des plages temporelles d’exécution des tâches concurrentes correspondant au lien par rapport à une plage temporelle d’exécution des deux tâches.
Les étapes 30 à 38 sont répétées pour une pluralité de P instances d’un même processus.
Pour chaque instance du processus, à l’issue de l’étape 38 on obtient un graphe simplifié
A titre d’exemple, les figures 7 à 9 illustrent un exemple d’une autre instance d’un même processus que celui illustré aux figures 3 à 6.
La figure 7 représente des données récupérées à partir de traces informatiques pour l’instance du processus identifiée par l’identifiant d’instance de processus ID1,1sous forme de tableau 50’, analogue au tableau 50 de la figure 3. Comme dans l’exemple de la figure 3, le tableau 50’ liste des tâches ayant une date de début de tâche, une date de fin de tâche et un label descriptif de la tâche exécutée. Dans l’exemple de la figure 7, on constate que les tâches « billing » et « production » sont concurrentes. La tâche « send documents » est, dans cet exemple, effectuée avant la tâche « order ».
Bien entendu, les exemples présentés sont largement simplifiés pour faciliter la compréhension. On comprend que dans des cas d’application réels, divers changements d’ordre d’exécution de tâches peuvent se produire.
La figure 8 illustre un graphe simplifié 80’ correspondant à l’instance du processus d’identifiant ID1,1 dont les traces d’exécution sont montrées dans la figure 7. Le graphe simplifié 80’ comporte des liens L2à L9, analogues à ceux du graphe 80, ainsi qu’un lien L10entre la tâche « Send documents » et la tâche « Order », qui est nouveau pour cette instance du processus. Dans ce graphe 80’, les liens concurrents sont les liens L5et L6, les liens L7et L8.
La figure 9 illustre une matrice binaire M2indiquant la présence de liens concurrents pour l’instance du processus d’identifiant ID1,1. Dans cette matrice, un « 1 » indique que deux liens sont concurrents, et un « 0 » indique l’absence de concurrence entre deux liens.
De retour à la figure 2, l’étape 38 de calcul et mémorisation d’une structure de données indiquant les liens concurrents par instance d’un processus est suivie d’une étape 40 de calcul et mémorisation de statistiques de liens concurrents pour le processus, à partir des structures de données calculées précédemment pour chaque instance du même processus.
Par exemple, si l’indication de la concurrence des liens est indiquée par des matrices binaires comme illustré aux figures 6 et 9, une somme des matrices est effectuée à l’étape de calcul 40 pour obtenir une matrice globale comportant des indications relatives aux liens concurrents.
La matrice globale MGobtenue à partir des matrices M1 et M2 est représentée à la figure 10.
Un ratio de concurrence pour chaque lien est ensuite calculé en divisant le nombre de concurrences entre deux liens par le nombre total P d’instances du processus sommées.
Finalement, un graphe simplifié représentatif d’un modèle global du processus est calculé à l’étape 42, à partir de l’ensemble des liens simplifiés déterminés et de la matrice globale calculée à l’étape 40.
Pour chaque lien de ce graphe, un ratio de concurrence avec un ou plusieurs autres liens du graphe a été calculé.
Enfin, à l’étape 44 est affiché le graphe simplifié calculé à l’étape 42. L’affichage graphique comprend des éléments graphiques sélectionnables par l’utilisateur, leur sélection permettant d’obtenir des informations statistiques sur les liens concurrents, en particulier le ratio de concurrence, ainsi que d’autres informations, par exemple la durée moyenne entre les deux tâches associées au lien.
La figure 11 illustre le graphe simplifié 90 calculé à l’étape 42 et affiché à l’étape 44, dans un exemple de réalisation. Le graphe 90 regroupe les graphes simplifiés 80 et 80’, de manière à illustrer tous les liens possibles entre les tâches du processus, selon les instances du processus dont les traces ont été traitées par le procédé décrit ci-dessus. Le graphe 90 comporte des éléments graphiques sélectionnables 92. Ces éléments graphiques sélectionnables sont mis en exergue par un affichage spécifique, par exemple une surbrillance, une couleur particulière. Dans l’exemple illustré, tous les liens sont mis en exergue en gras et sont des éléments graphiques sélectionnables.
Suite à une sélection par un opérateur, des informations statistiques sont affichées.
Par exemple, une fenêtre d’information 94 est affichée suite à la sélection d’un élément graphique sélectionnable 92 correspondant à un lien.
Dans l’exemple illustré, suite à la sélection de l’élément graphique sélectionnable correspondant au lien L2, l’information affichée est la fréquence de ce lien, qui est égale à 2 et le ratio de concurrence qui est de 50%.
En complément, des informations statistiques supplémentaires sont affichées, par exemple la durée moyenne, minimale et maximale entre les tâches qui sont reliées par le lien concerné.
Avantageusement, l’invention permet de calculer efficacement et d’afficher des informations concernant des liens concurrents entre les tâches concurrentes, et d’afficher ces informations de manière ergonomique pour un opérateur. Ainsi, l’optimisation des processus est largement facilitée, qu’il s’agisse de processus d’entreprise ou de processus de fabrication.

Claims (11)

  1. Procédé de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes, l’exécution desdits processus par le système informatique générant des traces informatiques d’exécution de tâches, enregistrées dans une mémoire du système informatique, le procédé de traitement étant mis en œuvre par un processeur de calcul et étant caractérisé en ce qu’il comporte des étapes consistant à, pour chaque processus traité:
    pour au moins une instance d’exécution dudit processus,
    -obtenir (30), à partir de traces informatiques enregistrées, des données comportant, pour chaque tâche exécutée, au moins un label descriptif de tâche, une date de début d’exécution et une date de fin d’exécution,
    -calculer (32, 34), en utilisant lesdites données, un modèle de représentation du processus exécuté, sous forme de graphe comportant des nœuds et des liens entre lesdits nœuds, les liens étant représentatifs d’une succession temporelle entre tâches exécutées,
    -déterminer (36, 38) des liens concurrents associés à des tâches concurrentes exécutées au moins partiellement dans un même intervalle temporel prédéterminé,
    et obtenir et afficher (40, 42, 44) un graphe simplifié (90) représentatif d’un modèle global du processus à partir des graphes obtenus pour des instances d’exécution du processus, ledit graphe simplifié (90) comportant des éléments graphiques sélectionnables (92) par un opérateur pour obtenir des informations statistiques sur les liens concurrents.
  2. Procédé selon la revendication 1, dans lequel le calcul d’un modèle de représentation du processus sous forme de graphe comporte, pour chaque instance d’exécution dudit processus, une première étape d’ordonnancement des tâches effectuées, en fonction des dates de début de tâche, rangées dans un ordre croissant.
  3. Procédé selon l’une des revendications 1 ou 2, dans lequel le calcul d’un modèle de représentation du processus comporte la génération d’un graphe complet (60), pour chaque instance d’exécution dudit processus, comportant des nœuds de début, de fin et des nœuds intermédiaires représentatifs de tâches exécutées et associés aux labels descriptifs des tâches exécutées, lesdits nœuds étant liés par des liens.
  4. Procédé selon la revendication 3, dans lequel ledit graphe complet comporte en outre des nœuds de liaison (68, 70, 72, 74), placés entre un nœud associé à une tâche ayant plusieurs prédécesseurs et ses prédécesseurs ou entre un nœud associé à une tâche ayant plusieurs successeurs et ses successeurs.
  5. Procédé selon l’une des quelconque revendications 3 ou 4, comportant en outre un calcul d’un graphe simplifié pour chaque instance d’exécution du processus.
  6. Procédé selon l’un quelconque des revendications 1 à 5, comportant, pour chaque instance d’exécution du processus, un calcul (38) d’une structure de données (M1, M2) comportant des indications de concurrence entre liens dans ladite instance d’exécution du processus.
  7. Procédé selon la revendication 6, comportant un calcul d’informations statistiques (40) sur des liens concurrents du processus en utilisant les structures de données calculées pour chaque instance d’exécution du processus.
  8. Procédé selon la revendication 7, dans lequel lesdites informations statistiques comprennent un ratio de concurrence pour chaque paire de liens concurrents calculé en fonction d’un nombre total d’instances d’exécution du processus.
  9. Procédé selon l’une quelconque des revendications 1 à 8, dans lequel lesdits éléments graphiques sélectionnables (92) sont les liens du graphe simplifié.
  10. Produit programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont mises en œuvre par un dispositif programmable, mettent en œuvre un procédé de traitement de processus selon l’une quelconque des revendications 1 à 9.
  11. Système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes, l’exécution desdits processus par le système informatique générant des traces informatiques d’exécution de tâches, enregistrées dans une mémoire du système informatique, le système de traitement étant caractérisé en ce qu’il comporte un processeur de calcul configuré pour mettre en œuvre, pour chaque processus traité:
    pour au moins une instance d’exécution dudit processus,
    -un module (18) d’obtention, à partir de traces informatiques enregistrées, de données comportant, pour chaque tâche exécutée, au moins un label représentatif de tâche, une date de début d’exécution et une date de fin d’exécution,
    -un module (20) de calcul, en utilisant lesdites données, d’un modèle de représentation du processus exécuté, sous forme de graphe comportant des nœuds et des liens entre lesdits nœuds, les liens étant représentatifs d’une succession temporelle entre tâches exécutées,
    -un module (26) de détermination de liens concurrents associés à des tâches concurrentes exécutées au moins partiellement dans un même intervalle temporel prédéterminé,
    -un module (28) d’obtention et d’affichage d’un graphe simplifié (90) représentatif d’un modèle global du processus à partir des graphes obtenus pour des instances d’exécution du processus, ledit graphe simplifié (90) comportant des éléments graphiques sélectionnables par un opérateur pour obtenir des informations statistiques sur les liens concurrents.
FR1910731A 2019-09-27 2019-09-27 Procédé et système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes Withdrawn FR3101459A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1910731A FR3101459A1 (fr) 2019-09-27 2019-09-27 Procédé et système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes
US17/031,836 US20210096912A1 (en) 2019-09-27 2020-09-24 Method and system for processing of computer system processes implemented by executing sequential or concurrent tasks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1910731A FR3101459A1 (fr) 2019-09-27 2019-09-27 Procédé et système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes
FR1910731 2019-09-27

Publications (1)

Publication Number Publication Date
FR3101459A1 true FR3101459A1 (fr) 2021-04-02

Family

ID=69699956

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1910731A Withdrawn FR3101459A1 (fr) 2019-09-27 2019-09-27 Procédé et système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes

Country Status (2)

Country Link
US (1) US20210096912A1 (fr)
FR (1) FR3101459A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0422945A2 (fr) * 1989-10-13 1991-04-17 International Business Machines Corporation Manipulation de données de trace de traitement en parallèle
DE19710252A1 (de) * 1996-08-23 1998-02-26 Fujitsu Ltd Verfahren zur sichtbaren Darstellung von Ergebnissen der Leistungsüberwachung und -Analyse in einem Parallelrechnersystem
WO2000038048A2 (fr) * 1998-12-23 2000-06-29 Cray Inc. Analyse des performances de parallelisme a partir d'informations relatives a la trace

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8756044B2 (en) * 2005-05-31 2014-06-17 The Mathworks, Inc. Graphical partitioning for parallel execution of executable block diagram models
JP6435044B2 (ja) * 2014-07-11 2018-12-05 テクスチュラ・コーポレイションTextura Corporation 建設プロジェクトの業績管理
US10909484B2 (en) * 2017-06-20 2021-02-02 Microsoft Technology Licensing, Llc Dynamic directed graph workflows
US11385954B2 (en) * 2019-01-28 2022-07-12 Yahoo Assets Llc Graphical management of big data pipelines

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0422945A2 (fr) * 1989-10-13 1991-04-17 International Business Machines Corporation Manipulation de données de trace de traitement en parallèle
DE19710252A1 (de) * 1996-08-23 1998-02-26 Fujitsu Ltd Verfahren zur sichtbaren Darstellung von Ergebnissen der Leistungsüberwachung und -Analyse in einem Parallelrechnersystem
WO2000038048A2 (fr) * 1998-12-23 2000-06-29 Cray Inc. Analyse des performances de parallelisme a partir d'informations relatives a la trace

Also Published As

Publication number Publication date
US20210096912A1 (en) 2021-04-01

Similar Documents

Publication Publication Date Title
CN113420009B (zh) 一种基于大数据的电磁数据分析装置、系统及方法
JP5238937B2 (ja) セグメンテーション定義の作成
US9495775B2 (en) System and method for visualization of categories
WO2022142042A1 (fr) Procédé et appareil de détection de données anormales, dispositif informatique et support de stockage
FR3105862A1 (fr) PROCEDE ET système DE SELECTION D’UN MODELE D’apprentissage AU SEIN D’UNE PLURALITE DE MODELES D’apprentissage
CN111460611B (zh) 水环境污染分析方法、装置、设备及存储介质
CN110688106A (zh) 基于可视化配置的量化交易策略编写方法及装置
CN111367872A (zh) 用户行为分析方法、装置、电子设备及存储介质
CN108170830B (zh) 群组事件数据可视化方法及系统
CN114495137B (zh) 票据异常检测模型生成方法与票据异常检测方法
FR3105863A1 (fr) Procédé ET système de conception d’un modèle de prédiction
BE1024038B1 (fr) Traitement des diamants
WO2020202433A1 (fr) Dispositif de traitement d'informations et programme d'affichage d'historique d'utilisation d'api
FR3038405A1 (fr) Mecanisme d'ordonnancement de traitement par lot
US20190171446A1 (en) Value stream graphs across heterogeneous software development platforms
FR3101459A1 (fr) Procédé et système de traitement de processus mis en œuvre par un système informatique par l’exécution de tâches séquentielles ou concurrentes
Refianti et al. Data Visualization of Climate Patterns in Indonesia Using Python and Looker Studio Dashboard: A Visual Data Mining Approach
US20140372386A1 (en) Detecting wasteful data collection
FR3105844A1 (fr) PROCEDE ET système D’IDENTIFICATION DE VARIABLES PERTINENTES
CN114968237B (zh) 一种可交互式的区域降水量批提取方法
CN115422447A (zh) 应用于信息资源平台的推荐系统及方法
CN117171705B (zh) 数据处理方法及装置
CN112149844B (zh) 维修金额的预测方法、装置、设备和介质
CN116644277B (zh) 交互数据清洗方法、装置和计算机设备
CN121116552A (zh) 作业自动化处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210402

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

ST Notification of lapse

Effective date: 20250506