fouzia bouguerchcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · fouzia bouguerch...

105
FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES ALGEBRES DE PROCESSUS Mémoire présenté à la Faculté des études supérieures de l'Université Laval pour l'obtention du grade de Ma.ître ès Sciences (M-Sc.) Département d'Informatique FACULTÉ DES SCIENCES ET DE GÉNIE UNIVERSITÉ LAVAL Avril 199'7 @ Fouzia Bouguerch , 1997

Upload: others

Post on 23-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

FOUZIA BOUGUERCH

VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES ALGEBRES DE PROCESSUS

Mémoire présenté

à la Faculté des études supérieures de l'Université Laval

pour l'obtention du grade de Ma.ître ès Sciences (M-Sc.)

Département d'Informatique FACULTÉ DES SCIENCES ET DE GÉNIE

UNIVERSITÉ LAVAL

Avril 199'7

@ Fouzia Bouguerch , 1997

Page 2: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Acquisitions and Acquisitions et Bibliographie SeMces seMces bibliographiques

395 Wellington Street 395. nie Wellington Ottawa ON K1A O N 4 OttawaON K1AON4 Canada Canada

The author has granted a non- L'auteur a accordé une licence non exciusive licence allowing the exclusive permettant a la National Library of Canada to Bibliothèque nationale du Canada de reproduce, loan, distribute or sell reproduire, prêter, distn'buer ou copies of this thesis in microform, vendre des copies de cette thèse sous paper or electronic formats. la forme de microfiche/fh, de

reproduction sur papier ou sur format électronique.

The author retains ownership of the L'auteur conserve la propriété du copyright in this thesis. Neither the droit d'auteur qui protège cette thèse. thesis nor substantial extracts fkom it Ni la thèse ni des extraits substantiels may be printed or otherwise de celle-ci ne doivent être imprimés reproduced without the author's ou autrement reproduits sans son permission. autorisation.

Page 3: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

A mes parents. A mes frères, à ma sœur et à mes belles-saeurs.

A tous mes amis. A Gerry.

Page 4: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Résumé

Dans ce mémoire, nous nous intéressons à la vérification formelle de l'un des modèles, le plus populaire des systèmes du travail coopératif (workflows), appelé modèle de réseaux de contrôle d'information (Information Control Nets: ICNs). Ainsi, nous présentons une méthode efficace pour une analyse qualitative et formelle des ICNs. Cette analyse re- pose sur une analogie observée entre les ICNs et les algèbres de processus courantes. En premier lieu, nous considérons les ICNs purs (c'est-à-dire sans leurs aspects don- nées et temporels) et nous les traduisons en des agents de I'algèbre de processus CCS (Calculus of Communicating Systems). En second lieu, nous étendons notre méthode d'analyse en tenant compte, cette fois des aspects temporels des ICNs (les TICNs). Par conséquent, les TICNs sont traduits en des agents de l'algèbre de processus TCCS (Temporal Calculus of Communicating Systems). Dans les deux cas, les agents traduits sont chargés dans l'environnement CWB (Concurrency WorkBench) et les propriétés à vérifier sont exprimées en p-calcul modal et propositionnel. Cette vérification est rédi- sée grâce aux algorithmes de la vérification par évaluation de modèle (rnodel-checking) contenus en CWB.

Abstract In this thesis, we address the formai verification in workflow systems. More precisely, we consider the automatic verification of one of the most prominent workflow models, n d y the Information Control Nets (ICNs) model. We present a powerful method for the qualitative analysis of ICNs. The analysis proposed rests on an observed ana- l o g between ICNs and usual process dgebra. First we consider the pure ICNs (Le. without their data and temporal aspects), so we translate them into CCS (Calculus of Communicating Systems) agents. Next, we consider the ICNs with their temporal aspects (TICNs) and we translate them into TCCS (Temporal Calculus of Commu- nicating Systems) agents. In the two cases, we loaded the translated agents in CWB (Concurrency WorkBench) environment and the properties to be verified are expressed in propositional modal p-calculus. This verification is done thanks to model-checking algo rit hms.

Québec, avril 1997

Fouzia Bouguerch

Etudiante

Page 5: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Remerciements

Je tiens à remercier mon directeur de recherche, M. Mourad Debbabi, Professeur au Département d'Informatique de l'Université Laval, pour m'avoir aidé à réaliser ce travail. Je le remercie chaleureusement pour le support, les conseils et la formation qu'il a su me donner. J'âi acquis beaucoup de connaissances, grâce à ses compétences professionnelles, à sa passion pour la recherche, à sa modestie, à sa disponibilité malgré son emploi du temps très chargé, et à son ouverture d'esprit. Je le remercie encore d'avoir su me motiver, à tout temps pour le travail.

Je remercie infiniment Mme. Nadia Tawbi, Professeure au Département d'Informa- tique de l'université Laval, pour son aide professionnelle et son soutien moral. Je la remercie d'avoir consacré du temps à relire mon travail e t à me prodiguer des conseils judicieux en lien avec mon travail. Je la remercie également d'avoir accepté d'examiner mon mémoire.

Je remercie Mme. Marie-Michèle Boulet, Professeure au Département d'Informa- tique de l'université Laval, et M. Jean Bergeron, Professeur d'université et Directeur des programmes de 2ème et 3ème cycles au Département D'Informatique de l'université Laval, d'avoir aimablement accepté d'évaluer mon mémoire en tant qu'examinateurs.

Je remercie M. Raymond Lamontagne, Professeur au Députement dTnformatique de 1'Univérsité Laval et Directeur du programme du ler cycle, pour le soutien moral et financier qu'il m'a apporté tout au long de ma maîtrise, en m'accordant du travail comme auxiliaire d'enseignement.

Je remercie la Fondation Cardinal Villeneuve et sa presidente Mme. Louise Bérubé, pour les bourses dont j'ai bénéficié.

Enfin, je remercie tous mes collègues du groupe LSFM (Langages, Sémantiques et

Méthodes Formelles) pour l'aide qu'ils m'ont apportée et pour leur sens d'équipe.

Page 6: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Table des matières

Résumé

Remerciements iv

Table des matières v

Liste des tableaux

Liste des figures viii

1 Introduction 1 1.1 Organisation des entreprises et informatisation . . . . . . . . . . . . . . 1

. . . . . . . . . . . . . . . . . . . . . . . 1.2 Systèmes du travail coopératif 2 1.2.1 Recours aux systèmes du travail coopératif . . . . . . . . . . . . 3 1.2.2 Composants d'un système du travail coopératif . . . . . . . . . 4 1.2.3 Modèles des systèmes du travail coopératif . . . . . . . . . . . . 4

1.3 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3.1 Vérification formelle . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4 Approche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.5 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.6 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Les systèmes du travail coopératif 11 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Définitions et concepts des systèmes du travail coopératif . . . . . . . . 14 2.3 Architecture des systèmes du travail coopératif . . . . . . . . . . . . . . 15 2.4 Modèles de représentation des systèmes du travail coopératif . . . . . . 18

2.4.1 Réseaux de Pert . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 . . . . . . . 2.4.1.1 Exemple de la méthode du chemin critique 19

2.4.2 Réseaux à file d'attente . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.2.1 Exemple d'un réseau de serveurs multiples . . . . . . . 21

2.4.3 Organigrammes . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.4.3.1 Exemple d'un organigramme du problème de blé-souris- chats . . . . . . . . . . . . . . . . . . . . . . . . . . ,.., . . 22

2.4.4 Réseaux de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . 23

Page 7: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

2.4.4.1 Exemple d'une procédure d'enregistrement d'une décla- . . . . . . . . . . . . . . . . . . . . . . . . . . . ration d'impôts 25

2.4.5 Réseaux de contrôle d'information (ICNs) . . . . . . . . . . . . 26 2.4.5.1 Exemple d'une procédure d'achat . . . . . . . . . . . . 28

2.5 Analyse quantitative des systèmes du travail coopératif . . . . . . . . . 32 . . . . . . . . . . . . . . 2.5.1 Fonctiondedistributiondeprobabilités 34

2.5.2 Fonction des sous-programmes . . . . . . . . . . . . . . . . . . . 34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Conclusion 35

3 Des ICNs vers l'algèbre de processus CCS 36 3.1 Choix des ICNs comme modèle de représentation . . . . . . . . . . . . 36 3.2 Analogie entre les ICNs et les algèbres de processus . . . . . . . . . . . 38 3.3 Algèbre de processus CCS . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.3.1 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.3.2 Sémantique transitionnelle de CCS . . . . . . . . . . . . . . . . 40

. . . . . . . . . . . . . . . . . . . . . . . 3.3.3 Théorème d'expansion 4% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.4 Bisimulation 43

. . . . . . . . . . . . . . . . . . . 3.4 Traduction des ICNs en algèbre CCS 45 . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Problèmes et solut ions 45 . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Méthode de traduction 47

3.5 Analyse Qualitative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4'7 . . . . . . . . . . . . . . . . . . . . . . . . . 3.5.1 Méthode d'analyse 49

3.5.2 Environnement CWB . . . . . . . . . . . . . . . . . . . . . . . . 50 3.5.3 p-calcul modal . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.5.4 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.6 Exemple d'application de la méthode d'analyse qualitative . . . . . . . 56 3.7 Implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4 Des ICNs vers l'algèbre de processus TCCS 65 4.1 Aspects temporels des ICNs . . . . . . . . . . . . . . . . . . . . . . . . 65 4.2 Algèbre de processus TCCS . . . . . . . . . . . . . . . . . . . . . . . . 67

4.2.1 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.2.2 Sémantique du TCCS . . . . . . . . . . . . . . . . . . . . . . . . 70 4.2.3 Théorème d'expansion . . . . . . . . . . . . . . . . . . . . . . . 72

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.4 Bisimtdation 73 4.3 Traduction en algèbre de TCCS . . . . . . . . . . . . . . . . . . . . . . 75 4.4 Analyse qualitative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.5 Exemple d'application de la méthode d'analyse qualitative . . . . . . . 80 4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

5 Conclusion 87

Bibliographie 89

Page 8: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Liste des tableaux

Liste de produits des systèmes du travail coopératif . . . . . . . . . . . . 13 La sémantique transitionnelle de CCS . . . . . . . . . . . . . . . . . . . 40 Exemple d'une session du travail en CWB . . . . . . . . . . . . . . . . . 51 Caractérisation équationnelle . . . . . . . . . . . . . . . . . . . . . . . . 55 Liste de commandes en CWB . . . . . . . . . . . . . . . . . . . . . . . . 59 La sémantique transitio~eile de TCCS . . . . . . . . . . . . . . . . . . 71 Les lois équationnelles de l'opérateur + . . . . . . . . . . . . . . . . . 73 Les lois équationneiles de l'opérateur @ . . . . . . . . . . . . . . . . . 73 Les lois équatio~elles de l'opérateur de la Composition Pardlèle . . . . 74 Liste de commandes en CWB . . . . . . . . . . . . . . . . . . . . . 83

vii

Page 9: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Liste des figures

1.1 Cadre proposé d'analyse qualitative et formelle . . . . . . . . . . . . . . S

. . . . . . . . . . 2.1 Une Taxonomie de temps/espace des outils de groupes 12 . . . . . . . . . . . . . . 2.2 Architecture d'un système du travail coopératif 17

. . . . . . . . . . . . . . . . . . . . . . . 2.3 U n graphe d'un chemin critique 20 . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Un réseau de file d'attente 21

. . . . . . . . . . . . . . 2.5 Organigramme du problème de blé-souris.chats 24 . . . . . . . . . . . . . 2.6 Un réseau de Petri pour la déclaration des impôts 25

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 Les primitifs des ICNs 27 . . . . . . . . . . . . . . . . . . . . . . . . . 2.8 Les répertoires des données 28

2.9 Un ICN qui modélise une procédure d'achat . . . . . . . . . . . . . . . . 30 2.10 Description détaillée de la sélection d'un fournisseur . . . . . . . . . . . 31

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11 Distribution des rôles 33

3.1 Les combinateurs de base d'un ICN . . . . . . . . . . . . . . . 37 3.2 Le schéma de traduction du séquencement des processus . . . . . . . . . 46 3.3 Le schéma de la traduction des ICNs en agents CCS . . . . . . . . . . . 48 3.4 Le schéma de l'analyse qualitative . . . . . . . . . . . . . . . . . . . . . 49

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 U n ICN complexe 54 3.6 Exemple d'un ICN pur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.7 Définition d'un système du travail coopératif . . . . . . . . . . . . . . . 58 3.8 Génération d'équations dgébriques . . . . . . . . . . . . . . . . . . . . . 60 3.9 Vérification par évaluation de modèle en CWB . . . . . . . . . . . . . . 61 3.10 Exécution d'autres commandes en CWB . . . . . . . . . . . . . . . . 63

4.1 Les combinateurs de base d'un TICN . . . . . . . . . . . . . . . . 66 4.2 Un TICN qui modélise une procédure d'achat . . . . . . . . . . . . . . . 68 4.3 Le schéma de la traduction du séquencement des processus . . . . . . . . 77 4.4 Le schéma de la traduction des TICNs en agents TCCS . . . . . . . . . 79 4.5 Le schéma de l'analyse qualitative . . . . . . . . . . . . . . . . . . . . . 80 4.6 Exemple d'un ICN temporisé . . . . . . . . . . . . . . . . . . . . . . . . 81 4.7 Vérification par évaluation de modèle en CWB . . . . . . . . . . . . . . 84 4.8 Exécution d'autres commandes en CWB . . . . . . . . . . . . . . . . 85

Page 10: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Chapitre 1

Introduction

Dans ce chapitre, nous allons présenter les motivations qui nous ont poussés à choisir comme projet de mémoire la vérification formelle des systèmes du travail coopératif. Ces systèmes sont connus en anglais sous le nom de "work£lows". De plus, nous dons décrire brièvement l'approche suivie pour la réalisation de ce projet, ainsi que les contributions que nous avons pu apporter à ce domaine d'études. Cette approche sera détaillée dans les deux derniers chapitres et, bien sûr, nos contributions seront mises en évidence. Mais, tout d'abord, nous d o n s introduire les systèmes du travail coopératif. Cette description sera brève, étant donné que ces systèmes feront l'objet du chapitre suivast.

Notons que la notion des systèmes du travail coopératif est appanie suite à une évolution de l'organisation des entreprises vers l'informatisation. Cette évolution sera décrite dans la section suivante.

1.1 Organisation des entreprises et informatisation

Vers la fin du siècle dernier, Frederick Taylor [Den941 a proposé le principe de la ges- tion scientifique du travail. Il a exprimé la notion du travail par les mouvements et les activités des travailleurs, qui peuvent être ~lânifiés et optimisés par les gestionnaires. Une cinquantaine d'années après, l'apparition de l'ordinateur a permis de mettre en évidence un parallélisme entre les mouvements et les activités des travailleurs d'un côté, et les flux et les transformations de l'information d'un autre côté. Par conséquent, un travailleur peut être modélisé comme une fonction qui traite une information en entrée, et qui produit une autre en sortie. Or, cette notion d'entrée-sortie du travail considère à peine les processus humains. Ces derniers représentent les processus dans lesquels les gens font des demandes et s'accordent sur le type, le responsable et la date du travail à faire, ainsi que sur le type de la personne qui doit être satisfaite par les résultats de ce travail. Par la suite, pendant les dernières décennies, les organisations dont la techno- logie de l'information était basée sur la notion d'entrée-sortie du travail ont connu une crise de productivité [Den94, Red941. Les organisations ont alors eu recours à la notion de la réorganisation, a h de pouvoir Livrer leurs produits à temps, d'offrir les services qui satisfont régulièrement les consommateurs, de maintenir leur réputation et leur cré- dibilité et d'affronter la compétitivité. Mais, le problème n'est pas dû à la technologie.

Page 11: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

En effet, en automatisant les processus d'affaires et du travail, qui ne sont pas orientés principlement vers la satisfaction du consommateur, les organisations ont augmenté la production de consommateurs non satisfaits. Le problème réside tout simplement dons la conception des processus pour la réalisation des affaires qu'il faut modifier [Den94]. Ainsi, Flores [Flo92] définit la notion du travail comme l'accomplissement des enga- gements par une personne afin d'en satisfaire une autre. Cette notion du travail lie étroitement un consommateur à un exécuteur et met en évidence la notion du travail coopératif (work£lows) [WF94], puisque l'accomplissement d'un engagement nécessite une interaction (formulation d'une demande, négociation, accord, livraison, etc.) entre ces deux partenaires [Den92].

Les systèmes du travail coopératif s'intéressent aux processus organisationnels sui- vants [JAD+94]:

Les processus de production : selon l'interprétation standard du travail, les pro- duits d'une organisation sont sous la forme de matériaux. Ainsi, ces processus traditionnels permettent la circulation de ces matériaux vers des régions pré- cises, où ils seront transformés, manipulés, consommés ou combinés avec d'autres &ment S.

Les processvs d'information : durant les quelques dernières décennies, les orga- nisations se sont interéssées à identifier, étudier et à optimiser leurs processus d'information. Ces processus traitent la circulation d'information vers des régions ou des gens spécifiques, qui la transforment, la manipulent ou la consomment.

Les processus de coordination: actuellement, ces processus sont utilisés pour dé- clancher e t coordonner les processus de production et d'information. Ils traitent les demandes pour exécuter un travail e t les accords concernant le type, le res- ponsable et/ou la date d'exécution du travail. En plus, ils vérifient le degré de la satisfaction d'un consommateur, après l'exécution d'un travail.

Systémes du travail coopératif

Les systèmes du travail coopératif sont un type particulier d'outils de groupes (connus en anglais sous le nom de groupware) [EGRSI]. Ces derniers peuvent être définis comme les systèmes qui aident un groupe de personnes à réaliser une tâche ou un but communs, sous UR environnent partagé [EGWI]. De même, les systèmes du travail coopératif sont conçus pour assister un groupe de personnes dans l'exécution des procédures des tâches. Ils contiennent l'information concernant la circulation et le traitement des tâches à l'intérieur d'une organisation. Un système du travail coopératif est défini comme un système qui aide les organisations à spécifier, exécuter, contrôler et coordonner le flux des éIéments d'une tâche dans un environnement distribué [Lov92, Lov9 O, WysSO].

En général, un système du travail coopératif [Boe94]:

a permet d'automatiser des processus,

Page 12: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

a fait circuler différents documents. Ces documents peuvent contenir des concepts multi-média (hypertextes, des sons, des images et même de courts extraits de füms 1' coordonne et trace les activités exécutées par des acteurs (des personnes ou des agents informatiques) ,

déclenche l'exécution d'un processus par un événement extérieur,

est utilisé, parfois, pour redéfinir des processus déjà existants,

est accessible directement à travers un réseau de communication ou un ordinateur personnel.

1.2.1 Recours aux systèmes du travail coopératif

Historiquement, le recours aux systèmes du travail coopératif a été acheminé comme suit [Boe94]:

Depuis l'année 1970, on a supposé que l'automatisation d'un bureau pouvait être obtenue par un système de bureau intégré qui contenait les fonctions nécessaires pour traiter en sortie les entrées administratives d'une entreprise. Or, jusqu'à l'arrivée de l'ordinateur personnel et des réseaux locaux en 1980, aucun système de bureau intégré ne fonctionnait réellement. Et ce n'est que par la suite que le concept de ces systèmes a été utilisé pour soutenir les structures hiérarchiques.

Durant l'année 1980, les technologies qui permettent la capture électronique, la mémorisation, la récupération et la manipulation des images, se sont développées et étaient peu coûteuses. Ces technologies ont été utilisées dans les systèmes du traitement des images documentaires (les systèmes DIP: Document Image Processing) a h d'augmenter la productivité des entreprises.

Ensuite, la coordination et l'approbation se sont averées nécessaires dms les pro- jets de conception de logiciels afin de compléter et d'implémenter un système. Mais les outils de développement d'un système ont donné plus d'importânce à l'augmentation de la qualité de la programmation, plutôt qu'à la définition et à la gestion de processus.

A la fin de l'année 1980, un ensemble de produits d'outils de groupes ont com- mencé à apparaître. Ils ont été utilisés pour consolider l'architecture d'une en- treprise et ce, afin d'inclure la documentation, d'analyser et de programmer les systèmes réorganisés. Ces produits sont de deux types: ceux qui sont orientés document (conçus pour permettre le partage des documents) et ceux qui sont orientés processus (conçus pour aider des groupes de personnes à exécuter un processus).

Page 13: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

1.2.2 Composants d9un système du travail coop6ratif

Les systèmes du travail coopératif sont constitués de deux composants: un modeleur et un exécuteur.

Le modeleur permet aux administrateurs, utilisateurs et analystes de définir des procédures et des activités, de Les analyser, et de les allouer à des personnes.

L'exécuteur est constitué de clients et de serveurs qui contribuent ensemble à la réalisation de tâches définies par les utilisateurs .

1.2.3 Modeles des systZimes du travail coopératif

Il existe plusieurs modèles de représentation des systèmes du travail coopératif. Ces modèles ont été utilisés dans différentes disciplines. Les principaux modèles de repré- sentation de ces systèmes sont les suivants:

Les réseaux de Pert (KD66, Whi73, NOP95j : ils décrivent comment les processus de fabrication et d'ingénierie peuvent être organisés pour réaliser, construire ou fabriquer un produit.

Les réseaux à file d'attente [Sau83, New82, Gel911 : ils modélisent un système du travail coopératif (workflows) à travers un système de fournisseurs de services en termes de durées des services et de durées entre les arrivées.

Les organigrammes [Sim66, GH771: ils décrivent comment un programme séquen- tiel devrait s'exécuter pour traiter une information.

Les réseaux de Petri de haut niveau (abréviation et extensions) [Gen86, Jen92, Mur89, Pet62, Rei85, NG921: ils représentent les contrôles de flux d'un groupe de processus et l'ordre d'exécution des activités.

Les réseaux de contrôle de l'information (Information Control Nets ou ICNs) [Ell79, Nut72] : ils représentent les flux de contrôle et de données. Ils sont très efficaces pour modéliser une procédure.

Notons qu'une description plus détaillée de ces différents modèles de représentation, sera donnée dans le chapitre suivant.

La prochaine section constitue une description des motifs qui nous ont amenés à nous intéresser à la vérification formelle des systèmes du travail coopératif.

1.3 Motivations Ces dernières années, l'analyse des modèles des systèmes du travail coopératif a sus- cité un intérêt croissant. Notons qu'il existe deux types majeurs de techniques d'ana- lyse de ces modèles: I'andyse quantitative (c'est-à-dire la simulation) et l'analyse

Page 14: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

qualitative (c'est-à-dire la vérification formelle). Or, jusqu'à présent, les modèles des systèmes du travail coopératif ont fait seulement sujet d'une analyse quantitative [FTTSO, JGG92, Joo94, PKC94j. En effet, la simulation est considérée comme une technique d'analyse relativement simple et efficace. Cependant, son inconvénient ma- jeur est l'incapacité de garantir l'exactitude des comportements des procédures de processus, spécialement quand nous nous intéressons au critère de sûreté des proces- sus du travail coopératif. D'où, notre intérêt à développer une analyse qualitative des systèmes du travail coopératif. Cet intérêt est motivé pour les raisons suivantes:

D'abord, vue l'importance croissante des systèmes du travail coopératif au sein des organisations actuelles, la fiabilité des tâches dans ce système, ainsi que la sûreté de ce dernier doivent être assurées. En effet, le moindre dysfonctionnement d'un système du travail coopératif peut affecter plusieurs groupes de personnes et provoquer la perte de sommes énormes, voire même mettre en cause la produ- ctivité des organisations. D'où, le besoin de détecter et corriger les erreurs de la spécification à une étape précoce de la conception des processus d'un système du travail coopératif.

Ensuite, une fois le modèle conçu, son optimisation et sa simplification s'avèrent très bénéfiques. Cela peut avoir un impact significatif aux niveaux organisationnel et financier d'une organisation ainsi qu'au niveau dynamique de l'exécution de ce système.

Enfin, il est crucial de pouvoir garantir le bon fonctionnement d'un modèle op- timisé et sans erreur, avant sa mise en service. Cela signifie qu'il fout valider l'ensemble des comportements possibles du système par rapport aux services qui lui sont demandés.

A ce niveau, nous avons besoin d'analyses qui montrent formellement l'exactitude des comportements pertinents. D'où, la nécessité de recourir à la vérification formelle de ces systèmes.

1.3.1 Vériiication formelle La vérification formelle fournit un moyen d'assurer l'exactitude de la conception des systèmes réactifs concurrents. Elle consiste à vérifier que la description d'un système est conforme à ses propriétés désirées. Ainsi, la vérification est le moyen qui permet d'assurer au concepteur que la description formelle obtenue du système, satisfait bien les exigences requises. Quatre éléments sont nécessaires pour définir un modèle de vérification:

une représentation du système,

0 une représentation de la propriété à vérifier,

une relation de satisfaction qui compare formellement la représentation du sys- tème et la propriété,

Page 15: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

une méthode (de préférence un algorithme) qui permet de réaliser cette compa- raison.

Notons que le mot "vérifier" signifie prouver (mathématiquement) qu'un système satisfait les exigences de son exactitude. En d'autres termes, il faut gazantir que l'im- plémentation d'un système respecte la spécification des propriétés désirées. Nous dis- tinguons deux types de spécifications: comportementales et logiques.

Les spécifications comportementales: elles consistent à décrire un comportement attendu du système et observé à un certain niveau d'abstraction. La vérification d'un système revient à le comparer à sa spécification au moyen d'une relation d'équivalence. Ces relations sont basées sur la bisimulation et la simulation et sont modulées par une notion d'observabilité. Ainsi, elles prennent en considération u n critère d'abstraction qui permet de comparer une description détaillée (celle du système) et une description plus abstraite (celle de la spécification) [Fers$, Mou92, Gra891.

Les spécifications logiques: elles permet tent d'exprimer, d'abord, des propriétés globales sur le fonctionnement du système (comme l'absence de blocage, la termi- naison, l'équité, ...) sous forme d'un ensemble de formules d'une logique souvent temporelle. Ensuite, la validité de l'ensemble de ces formules dans ce système est évaluée (vérification). Ce formalisme de spécification, basé sur les formules temporelles a été proposé par A. Pnueli [Pnu'i7].

alors

a

O

-

Ces deux types de spécifications sont complémentaires. Cependant, vérifier un pro- gramme, revient à définir une relation (d'équivalence ou de préordre d'un côté, et de satisfaction de l'autre), entre le programme et sa spécification. Deux approches sont

possibles:

La première approche, connue sous le nom d'axiomatique, consiste à définir un système déductif qui décrit la relation entre programmes et spécifications. Dans ce système d'axiomes et de règles d'inférence, la vérification devient dors une preuve. Or, si les spécifications sont comportementales, il faudrait axiomatiser complètement l'équivalence choisie (ou le préordre) entre les programmes. Si, pax contre, les spécifications sont logiques, il faudrait définir la relation de satisfaction par induction sur la structure des programmes.

La seconde approche consiste à raisonner s u r Les modèles. Si les spécifications sont comportementales, alors il faut comparer deux modèles modulo une relation d'équivalence ou un préordre [Fer88, Mou92, CPSSO]. Mais, si nous avons des spécifications logiques, nous devons prouver que le modèle du programme est un élément de l'ensemble des modèles de la spécification. Nous utilisons ainsi des techniques de vérification par évaluation de modèle (model-checking), qui consistent à déterminer l'ensemble des états du modèle du système qui satisfont une formule [CE81, CESS6, EL861. La méthode fait intervenir des calculs de points fixes sur des ensembles d'états.

La section suivante représente une brève description de l'approche que nous voulons suivre, pour réaliser la vérification formelle des systèmes du travail coopératif.

Page 16: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

1.4 Approche

Dans notre projet, nous visons à élaborer un cadre d'analyse qualitative et formelle pour les systèmes du travail coopératif (workflows). Pour ce, nous allons utiliser l'un des modèles de représentation de ces systèmes, les plus répandus, qui sont les réseaux de contrôle de l'information (ICNs) [Ell79, Nut721. Ainsi, notre approche consiste en l'élaboration d'une méthode de vérification qualitative et formelle pour le modèle des ICNs. Cette méthode est basée sur l'observation d'une analogie entre les ICNs e t les algèbres de processus courantes. Cette analogie est decri te comme suit:

D'abord, d'un côté, les ICNs sont définis comme un ensemble de procédures. Chaque procédure est constituée d'un ensemble d'activités qui sont reliées entre elles par des contraintes de priorité. De l'autre côté, les algèbres de processus sont caractérisées par des systèmes de transitions où les agents sont identifiés par des états. Une transition d'un état d'un agent vers un autre est accomplie pax une action. D'où, la constatation que les activités des ICNs sont similaires aux actions dans une algèbre de processus.

Puis, dans les ICNs, il existe des nœuds de contrôle qui spécifient les tâches qui peuvent s'écouler des (ou vers des) activités alternées, qumd une activité précédente a été exécutée. Ces nœuds sont appelés les nœuds de contrôle "OUn. Tandis que dans les algèbres de processus, il existe des combinateurs de choix qui lient deux ou plusieurs agents et qui permettent à un agent de s'exécuter. Ainsi, les nœuds de contrôle "OUn sont similaires aux combinateurs de choix.

Ensuite, les ICNs permettent à un flux de contrôle, en sortie, de se diviser de manière que deux ou plusieurs activités puissent séxécuter en parallèle (ou dans n'importe quel ordre). Alors que le flux de contrôle, en entrée, ne circule vers une activité que si et seulement si toutes les activités qui la précèdent sont complète- ment exécutées. Ces nœuds de contrôle sont des nœuds "ET" et sont similaires aux opérateurs de la composition parallèle dans les algèbres de processus.

Finalement dans les ICNs, nous avons la notion de boucle. En effet, l'exécution d'une activité ou plus peut se répéter plusieurs fois selon les contraintes d'exécu- tion. Alors que dans les algèbres de processus, nous avons la notion de récursion qui définit Le fait qu'un agent retrouve son état initial après avoir effectué une transition. D'OU, dans une certaine mesure, les boucles des ICNs sont similaires aux agents définis récursivement.

Grâce à cette analogie, nous allons développer une méthode de traduction qui per- met de traduire un ICN en un agent d'une algèbre de processus. Par la suite, nous allons réaliser la vérification formelle des ICNs au moyen des techniques de vérification par évaluation de modèle (model-checking). Le but de notre projet est représenté par la figure 1.1.

Tout d'abord, une première utilisation de notre méthode peut être motivée par le besoin de vérifier qu'un certain ICN modélisant un processus du travail coopératif,

Page 17: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Traduction Agent d'dgtbre Extraction de procesrus

r 1 v PrOpriCtt Expresrion ,Formule en logique desirte

J modale ct temporelle

b

Traduction Agent d'PgCbre Extraction de procerru,

Figure 1.1: Cadre proposé d'analyse qudi tat ive et formelle.

appelé work f lml satisfait une certaine propriété. Ainsi, nous commençons par traduire le réseau de contrôle d'information en un agent d'algèbre de processus, duquel un modèle de vérification est extrait. Ensuite, la propriété que nous désirons vérifier est exprimée alors, en une formule dans une logique modale et temporelle. Par la suite, la dite propriété à vérifier et l'agent sont soumis comme entrée à un algorithme de vérification par évaluation de modèle. Ce vérificateur produit comme résultat une valeur booléenne (vrai ou faux) qui correspond respectivement à la satisfaction ou non de cette propriété.

Ensuite, une seconde utilisation de notre méthode peut être motivée par le besoin de vérifier que deux ICNs sont équivalents selon une relation d'équivalence exprimée dans une certaine algèbre de processus. La méthode d'analyse illustrée dans cette figure est fort intéressante quand l'un des ICNs peut être une forme optimisée de l'autre. Ainsi, les deux réseaux de contrôle d'information, notés work f lowl et work f lozu2 sont traduits en des agents d'algèbre de processus, d'où un modèle est extrait. Puis les deux agents sont soumis comme entrée à l'algorithme de vérification par évaluation de modèle qui produit encore la valeur booléenne (vrai ou faux).

1.5 Contributions

Grâce à notre projet d'études, nous allons élaborer un cadre d'analyse qualitative et formelle des systèmes du travail coopératif. Cela, constitue un apport très important daas le domaine des systèmes du travail coopératif, étant donné que ce domaine n'a connu, jusquà présent, que des analyses de types quantitatives. Pour réaliser cette analyse qualitative, nous d o n s utiliser des théories qui existent déjà et qui ont prouvé leur efficacité dans plusieurs domaines. Citons par exemple, les réseaux de contrôle d'in- formation [E1179, Nut721, les algèbres de processus CCS (Calculus of Communicating Systems) [MiBo, Mil891, le CWB (Concurrency Workbench) [CPSSO], etc.

Ainsi, en se basant sur le principe de la méthode d'analyse décrite précédemment,

Page 18: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

nous d o n s d'abord développer une méthode de traduction d'un ICN pur (c'est-à-dire sans ses aspects données et temporels) en un agent CCS (Calculus of Communica- ting Systems) (Mi180, Mi1891. Par conséquent, nous allons définir une sémantique opé- rationnelle pour ces ICNs traduits. L'agent traduit sera chargé dans I'environnement CWB. Puis, nous d o n s exprimer les propriétés à vérifier en p-calcul modal et temporel [Koz83, Praûl, Sti87, Sti941. La vérification de ces propriétés se fera grâce aux algo- rithmes de vérification par évaluation de modèle (model-checking) contenus en CWB. Ainsi, nous d o n s pouvoir vérifier, par exemple, Les équivalences comportementales des systèmes du travail coopératif, et des propriétés de sûreté et de vivacité. Par la suite, nous allons étendre notre méthode d'analyse de manière à ce qu'elle tienne en compte les aspects temporels des ICNs. En effet, nous allons traduire un ICN temporisé en un agent TCCS (Temporal Calculus Communicating Systems) [MTSg], définissant ainsi une nouvelle sémantique opérationnelle. Nous allons charger l'agent traduit en CWB et les propriétés à vérifier seront exprimées en p-calcul modal et temporel. Nous al- lons utiliser encore les algorithmes de la vérification par évaluation de modèle pour la vérification des propriétés désirées. Grâce à cette méthode d'analyse qualitative, nous d lons pouvoir mettre en évidence les défaillances et les inconsistances de ces systèmes en détectant les erreurs de conception de leur processus à une étape très précoce. Par la suite, nous d o n s pouvoir optimiser un modèle de réseaux de contrôle d'information représentant les systèmes du travail coopératif. Enfin, nous allons être en mesure de valider tous les comportements possibles de ces systèmes.

Notre mémoire sera structuré de la manière suivante:

1.6 Structure

Le chapitre 2 : il présente une description détaillée des systémes du travail coopéra- tif. En effet, il décrit leur appaxition, définit leurs concepts et présente leur architecture. De plus, il d o ~ e une description illustrée par des exemples, des différents modèles de représentation de ces systèmes. Enfin, il présente un aperçu sur l'analyse quantitaive des systèmes du travail coopératif.

Le chapitre 3: il présente la méthode d'analyse qualitative et formelle des ICNs purs (c'est-à-dire sans leurs aspects données ni temporels). Pour ce, il décrit la méthode de traduction d'un ICN pur en un agent CCS (Colculus of Communicating Systems). Par conséquent, il donne un rappel sur l'algèbre de processus CCS, le CWB (Concur- rency Worbench) et le p-calcul modal et propositiomel. Il présente aussi un exemple d'application de cette méthode d'andyse.

Le chapitre 4: il présente la méthode d'analyse qualitative et formelle des ICNs temporisés (en considérant cette fois leurs aspects temporels). Ainsi, il décrit la méthode de traduction d'un ICN temporisé en un agent TCCS (Temporal Calculus of Cornmu- nicating Systems), avec un rappel sur I'agèbre de processus TCCS. Pour illustrer cette méthode d'analyse qualitative étendue, un exemple d'application sera présenté.

Le chapitre 5: il constitue une conclusion générale de ce mémoire. Ainsi, il rappelle les motivations, l'approche suivie du travail et les contributions de notre projet. Il

Page 19: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

présente aussi une proposition pour les travaux futurs.

Page 20: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Chapitre 2

Les systèmes du travail coopératif

Le chapitre présent constitue une description détaillée des systèmes du travail coo- pératif. Il présente une défmition de leurs différents types et concepts ainsi qu'une description de leur architecture. En plus, nous y trouverons une présentation de leurs modèles de représentation et une description de leur analyse (quantitative). Mais tout d'abord, une introduction à ces systèmes du travail coopératif sera donnée dans la section suivante.

2.1 Introduction

La nouvelle interprétation du travail, basée sur la satisfaction des accords entre les gens [Den94, Flo921, a causé des modifications majeures concernant la structure des orga- nisations. Cette interprétation, combinée à I'explosion de l'information et à l'évolution de la technologie du matériel a donné naissance aux systèmes distribués. Or, la propa- gation de la technologie de ces systèmes a assigné un coup dur aux organisations basées sur les systèmes centralisés. Non seulement ces dernières ne peuvent plus acquérir tous leurs équipements d'un même fournisseur, mais en plus, elles doivent assimiler les tech- nologies de ces systèmes ouverts [Nut92a, Nut92bl ofin de pouvoir être compétitives. Les systèmes distribués ont même créé une crise en ce qui concerne l'organisation de l'information des entreprises qui doivent complètement reévaluer la manière de gérer et d'utiliser l'information pour la réalisation de leurs affaires. Par conséquent, elles doi- vent entièrement dériver une nouvelle architecture d'information. Ce procédé est connu sous le nom de la réorganisation du processus d'affaires (Business Process Reenginee- ring (BPR)). Cela oblige ces entreprises, d'abord, à mieux comprendre la technologie de l'information qui était nécessaire dans leurs systèmes centralisés, ensuite, à avoir des outils plus performants afin de créer et d'analyser leurs architectures ainsi que les systèmes informatisés qui implémentent ces architectures. De plus, les progrmmeurs doivent opter pour un nouveau type de technologie, pour pouvoir créer et construire les systèmes distribués contemporains.

Ainsi les systèmes distribués ont introduit la nécessité d'une technologie d 'outils de groupes (connue en anglais sous le nom de groupware) permet à un groupe de personnes de collaborer pour le

[Woo92, Cum94, Whig31 qui traitement d'une information

Page 21: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Les systèmes du travail coopératif 12

I Taxonomie d'un outil de groupe

Figure 2.1: Une Taxonomie de temps/espace des outils de groupes.

temps différents

base de données partagée même place

commune et de produire une interface pour un environnement partagé [EGRSl]. Les outils de groupes peuvent être définis comme des logiciels qui, à travers des réseaux, permettent aux utilisateurs d'accéder et de partager des fichiers et des données. Les systèmes des outils de groupes sont souvent caractérisés par une taxonomie de temps et d'espace dans laquelle ils sont vus comme des supports d'interactions qui se produi- sent entre des groupes en (même ou différent) (temps ou place). Cette taxonomie de systèmes des outils de groupes [EGRSl] est décrite dans la figure 2.1 avec des exemples représentant chaque type d'interaction.

même temps

face-à-face

courrier électronique

I

Les outils de groupes (groupware) peuvent être divisés en plusieurs catégories [Cum94, Whig31 telles que les outils de base (par exemple le courrier électronique), les

places ciXikentes

produits de communication de groupes (par exemple Lotus, WordPerfect), etc. Parmi, ces catégories, nous distingons en particulier des outils capables de faire la coordina-

Vidéo-Conférence

tion et la gestion de l'information dans les bureaux, ainsi que l'exécution automatique de certaines tâches. Ces outils sont appelés les systèmes du travail coopératif. Ils peu- vent donc être utilisés pour aborder le problème de la réorganisation de l'architecture d'une entreprise, tout en incluant la documentation, l'analyse et la programmation des systèmes réorganisés.

Actuellement, il est bien connu que l'utilisation des logiciels du travail coopératif contribue énormement à l'augmentation de la productivité et la flexibilité pour les organisations administratives. Plus de 50 produits commerciaux qui représentent la plupart des constmcteurs d'ordinateurs ont été lancé sur le marché. En titre d'exemple, une liste de certains de ces produits est donnée dans le tableau 2.1.

Page 22: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Produits

Workflow Analyst ProcessIT

Beyondhld

FIowPath

WinWork

EPIC/WF Workflow

FormFIow

AWD Visual Workflo

Workflow 2020

FlowMark POWERFLOW Lotus Forms

Flow Mas t er

WorkParty

FlowFile

PPDM

Info Image

OPENlWorkflow

Inconcert

Constructeurs

Action Technologies

AT&T GIS

Bayan Systems

Bull Centre-file

Computron

CSESystems Deiriia Corporation

DST Systems

FileNet Corporation

Fischer Int. Systems IBM ICL Lot us Development

OLivetti

Siemens Nixdorf

Standard Patforms

Tandem Cornputers

Unisys Wang

XSoft

Tableau 2.1: Liste de produits des systèmes du travail coopératif.

Page 23: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Les systèmes du t r a d coopératif 14

2.2 Définitions et concepts des systèmes du travail coopératif

Un système du travail coopératifest un programme d'application qui permet de définir, d'exécuter, de coordonner et de contrôler la circulation des tâches à l'intérieur des organisations ou des groupes de travail [Bul92].

Les systèmes du travail coopératif diffèrent selon le type du processus qu'ils traitent. Ainsi, nous pouvons distinguer trois types de ces systèmes [MAD94]:

D'abord, nous avons les systèmes du travail coopératif orientés image. Ces sys- tèmes sont caractérisés par le fait de transformer des documents en des "images" digitalisées et de les stocker dans des disques optiques. Ainsi, ils automatisent le flux des documents à travers une organisation. Ils sont utilisés dans la technologie du traitement d'image, et représentent la circulation et le traitement des images digitalisées. Ces systèmes ont été utilisés dans [Gib92, Smi93, Con92, Ske921.

Ensuite, nous avons les systèmes du travail coopératif orientés formulaire. Ces systèmes sont efficaces pour l'automatisation de la circulation des formulaires à travers une organisation. Ces formulaires se distinguent par le fait qu'ils sont basés sur le texte et sont constitués de champs éditables. La circulation auto- matique des formulaires est dirigée par l'information qui y est saisie. Puisque les formulaires contiennent des données qui sont accessibles par le système du travail coopératif, dors les décisions conditionnelles peuvent être prises auto- matiquement par ce système. De pius, ces systèmes peuvent noter et rappeler aux gens quand une action doit avoir lieu. Ainsi, les systèmes de travail orientés formulaire sont caractérisés par un niveau d'efficacité plus élevé que celui des systèmes du travail coopératif orientés image. Ces systèmes ont été utilisés dans (SE93, Gor93, CW94j.

Finalement, nous avons les systèmes du travail coopératif orientés coordination. Ces systèmes sont basés sur la théorie de la communication et la coordination developée par Flores et Winogad [Flo79, WFS?]. Ils permettent aux utilisateurs de partager et d'accéder à une information dans un environnement distribué. Ils permettent aussi à une organisation d'augmenter ses capacités d'accéder à une information, de collaborer, de gérer ses documents, d'intégrer des applications pré-existantes et d'en créer des nouvelles de types distribuées. Ainsi, les systèmes du travail coopératif orientés coordination assurent l'amélioration de la produc- tivité organisationnelle [GHLSS].

En d'autres termes, nous pouvons définir les systèmes du travail coopératif comme étant des techniques qui décrivent comment une Uprocédure" peut être accomplie, en la décomposant en un ensemble d7 %tapesn et en montrant ensuite comment une infor- mation circule à travers ces dernières.

Notons que la première étape vers un système du travail coopératif informatisé est la spécification d'un ensemble de procédures et d'activités qui sont exécutées dans

Page 24: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

une organisation. Les concepts relatifs aux systèmes du travail coopératif peuvent être définis comme suit :

Une procédure est un ensemble prédéfini d'étapes de travail avec un ordre partiel de ces étapes. Comme exemple de procédure prenons le cas du traitement des réclamations dans une compagnie d'assurance.

Une étape de travail est constituée d'une entête (c'est-à-dire l'identification, la priorité, etc.) et d'un corps (c'est-à-dire le travail actuel à faire). Les étapes peuvent être exécutées en même temps ou l'une après l'autre. En plus, les procé- dures sont définies de façon à permettre les boucles. Par conséquent, les étapes sont partiellement ordonnées dans une procédure, au lieu de l'être totalement.

Une activité est le corps d'une ou de plusieurs étapes de travail d'une procé- dure. Une activité est sous forme soit d'une autre procédure, soit d'une activité élémentaire. Par exemple, "envoyer une lettren peut être une activité des deux procédures suivantes: "l'admission d'une piècen et "la vérification d'un crédit".

r Une activité élémentaire est une unité de travail qui est obligatoirement sous la forme d'un ensemble séquentiel d'actions primitives qui sont exécutées par un seul acteur.

r Un acteur est une personne, un programme ou une entité qui peut exécuter, être responsable de, ou être associé à des activités et des procédures. Un acteur peut jouer un ou plusieurs rôles.

r Un rôle identifie un ensemble d'activités qu'un acteur peut exécuter l'une après l'autre; cela est dû au fait qu'un acteur représente "une unité du traitementn, donc, il ne peut faire qu'une chose à la fois. La propriété la plus importante d'un rôle est celle d'identifier les types d'acteurs qui peuvent exécuter un ensemble déterminé d'activités dans une procédure. Chaque activité déterminée peut être parfois exécutée pax une instance d'un seul rôle, et d'autres fois par une instance d'un autre. Un rôle identifie un type particulier de traitement, mais ne donne aucune information sur l'acteur qui va l'exécuter. Un rôle peut être joué par un ou plusieurs acteurs.

0 Une tâche est le lieu de contrôle de l'exécution d'une procédure. Dans certains contextes, une tâche est appelée une case d'affaires.

2.3 Architecture des systèmes du travail coopératif

Un système du travail coopératif est constitué de deux composants de base : un mode- leur et un exécuteur,

a Le modeleur (c'est-à-dire le composant de la modélisation) permet aux adminis- trateurs, aux utilisateurs et aux analystes de définir les procédures et les activités, de les analyser, de les simuler et de les d o u e r à des personnes.

Page 25: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

L 'ezécuteurest un composant constitué par des clients et des serveurs du système. Ces derniers travaillent ensemble pour la réalisation des tâches des utilisateurs.

En effet, le système du travail coopératif est basé sur une architecture de type client /serveur [FILS 11.

Un client du système du travail coopératif est caractérisé par:

0 Une interface qui doit être facile à utiliser pax tous les types d'utilisateurs. En général, une station de travail, multitâche et graphique, est exigée. Par exemple Dos/Windows, OS12 ou Unix, car l'intégration d'une tâche est un problème im- portant dans les systèmes du travail coopératif.

0 Un support d'exécution de tâches qui représente le noyau d'une application de type client.

Des facilités de communication de (ou vers le) serveur, puisque le client doit recevoir des tâches de ce dernier et les lui renvoyer après leurs traitements.

Un serveur du système du travail coopératif est un système typiquement installé sur des machines accessibles aux utilisateurs à travers un réseau. Il permet la coordination et l'exécution des procédures et des activités.

L'architecture de type client/ serveur des systèmes du travail coopératif est graphi- quement représentée dans la figure 2.2 [JAD+94]. Ainsi, nous pouvons constater qu7elie est composée de trois parties : le composant client, le composant actif et le composant de sauvegarde:

0 Le composant client peut jouer le rôle d'utilisateur, d'administrateur ou d'ana- lyste, quoiqu'en pratique les combinaisons de ces rôles soient souvent fréquentes. Mais, en général:

- L'utilisateur établit la liste des travaux à faire, en fournissant toute infor- mation nécessaire au traitement d'une activité déterminée, et en mettant en place les outils automatiques ou manuels exigés.

- L'administrateur contrôle la circulation du travail, étudie les problèmes, éta- blit des comptes rendus sur le travail qui a été déjà fait, et prend les décisions adéquates.

- L'analyste crée et implémente les outils du système du travail coopératif, d'une manière flexible.

Le composant actif est sous la forme de trois types: les processeurs d'interface, les gestionnaires d'événements et les gestionnaires du travail coopératif:

- Un processeur d'interface relie les applications au système du travail coopé- rat if.

Page 26: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

- - . -. -. -

LEGENDE O composant dient

O composant actif

composant de sauvegarde

U tilisatenrs Administrateurs Analystes

processeur gestionnaire gestionnaire transactions observations définitions d'interface d'événement de travail

coopératif

Figure 2.2: Architecture d'un système du travail coopératif.

- Le gestionnaire d'événement contrôle les initiatives prises par l'ordinateur aiin d'assurer la bonne marche du travail.

- Le gestionnaire du travail coopératif s'occupe de la coordination entre les processus du travail coopératif, contrôle les autres processus de ce type de travail et communique, au besoin, avec d'autres gestionnaires du travail coopératif.

Le composant de sauvegarde concerne trois types de sauvegarde: la sauvegarde des transactions, la sauvegarde des observations et la sauvegarde des définit ions:

- Le fichier de sauvegarde des transactions contient I'information qui concerne les statuts actuels de certaines instances bien définies, du système du travail coopératif.

- Le fichier de sauvegarde des observations contient L'information recueillie par les processus de contrôle du travail coopératif.

- Le fichier de sauvegarde des définitions contient l'information sur les struc- tures des systèmes de travail coopératif.

Page 27: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

2.4 Modèles de représentation des systèmes du tra- vail coopératif

Il existe plusieurs modèles de systèmes du travail coopératif. Ils sont utilisés dans plusieurs domaines différents pour décrire le comportement prévu des procédures. Ces modèles sont désignés comme des langages des processus du travail coopératif. L a nature de chaque langage dépend de la manière désirée d'utilisation de la spécification des systèmes du travail coopératif. En général, un langage (modèle) peut être utilisé pour:

1. documenter une procédure de façon qu'elle soit comprise pax ceux qui s'y inté- ressent.

2. spécifier le comportement de la procédure, sous différentes conditions, afin d'éva- luer ses performances.

3. définir un ensemble d'actions qui permet la réalisation de la procédure.

Ainsi, un modèle d'un système du travail coopératif qui décrit les processus doit fournir les facilités permettant d'identifier chaque étape dans une procédure et de montrer ensuite la circulation d'information à travers ces étapes. Le modèle servira à la communication des idées entre les utilisateurs. De plus, le langage de modélisation ainsi que ses outils doivent être flexibles et concis.

Parmi les modèles les plus importants, utilisés pour la représentation des systèmes du travail coopératif, nous avons les réseaux de Pert [KD66, Whi73, NOP951, les ré- seaux de file d'attente [Sau83, New82, Ge1911, les organigrammes [Sim66, GH771, les réseaux de Petri [Gen86, Jen92, Mur89, Pet62, Rei85, NG921 et les réseaux de contrôle d'information (ICNs) [Ell79, Nut721. Notons que les langages de modélisation non inter- prétés mettent l'accent sur la description du flux des tâches dans le modèle et négligent les détails du traitement durant une étape. Par contre, un modèle formel interprété tels les réseaux de Petri à haut niveau (prédicat/transition) [Gen86] ou les ICNs avec des interprétations d'activi tés, décrit plus en détail les comportements des modèles du travail coopératif.

Dans cette section, nous allons décrire les différents modèles de représentation des systèmes du travail coopératif cités plus haut. De plus, pour chaque modèle, nous d o n s donner un exemple pour mettre en évidence son utilité.

2.4.1 Réseaux de Pert Le premier rôle des diagrammes de Pert est celui de représenter graphiquement les étapes dans u n processus complexe en plus d'identifier les dépendances parmi ces étapes. Les diagrammes de Pert s'intéressent à l'instant où les tâches vont être accom- plies, plutôt qu'aux détails de chaque étape. Ainsi, cette information générale concer- nant une procédure peut être facilement interprétée par des personnes, même si elles

Page 28: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

ne s'intéressent pas exactement à la manière dont chaque étape est réalisée. Les dia- grammes de Pert sont destinés à une communication d'une personne avec une autre. Les diagrammes de Pert f i é s incluent l'estimation de la durée d'exécution de chaque étape. D'où leur capacité de déterminer le chemin critique à travers le diagramme qui met en évidence les étapes permettant l'exécution complète de la procédure, tout en réalisant la plus courte durée possible. Ils permettent de planifier et contrôler les flw monétaires engendrés par ces procédures [NOP95, Nut93bl. Ainsi, ces diagrammes affinés se transforment de modèles descriptifs en modèles analytiques.

2.4.1.1 Exemple de la méthode du chemin critique

Pou. appliquer la méthode du chemin critique pour un projet quelconque, nous avons besoin de citer ses opérations qui seront subdivisées plus au moins selon la pré- cision désirée. Les opérations seront choisies aussi simples que possibles et les durées opératoires seront de grandeurs comparables (les durées des opérations sont générale- ment aléatoires). Puis, les antériorités de chacune des opérations seront déterminées. Nous d o n s considérer un exemple d'un projet de construction [KD66]. Les opérations peuvent être l'établissement des plans, l'obtention du permis de construire, etc. La représentation graphique du déroulement de ces opérations (avec leurs estimations de durées d'exécution) est donnée par la figure 2.3. Notons que Ei constitue un événement telle la signature d'un contrat ou le branchement de l'électricité, etc. Avec El étant l'évenement initial ou le commencement des activités.

Nous nous intéressons à la date de réalisation de la fin du travaux. Cela, nous ramène à la recherche dans le graphe 2.3 du chemin critique (ou le plus long). 11 existe plusieurs algorithmes qui permettent de résoudre ce probème. Nous allons considérer l'un de ces algorithmes qui commence par Et et lui affecte la date O. Puis, il considère en chaque sommet les arcs qui y arrivent. Ensuite, pour chacun des arcs, il fait la somme du temps opératoire porté par l'arc et de la date de l'événement origine de l'arc. Enfin, il compare les résultats et choisit la valeur la plus grande pour l'affecter au sommet considéré. Ainsi, si nous considérons la figure 2.3, nous aurons: En E2, il arrive un seul arc(l'2); puisqu7en El nous avons O, en E2 nous portons O + 8 = 8. En E3, il arrive deux arcs(2,3) et (1'3); nous comparons donc 8 + 4 = 12 et O + 13 = 13, nous portons 13 en E3. Et ainsi de suite jusqu7à Elz où nous avons porté finalement 61. Ce nombre représente le temps de réalisation à partir de la date O. Le chemin correspondant à 61 obtenu de proche en proche, en remontant de Elz à El, constitue le chemin critique. Ce dernier est représenté par des lignes en pointillé dans la figure 2.3. Ainsi, les opérations critiques sont Pl, 3, P3, 4, P4,8, Ps7 11, Pl1, 10, et Plo, 12. Le planificateur doit porter toute son intention sur ces opérations critiques au cours de la réalisation, car de leur bon déroulement dépend la date de réalisation de l'ensemble des travaux.

Page 29: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Figure 2.3: Un graphe d'un chemin critique.

Page 30: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Disques

Arrivée des

"iP)

Figure 2.4: Un réseau de füe d'attente.

2.4.2 Réseaux à file d'attente

Les réseaux à files d'attente sont des collections de serveurs qui représentent les res- sources d'un système et de clients qui représentent les utilisateurs et les transactions [New82, GelSI]. 11s servent à analyser et à évaluer la performance des procédures et des systèmes. Ainsi, les étapes dans une procédure représentent les serveurs, alors que la circulation des tâches parmi les serveurs est pareille à celle des tâches parmi les étapes. Les détails donnés sur les étapes ne spécifient pas comment un serveur accomplit sa tâche, mais plutôt, ils indiquent la durée de traitement d'un processus qui est estimée selon une fonction de distribution de probabilité [Nut93b]. Dernièrement, ces modèles de réseaux ont atteint un niveau d'équilibre favorable entre la précision et I'éfficacité.

2.4.2.1 Exemple d'un réseau de serveurs multiples

La figure 2.4 illustre un modèle [Gel911 dans lequel chaque ressource du système est représentée par un centre de service separé (un CPU et trois disques).

Ce modèle a deux paramètres. D'abord, nous devons spécifier l'intensité de la répar- tition des tâches qui est le taux d'arrivée des clients. Ensuite, nous devons aussi spécifier la demande du service qui est la durée moyenne nécessaire pour servir un client. Cette demande du service sera fournie pour chaque centre de service. Ainsi, si nous considé-

Page 31: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

rons les clients dans ce modèle comme des transactions dans ce système. Alors, d'un côté, l'intensité de la répartition des tâches correspondera au taux de soumission des transactions par les utilisateurs aux systèmes et d'un autre côté, la demande du service au niveau de chaque centre de service correspondera au service total nécessaire par transaction pour la ressource correspondante du système. Notons que dans la figure 2.4, nous avons considéré les clients comme des arrivées qui circulent parmi les centres de service et qui quittent après le système. Nous pouvons spécifier, par exemple, que les transactions amvent à un taux qui correspond à une transaction toutes les 5 secondes. En plus, chaque transaction nécessite en moyenne 3 secondes de service au niveau du CPU et respectivement 1, 2 et 4 secondes au niveau des trois disques. Pour avoir des vdeurs spécifiques de ces paramètres, il est possible d'évduer ce modèle de file d'at- tente, en résolvant quelques équations simples. Ces dernières conduisent à mesurer les performances du modèle. Ainsi, nous obtenons 0.60 secondes comme durée moyenne d'utilisation du CPU par un client, 32.1 secondes comme temps de réponse moyen saisi par les utilisateurs, un nombre moyen de 6.4 transactions actives en parallèle et un débit de 0.2 transaction par seconde.

2.4.3 Organigrammes

Un organigramme est un ensemble d'étapes, muni d'une relation qui décrit l'ordre de leur exécution, afin de réaliser une tâche déterminée. Nous pouvons transformer un organigramme en un programme exécutable et cela, en affinant chaque étape jusqu'à ce qu'elle devienne un ensemble prescriptif de commandes qui peuvent être interprétées par un ordinateur, c'est-à-dire un bloc de code source. L'étape h a l e des spécifications doit être beaucoup plus détaillée, avec moins d'ambiguïté et de choix sur la façon d'accomplir une tâche, comme c'est le cas dans les diagrammes de Pert. Ainsi, chaque étape va être f i é e en une commande non ambiguë (c'est-à-dire un sous-programme ou un bloc de codes) [Nut93b].

2.4.3.1 Exemple d'un organigramme du problème de blé-souris- chats

Pour illustrer l'utilité des organigrammes, nous allons donner un exemple d'un organigramme de programmation [GH77]. Le problème est le suivant: les gens d'un certain village récoltent chaque juillet 2 million de livres de blé et le stockent dans une grange. Mais souvent ils manquent de blé, malgré qu'ils consomment seulement 100.000 livres par mois. En effet, ils découvrent des souris qui mangent leur blé. Afin de chasser ces souris, les villageois mettent une colonnie de chats dans la grange. Mais, pour une raison inconnue, les chats ne résolvent pas leur problème. D'où le besoin d'un modèle mathématique pour simuler sur ordinateur le système blé-souris-chats afin de trouver une solution à ce problème. Or, pour construire ce modèle, nous avons besoin d'avoir plus d'informations et d'hypothèses. Par exemple:

1. Chaque souris mange environ 10 livres de blé par mois.

Page 32: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

2. Chaque souris vit environ 12 mois.

3. Toutes les souris vont mourir au bout d'un mois s'il n'y a plus de blé dans la grmge. Mais, au moins 20 d'autres viendront des champs.

4. S'il y a plus de 100 livres de bé pour chaque souris, le nombre de souris doublera chaque mois.

5. S'il y a plus de 50 souris pour un chat, chaque chat mange environ 30 souris par jour.

6. Chaque chat vit environ 10 ans. Environ un chat sur 1120 meurt de vieillesse.

7. Etc.

Pour simuler ce problème, nous avons developpé un algorithme dont l'organigramme (non détaillé) est donné par la figure 2.5. Notons que les cas (a ) , (b) et (c ) dans La figure 2.5 peuvent être détaillés dans d'autres organigrammes.

2.4.4 Réseaux de Petri

Ils permettent la construction des modèles conduisant à des analyses exactes et efficaces. En plus, ils peuvent être implémentés en utilisant différentes techniques. Intuitivement, ils sont composés de quatre ékments [NG92]:

Les places qui correspondent à des sites.

Le marquage d'une place (représentant l'état d'un site) qui est un nombre pou- vant indiquer la satisfaction des conditions, ou plus généralement le nombre de ressources présentes dans le site.

a Les transitions qui correspondent aux actions.

0 La fonction de transition qui d o ~ e pour chaque transition (action) les conditions qui doivent être remplies par chacun des sites afin que cette action soit possible. Elle indique aussi l'effet de chaque transition sur l'état des sites.

Plusieurs chercheurs qui s'intéressent ii la représentation des systèmes du travail coopératif ont utilisé les réseaw de Petri comme modèles de représentation. Citons par exemple Zisman en 1977 [Zis77] et Li en 1990 [Li90]. Les réseaux de Petri sont un modèle naturel pour la représentation des contrôles de flux, conjonctifs ou disjonctifs, d'un (ou groupe de) processus. Ils sont efficaces pour représenter l'ordre d'exécution des activités pour analyser les procédures et pour détecter les "interblocagesn.

Par la suite, il y a eu recours aux réseaux de Petri de haut niveau. Le besoin d'avoir ce type de réseaux s'est avéré essentiel pour différentes raisons. D'abord, il y a eu la nécessi té d'avoir des modèles qui représentent les données, les gens, les priorités, et plusieurs autres entités. Ensuite, il y a eu le besoin d'utiliser des modèles dont la défi- nition peüt conduire à une implémentation. De plus, comme dans d'autres domaines,

Page 33: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Début P Donner 1e nombre minimal des chats

Initialisation des variables blé, chats, souris, année et mois

-4 Inmementer mais I

Calculer L'augmentation ou la diminution de:

pic-1 (0-1 1-1

Mise à jour des variables blé, souris, chats.

Les initialiser si elles

Figure 2.5: Organigramme du problème de blé-souris-chats.

Page 34: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

il s'est avéré que la modélisation d'un grand nombre de procédures de bureau conduit à une "explosion ezponentielle" des modèles classiques des réseaux de Petri. Bien que les modèles de Petri interprétés soient plus diEciles à analyser que les réseaux de Petri non interprétés, ils sont plus utiles pour représenter le comportement d'un système des outils de groupes (groupware). Ainsi, plusieurs dérivés des réseaux de Petri ont apparu tels que les réseaux E (Evaluation) [Nut72], les réseaux de prédicat/transition [Ge11861 et les réseaux de Petri colorés [Jen92]. Ces réseaux permettent d'attacher des interpré- tations sophistiquées aux nœuds dans un réseau de Petri, en gardant la possibilité de représenter le contrôle padlè le dans le mécanisme de ce réseau, et en ajoutant celle de représenter les calculs arbitraires à travers les nœuds.

2.4.4.1 Exemple d'une procédure d'enregistrement d'une dé- claration d'impôts

Considérons l'exemple [Nut93b] de la figure 2.6 qui concerne une procédure d'enre- gistrement d'un formulaire pour les déclarations personnelles d'impôts. L'identification de la procédure est 'enregistrement d'une déclaration d'impôtsn. Nous supposons que l'exécuteur:

a déjà déterminé le type du formulaire d'impôt,

a obtenu une copie du formulaire et de ses instructions,

a lu les instmctions,

a obtenu les informations préalables.

Une fois le formulaire approprié et ses instructions sont obtenus, la procédure est généralement s t ~ c t u r é e ; chaque ligne dans le formulaire est numérotée et il y a une instruction pour chaque ligne. Ainsi, la figure 2.6 est une représentation de cette pro- cédure. Le modèle illustre la manière dont le parallèlisme se produit, même entre des processus simples. D'où, dans la figure 2.6, la possibilité d'exécuter l'activité de "calcu- ler les revenus d'impôtn en même temps que celle de "calculer le nombre de personnes à chargen (l'ordre d'exécution de ces deux activités dépend de chaque personne).

Dans cet exemple, nous utilisons aussi la hiérarchie pour représenter l'affinement de la place qui représente l'activité de "calculer les déductions". Dans le résultat affiné, nous avons une disjonction entre l'activité de 'déduction standardn et celle de "rem- plir le formulaire". Cette disjonction est encore visible entre l'activité de "calculer le remboursementn et celle de "calculer les impôts dusn.

2.4.5 RBseaux de contrale d'information (ICNs) Le modèle des ICNs est dérivé des réseaux E [Plut721 qui sont des réseaux de Petri de haut niveau. Cette dérivation s'est basée sur trois principe. D'abord, sur un ajout d'un modèle complémentaire de flux de données. Ensuite, sur une généralisation des primitives de flux de contrôle. Enfin, sur une simplification de la sémantique de façon

Page 35: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

calcuIer les revenus calculer le nombre de d'impâts

calculer les déductions

remplir le formulaire

calculer les irnp8ta

deducrion de ta

caiculer les créâits personne B charge

d'impôts A calculer le 6 6 cdculer les

rembou~mcnt impôts dus

Figure 2.6: Un réseau de Petri pour la déclaration des impôts.

que le modèle soit intuitif et utile pour les concepteurs des procédures bureautiques [Ell79]. Le modèle des ICNs a été développé pax les chercheurs de Xerox PARC, durant ces quelques dernières années [ENSB], pour décrire et analyser la circulation de l'infor- mation à travers les bureaux. Les modèles des ICNs peuvent être utilisés, par exemple, pour la détection de l'interblocage, pour l'analyse de la synchronisation des données et pour la détection des goulots d'etranglement d'une communication.

Un ICN sert à représenter les flux de contrôle et de données. Les relations dans un ICN indiquent les liens entre les activités et les procédures ainsi que la priorité entre les activités. Elles peuvent également indiquer les documents qui sont utilisés comme Entréelsortie pour certaines activités. Une gronde quantité d'information peut être associée à un ICN. Par exemple, l'information qui concerne (1) une donnée particulière transférée des (ou vers les) répertoires, (2) la personne qui exécute l'activité, (3) la durée de l'exécution de l'activité et (4) la quantité de données transférées par une activité. Les ICNs ont été étudiés aux universités [DumSl] et utilisés dans l'industrie [B ~1921.

Dans un ICN, les étapes d'une procédure sont appelées activités. Des nœuds de contrôle spécifient les tâches qui peuvent s'écouler des (ou vers des) activités alternées quand une activité précédente a été exécutée. Ces nœuds sont appelés Uou logique exclusif. Les ICNs permettent aussi à un flux de contrôle en sortie de se diviser de façon que deux ou plusieurs activités puissent s'exécuter parallèlement (ou dans n'importe quel ordre). Cela est appelé le flux de contrôle conjonctif en sortie d'une exécution. Tandis que le flux de contrôle en entrée d'une exécution montre qu'une activité ne peut

Page 36: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Figure 2.7: Les primitifs des ICNs.

être exécutée que si seulement toutes les activités qui la précèdent sont complètement exécutées. Ce flux est appelé le fluz de contrôle conjonctif en entrée.

Graphiquement, les activités sont représentées par des grands cercles vides. Les étiquettes de ces activités sont placées à côté ou au centre de ces cercles. Les nœuds de contrôle OU sont représentés par des petits cercles vides, et les nœuds de contrôle ET sont représentés par des petits cercles pleins. Des arcs orientés vers les activités indiquent que les tâches "s'écoulentn d'une activité vers une autre (en anglais, nous disons "the work flows" d'où le nom de "workflows"). Ainsi, si dans la figure 2.7 (a) l'activité A conduit vers l'activité B, cela signifie que l'activité B ne peut s'éxécuter qu'une fois que l'activité A complète son exécution. Les figures 2.7 (b) et (c ) illustrent la conjonction logique (OU). D'où, dans la figure 2.7 (b), l'activité B ou C peut s'exécuter après l'exécution de l'activité A. De même, dans la figure 2.7 (c ) , l'activité C ne peut s'exécuter qu'après l'exécution de l'activité A ou de I'activité B. Les figures 2.7 (d) et (e) illustrent la conjonction logique (ET). Dans la figure 2.7 (d), les deux activités B et C ne peuvent s'exécuter qu'une fois l'exécution de l'activité A est terminée (exécu- tion pardlèle généralement appelée Fork). Alors que dans la figure 2.7 (e), l'exécution de l'activité C ne s'effectue qu'après l'exécution complète des deux activités A et B (exécution parallèle généralement appelée Join) .

Il est intéressant de noter que les mêmes opérateurs présentés précédemment dans la figure 2.7, sont utilisés pour représenter différents modèles de flux de contrôle dans les langages de programmation parallèle, ainsi que dans les systèmes parallèles [EFRV86].

Le flux de contrôle non interprété peut représenter l'exécution d'une procédure

Page 37: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Figure 2.8: Les répertoires des données.

en montrant comment une tâche circule à travers le réseau. Cette représentation est rendue possible grâce au fait de représenter les tâches comme des jetons qui circulent à travers la procédure; c'est-à-dire que le réseau représente les étapes et les règles de la circulation en placwt un jeton sur un nœud pour représenter la tâche qui s'effectue dans ce nœud. Quand le jeton passe à travers un nœud "ET qui a plusieurs branches en sortie, le jeton est dupliqué et une copie est placée sur chaque branche. Mais lorsqu'un jeton est présenté sur plusieurs branches d'un nœud "ET' en entrée, alors après son exécution, un seul jeton est placé sur sa branche de sortie. Par conséquent, le flux des jetons définit explicitement la manière dont les tâches circulent à travers un réseau de flux de contrôle non interprété.

Les ICNs représentent également les données à travers les nœuds des documents qui sont graphiquement représentés par des "rectanglesn. Une activité ne peut lire (ou écrire) une donnée du (ou dans le) document que s'il existe un arc qui part du (ou vers le) document vers (ou de) l'activité. Dans les modèles bureautiques, un document représente un fichier, des bases de données, des formulaires, etc. L a figure 2.8 illustre la représentation des documents dans les ICNs. Ainsi l'activité A écrit des données dans le document D, alors que l'activité C lit des données du document D.

Les ICNs que nous venons de décrire en haut sont très efficaces pour modéliser une procédure, sans se préoccuper de la manière dont elle est effectivement implémentée.

Notons que les ICNs sont plus expressifs que les réseaux de Petri colorés. Les ICNs sont temporisés, colorés (jetons typés) et permettent la modélisation de certains aspects à un certain niveau d'abstraction. Par contre, ils ont plusieurs types de nœuds de contrôle, tandis que les réseaux de Petri ont seulement des transitions comme nœuds de contrôle.

2.4.5.1 Exemple d'une procédure d'achat

Page 38: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Les systèmes du travail coopératif 29

L a figure 2.9 illustre l'utilisation de tous les opérateurs des ICNs [Nut93b]. Elle montre un ICN non interprété qui représente une procédure d'achat dans une entreprise où une personne rédige une demande pour commander une pièce. Si la demande est acceptée, dors elle est envoyée au secteur d'achat où un fournisseur est choisi et un bon de commande est envoyé. A la réception de ce bon, le fournisseur prépare une pièce et l'envoie avec une liste d'expédition au secteur d'achat. Ce dernier vérifie que la commande a été bien satisfaite. Ensuite, le secteur d'expédition de l'entreprise envoie la pièce à la personne qui l'a commandée et un avis de paiement de la pièce au secteur de la comptabilité. Entre temps, le service de comptabilité du fournisseur prépare une facture et l'envoie au secteur de la comptabilité de l'entreprise. Quand ce dernier reçoit la facture et l'avis d'expédition de la pièce, il envoie le paiement au fournisseur.

Notons que bien qu'il n' y ait aucune explication détaillée des étapes dans la fi- gure 2.9, le modèle représente clairement la circulation des tâches à travers les deux organisations (ceile de l'entreprise et ceUe de son fournisseur).

Les exceptions (grève, pannes, etc.) ne sont pas prises en compte dans ce modèle descriptif, mais elles peuvent être simplement rajoutées en cas de besoin.

De plus, si nous voulons décrire en détail certains aspects d'un processus (sans être trop prescriptif), nous pouvons utiliser un ICN emboîté et non-interprété.

Par exemple, la figure 2.10 donne une description détaillée de la procédure de la sélection d'un fournisseur qui peut nécessiter une discussion entre le commercial chargé de l'achat et le demandeur, afin de bien cerner les besoins de ce dernier. Ensuite, le commercial choisit un fournisseur et entame une négociation avec lui. Si la négociation n'aboutit à aucun accord, alors le commercial la reprend avec un autre fournisseur choisi à partir de la base de données. Mais, si par contre cette négociation porte fruit, alors le fournisseur commence à préparer la pièce pour l'expédition avant la réception du bon de commande.

Quel que soit le mode de négociation entre l'entreprise et le fournisseur, les modèles de systèmes du travail coopératif, présentent une représentation symbolique et concise des étapes ou activités nécessaires à la commande d'une pièce.

Les ICNs modélisent le travail du bureau dans une organisation, sans tenir compte de l'attribution des rôles ou des acteurs (individus ou machines). Par contre, l'analyste doit modéliser les ressources critiques selon leur utilisation dans les procédures, par une description explicite du moment où un agent déterminé exécute une activité. Par conséquent, les jetons vont représenter à la fois les tâches et les acteurs. Or, cette représentation se caractérise par trois aspects non négligeables. D'abord, elle complique l'expression des procédures, ensuite elle rend difficile l'attribution de plusieurs rôles à un seul acteur, enfin elle ne fournit aucun mécanisme évident pour connaître l'occupation des acteurs lors de l'exécution d'une procédure.

Le modèle des ICNs permet à un rôle d'être associé à. plusieurs activités, et à une activité d'être associée à plusieurs rôles. Il permet aussi d'associer plusieurs rôles aux acteurs, cela signifie que n'importe quel acteur peut jouer le rôle que nous lui associons [Nut93a].

Page 39: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Les systèmes du travail coopératif 30

Entreprise F Rédaction de la demande d'achat

La piéce n'est pas commandée

I Approuvk? Oui, la demande est transmise

Rkeption du bon de commande

Fabrication

spéciale

Choix du fournisseur

Rédaction et envoi du bon de commande

Rkeption de la piéce

[ Piéce 1 la facture Envoi de la pièce au

demandeur

Envoi de la facture Réception de Ia facture

Réception du Paiement de Ia facture paiement

Figure 2.9: Un ICN qui modélise une procédure d'achat.

Page 40: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Discussion avec le commercial demandeur

rP Liste des fournisseurs

1 Pl Négociation avec le

des déngeants

Figure 2.10: Description détaillée de la sélection d'un fournisseur.

Page 41: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Les svstèmes du travail coo~ératif 33

Actuellement, nous pouvons fournir une description plus élaborée du processus d'achat, en associant des rôles aux activités de base des ICNs. Ainsi, dans la figure 2.11 le demandeur fait plusieurs activités: "préparer la commande", et "utiliser la pièce", dors que le commercial d'achat s'occupe des activités suivantes: "choisir un fournisseur" et "envoyer un bon de commande". Cette information ajoutée permet de fournir plus de détails au modèle sans pour autant compliquer et encombrer le diagramme. (Notons que graphiquement les rôles sont illustrés par des rectangles en pointillés.)

Chacun des modèles que nous venons de décrire, constitue une abstraction du sys- tème du travail coopératif. Ils permettent de vérifier le comportement de ce système. Or, jusqu'à présent, les méthodes d'analyse appliquées aux systèmes du travail coopé- ratif, sont de type quantitatives. La section prochaine présente une brève description de ces méthodes d'analyse quantitative.

2.5 Analyse quantitative des systèmes du travail coopératif

Les formes d'analyse quantitative, les plus populaires, des systèmes du travail coopératif sont l'animation des jetons et la simulation.

Animer un jeton à travers un modèle est certe, un outil qui ne fournira pas néces- sairement des mesures de performances qualitatives mais il pourra donner à l'analyste un aperçu quantitatif sur la manière dont réagit le système sous des charges de travail. Par exemple, si la circulation des tâches à travers le modèle est sujette à des goulots d'étranglements, alors l'animation des jetons élimine souvent ce problème, avec un mi- nimum d'expérimentation. L'animation est devenue donc un outil fondamental pour l'analyse des systèmes complexes.

Comme l'animation, la simulation nécessite que le modèle soit interprété. Cepen- dant, les résultats qualitatifs de la simulation sont présentés comme des rapports après l'exécution. Ces rapports concernent le débit, la durée d'exécution ou le temps de ré- ponse, la disponibilité e t l'utilisation d'une ressource. Ainsi, par exemple, le modèle des ICNs non interprétés peut être &né pour devenir un modèle adéquat pour l'ana- Lyse basée sur la simulation. Par conséquent, le comportement de la performance d'un nœud (activité, nœud de contrôle, ou document) est représenté par une spécification de la durée que devrait prendre une activité à chaque fois que la sémantique du modèle nécessite une exécution.

La caiactérisation la plus simple d'un tel comportement est l'utilisation d'un temps moyen d'exécution; le simulateur déplace les jetons représentant les tâches, d'une ac- tivité à une autre, en respectant la topographie du réseau, et en laissant le jeton sur le nœud pendant une durée simulée qui correspond à Io durée d'exécution. Le corn- portement global du système (la circulation des tâches et l'occupation des acteurs) est représenté par la manière dont les jetons circulent à travers le graphe du modèle. Le mo- dèle peut avoir des interprétations plus sophistiquées pour évaluer la durée d'exécution, telles les fonctions de la distribution de probabilités, la fonction des sous-programmes,

Page 42: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

1 Entreprise (

), Rédaction de la demande d'achat La pièce n'est pas commandée

1 Approuvik? ' Oui, la demande est transmise 1 Réception du bon

de commande

Fabrication spéciale

I I 1

pièce : 1

Liste d'expédition Réception de la Envoi de la piéce

Envoi de la

demandeur

pièce au: 0 I I I

I 1 1 I Réception de la facture I 1

I

Envoi de la facture

I 1

Paiement de la facture I

Réception du paiement

Figure 2.1 1: Distribution des rôles.

Page 43: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

et Les descriptions verbales. Si le modèle est utilisé pour une analyse basée sur la simu- lation du système du travail coopératif (worMows), dors l'interprétation choisie sera soit celle d'une fonction de distribution de probabilités, soit celle d7une fonction de sous-programmes [Nut 93bl.

2.5.1 Fonction de distribution de probabilités

D'abord, supposons que cette interprétation soit une fonction de distribution de pro- babilité, alors le modèle peut être utilisé pour représenter un intervalle ou une fré- quence des durées d'exécution d'une activité, suivant le type de distribution utilisée. Par exemple, si l'interprétation d'une activité est une distribution uniforme entre 30 et 70, alors le temps d'exécution de n'importe quelle activité peut avoir n'importe quelle valeur entre 30 et 70. Cette valeur peut être égale à 43 unités à une première exécution du nœud, comme elle peut être égaie à 67 unités à sa deuxième exécution. Un simula- teur peut supporter les distributions constantes, uniformes, normales et exponentielles. Mais une bonne compréhension des propriétés de ces distributions nécessite de cet ana- lyste une bonne connaissance en statistiques. Et ce, afin qu'il puisse bien utiliser ces lois de distribution pour la représentation des différents types de processus de la durée d'exécution.

Si nous reprenons certaines activités de l'exemple précédent d'achat (figure 2.1 1 ) , nous pourrons dire que le modèle a interprété leurs durées d'exécution en se basant sur certaines lois de distribution citées antérieurement, ainsi:

L a durée de l'activité de "préparer une demande" peut être une distribution constante de 15 unités de temps.

La durée de l'activité de "accepter la demande" peut être une distribution uni- forme en 10 et 100 (cela signifie que n'importe quelle tâche particulière peut nécessiter une durée équiprobable entre 10 et 100).

La durée de l'activité de "sélectionner un fournisseur" peut être une distribution normale de moyenne 40 et d'écart type 5 (cela signifie que la plupart des durées d'exécution nécessiteront entre 35 et 45 unités du temps, tout en diminuant les nombres d'exécutions qui se produisent pour les petites ou les grandes valeurs).

etc.

Ces modèles sont fondamentalement des réseaux à file d'attente. Ainsi, un modèle d'un système du travail coopératif qui utilise la fonction de distribution des probabilités pour interpréter les nœuds est essentiellement le même qu'un réseau à file d'attente.

2.5.2 Fonction des sous-programmes

Supposons maintenant que l'interprétation soit sous la forme d'une procédure qui re- tourne la durée d'exécution en fonction des paramètres attribués à une tâche lors de son exécution. Alors, le simulateur du système du travail coopératif déplace les jetons d'une

Page 44: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

activité à une autre, suivant la logique des règles spécifiées par le graphe, et appelle les interprétations appropriées du nœud pour déterminer la durée d'exécution. Ainsi, une procédure de fonction peut être facilement écrite pour tracer un histogramme ou calculer une durée d'exécution basée sur des propriétés arbitraires des tâches.

Les modèles des systèmes du travail coopératif tels les modèles des ICNs doivent incorporer un nœud pour représenter les décisions, comme par exemple le nœud "Accep- ter?" dans la figure 2.11. Nous nous trouvons confronter au problème suivant: comment le simulateur devrait-il choisir le chemin qu'une tâche devrait suivre?. La solution la plus simple est celle d'associer des probabilités chaque arc sortant d'une manière telle que la somme de toutes les probabilités associées à un même nœud soit de 100%.

Ainsi, dans l'exemple de la figure 2.1 1, nous supposons que la demande est approu- vée à 75% des cas et désapprouvée à 25% des autres. Par la suite, le simulateur choisit un arc sortant pour acheminer la tâche, en calculant une loi de probabilité uniforme sur l'intenmlle [Il 1001. Si le résultat est inférieur ou égal à 25, alors la tâche est acheminée vers l'activité de '<demande refuséen, sinon, elle est acheminée vers l'activité de "choix du fournisseurn.

Ces modèles stochastiques sont faciles à constmire, mais sont inefficaces quand les décisions dépendent des détails de la tâche (puisque la sélection de l'arc est proba- toire). En plus, ces fonctions de sous-programmes peuvent être utilisées pour choisir un arc sortant des nœuds de décisions, de la même façon qu'elles étaient utilisées pour déterminer la durée d'exécution d'une tâche.

Le modèle analytique peut également simuler le comportement d'un nœud de docu- ments. Dans le modèle d71CN, selon l'activité et les détails d'une tâche, l'interprétation d'une activité peut ou non faire allusion a u documents. Donc, l'interprétation des documents est explicitement appelée au besoin à partir de l'interprétation de l'activité.

Les modèles analytiques des systèmes du travail coopératif sont substantiellement plus complexes que les modèles descriptifs. Plusieurs systèmes permettent la spéci- fication des fonctions de distribution de la probabilité, mais seulement quelques-uns permettent à l'analyste d'écrire les fonctions de sous-programmes pour définir le com- portement d'un nœud ou le choix d'un arc sortant.

2.6 Conclusion

Les systèmes du travail coopératif constitue une catégorie des outils de groupes [WooSS, Cum94, Whi931. Ils permettent de définir, d'exécuter, de coordonner et de contrôler la circulation des tâches à l'intérieur des organisations ou des groupes de travail [Bu192]. Ils sont composés d'un modeleur et d'un exécuteur et sont basés sur une architec- ture de type client/serveur [HLSl]. Les principaux modèles de représentation de ces systèmes sont les réseaux de Pert [KD66, Whi73, NOP951, les réseaux de file d'at- tente [Sau83, New82, GelSI], les organigrammes [Sim66, GH771, les réseaux de Petri [Gent%, Jen92, Mur89, Pet62, Rei85, NG921 et les réseaux de contrôle d'information (ICNs) [E1179, Nut721. Jusqu'à présent, les systèmes du travail coopératif ont connu seulement des analyses quantitatives basées sur l'animation des jetons ou la simulation.

Page 45: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Malgré que ces techniques sont efficaces et simples, elles ont l'inconvénient d'être inca- pables de garantir l'exactitude des comportements de tels systèmes. D'où la nécessité d'une analyse qualitative et formelle des systèmes du travail coopératif.

Page 46: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Chapitre 3

Des ICNs vers l'algèbre de processus CCS

Dans ce chapitre, nous allons présenter la méthode de l'analyse formelle et qualitative des systèmes du travail coopératif. Ainsi, ce chapitre sera structuré de la façon suivante: dans la section 1, nous d o n s présenter les motifs qui nous ont amené à choisir les ré- seaux de contrôle d'information (ICNs) comme modèle de représentation des systèmes du travail coopératif. Dans la section 2, nous d o n s rappeler l'analogie observée entre les ICNs et les algèbres de processus. Dans la section 3, nous allons décrire l'algèbre de processus CCS (Calculus of Communicating Systems). Dans la section 4, nous al- lons présenter la méthode de la traduction d'un ICN pur (c'est-à-dire sans ses aspects données et temporels) en un agent CCS. Dans la section 5, nous allons décrire la mé- thode d'analyse qualitative des ICNs (représentant les systèmes du travail coopératif), avec une brève description de l'environnement CWB (Concurrency Workbench) et d u p-calcul modal et propositiomel. La section 6 présente un exemple d'application de la méthode d'anaJyse qualitative. E n h , dans la section 7, nous dlons décrire brièvement l'implémentation de la méthode de la traduction des ICNs en des agents CCS.

3.1 Choix des ICNs comme modèle de représenta- t ion

Parmi les modèles de représentation des systèmes du travail coopératif que nous avons présenté dans le chapitre précédent, nous avons choisi celui des ICNs pour élaborer notre méthode d'analyse formelle et qualitative. Notre choix a été motivé par l'intégration de cette analyse dans les systèmes du travail coopératif (workfiow) FlowPath de Bull [Bu192]. Ce dernier repose sur une plateforme distribuée de type client-serveur qui utilise les ICNs.

Comme nous l'avons décrit auparavant, les ICNs [Ell79, Nut72j sont désignés comme un système de représentation des systèmes de la coordination du travail bureautique. Ils sont utilisés comme une base particulière pour l'implémentation et l'utilisation de ces systèmes, en particulier pour les systèmes du travail coopératif.

Page 47: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Des ICNs vers I 'algèbre de roce es sus CCS 38

t (a) Disjonction

(c ) Séquencement

(6 ) Conjonction

t (d) Boude

Figure 3.1: Les combinateurs de base d'un ICN.

Page 48: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Des ICNs vers I'alecèbre de roce es sus CCS 39

De plus, pour illustrer l'utilisation des ICNs comme modèle de représentation de ces systèmes, nous présentons la figure 3.1 dans laqueue les processus du travail coopératif sont mis en évidence. Ainsi, d'après cette figure, nous pouvons constater que le modèle offre la possibilité du séquencement des activités. Cela est représenté graphiquement par un arc partant de la première activité à exécuter vers la suite de la procédure (voir fi- gure 3.l(c)). Le choix (ou disjonction) entre n processus du travail coopératif (ou ICNs) notés work f loutl, . . . , work f lm, est graphiquement représenté par la figure 3 . l ( a ) . L a sémantique sous-jacente spécifie que l'un des ICNs wurk f lml, . . . , work f l m , va être choisi et exécuté. La composition parallèle (conjonction) de n processus du travail coo- pératif (ou ICNs) est graphiquement représenté par la figure 3.l(b). Sémantiquement la composition parallèle est interprétée comme un entrelacement . Le modèle permet éga- lement la définition des boucles dans les processus du travail coopératif. La figure 3. 1 (d) illustre une boucle qui se comporte comme suit: d'abord, le processus work flm2 est exécuté jusqu'à sa terminaison. Ensuite, soit I'ICN en entier termine, soit le processus work f lml est exécuté et à sa terminaison nous bouclons. Les données sont graphique- ment représentées par des rectangles. La production ou l'utilisation des données par une certaine activité est représentée par un arc orienté de l'activité vers le rectangle ou du rectangle vers I'activi té.

3.2 Analogie entre les ICNs et les algèbres de pro- cessus

Dans la littérature, plusieurs modèles ont été proposés pour la spécification des sys- tèmes. Parmi les modèles les plus importants, nous pouvons citer les algèbres de processus, tels que CCS (Calculus of Comrnunicating Systems)[Mil80, Mi1891, CSP (Communicating Sequentid Processus) [Bro85, BHRS4, BR85, Hoa851 et le r-calcul [MP W89, Milgl].

Une dgèbre de processus est un formalisme algébrique réduit à des constructeurs de base qui permettent de spécifier les systèmes parallèles et distribués. En général, les algèbres de processus sont sémantiquement interprétées par une sémantique transi- tionnelle (opérationnelle).

Notre travail repose lourdement sur une analogie observée entre les ICNs et les algèbres de processus. Étant donné que cette analogie a été déjà décrite auparavant, nous nous contentons de la rappeler brièvement. Ainsi:

O Les activités des ICNs sont similaires aux actions atomiques dans une algèbre de processus.

Les nœuds de contrôle "OU" sont similaires aux cornbinateurs de choix.

O Les nœuds de contrôle "ET" sont similaires à la composition parallèle des agents.

Finalement, les boucles dans les ICNs sont similaires dans une certaine mesure, a u agents définis récursivement.

Page 49: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Comme première approche pour développer la méthode d'analyse formelle et qua- litative des systèmes du travail coopératif, nous allons considérer l'analogie observée entre les ICNs purs (sans leurs nœuds de données et temporels) et l'algèbre de proces- sus CCS. Nous avons choisi cette dernière car elle constitue l'algèbre de processus la plus simple pour couvrir l'espace des ICNs purs. Cette algèbre de processus sera décrite dans la section suivante.

3.3 Algèbre de processus CCS

Le calcul CCS a été proposé par Robin Milner [Mi180, Mil891 comme un langage de description des processus communicants. Le mot processus désigne une machine, une mémoire, une procédure, etc. La communication est un moyen d'interaction entre les processus.

3.3.1 Syntaxe

Considérons un alphabet C dénotant les noms des actions atomiques parcourus par a, b, etc. Nous notons l'alphabet désignant les noms des actions complémentaires de celles de C. Ces noms complémentaires sont parcourus par ü, 6, etc. Soit C l'ensemble de C UZ. C est un ensemble d'étiquettes où E = a. C est étendu par une action silencieuse notée r. Cette dernière action n'a aucune action complémentaire. L'alphabet résultant de cette extension est notée A d , avec A d = L U {r). Soit L 2 L: et soit f une fonction de renommage définie de L vers L. Une telle fonction respecte la complémentarité tel que f (a) = f (a). f est étendue sur A d et conserve l'action silencieuse, tel que f ( T ) = T .

Un processus CCS peut être dénoté comme indiqué par la grammaire BNF suivante:

La constante ni1 modélise un processus inactif, c'est-à-dire qu'il n'exécute aucune action et termine tout de suite.

Le terme a.P dénote le processus qui peut exécuter l'action a, ensuite son corn- portement devient le même que celui de P. L'opérateur "." est un opérateur de préfizage.

L'agent Pl + Pz dénote un choiz ezterne (alternatif) entre deux processus Pl et p2

L'agent fi 1 Pz indique la composition parallèle de Pl et P2.

L'agent P\L représente l'agent qui ne peut pas exécuter les actions de L. L'opé- rateur \ est celui de la restriction.

L'agent P [f] désigne l'agent dont les actions ont été renommées par une fonction de renommage f.

Page 50: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

(Définit ion)

(Alternativel)

~ . P % P (Entrelacement 1)

P ~ P ' P+QAP (Restriction)

(Alternat ive2) QAQ' p + Q4Qr (Renom mage) PAP'

~ [ f l f ( l ; ) ~ [ f J -

(Communication) P ~ P Q+Q' P I Q ~ ~ I Q ' (Récursion) ~ [ r e c x . p / q & P '

rec ,~ . PS P'

Tableau 3.1: La sémantique transitionnelle de CCS

a Findement l'agent X = P dénote la définition et le lien (binding) des processus qui indique que l'identificateur X est lié à la valeur P qui consiste en la définition de X. Notons que l'expression X = P peut être aussi écrite sous la forme de rec X.P qui désigne la définition d'un processus récursif P. La variable X est la variable de récursion. Par conséquent. rec X. P est équivalent à P [(rec X. P ) / X ] , c'est-à-dire que le processus P dans lequel X a été substituée par recX.P (dé- pliage (unfolding) de la récursion).

3.3.2 Sémantique transitionnelle de CCS

Robin Milner présente dans [Mi1891 une sémantique transitionnelle ou opérationnelle pour CCS. Actuellement, cette sémantique opérationnelle est une description d'un sys- tème transitionnel qui se comporte comme un interpréteur du langage CCS. Un séquent de la forme de Pl A Pa désigne l'évolution de Pl vers Pz après l'exécution de l'action a. Il existe une ou plusieurs règles transitionnelles pour chaque opérateur. Chaque règle possède une conclusion et aucune ou plusieurs hypothèses. Dans chaque règle associée à un opérateur, la conclusion est une transition d'une expression formée d'agents OU l'opérateur est appliqué à un ou plusieurs composants, alors que les hypothèses sont des transitions de certains composants. L'ensemble des règles associées à chaque opérateur constitue une description de la signification de cet opérateur. Les règles d'inférence qui définissent la sémantique transitionnelle sont données dans le tableau 3.1.

La règle du préfizage signifie que le processus a.P peut exécuter (répondre à, participer à ou accepter) l'action a et évoluer en processus P.

Page 51: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

3.3.2.1 Exemple.

tic-t c t i c - tac.C1 4 Ci.

r La règle de définition signifie que si P peut évoluer en P' en exécutant a, et que

la condition X dg P est vérifiée, alors nous avons le processus X qui évolue en P' en exécutant a.

3.3.2-2 Exemple.

Les règles alternative 1 et alterna tive2 correspondent aux règles associées à l'opé- rateur " + ". Ce dernier a une étendue plus large que l'opérateur du préfixage "." et constitue un opérateur de choix en CCS. Ainsi, si le processus P évolue en processus P' en exécutant une action a, alon le processus P + Q va évoluer en processus Pr en exécutant la même action. Par contre si le processus Q évolue en Q' en exécutant une action a , alors le processus P + Q va évoluer en processus Q' en exécutant a.

3.3.2.3 Exemple.

Initialement la machine Ven accepte la pièce 2 p ou Ip. Ensuite un bouton big ou little est pressé selon le type de la pièce ( 2 p ou lp) deposée dans cette machine. Finalement, après qu'un élément soit ramassé, le processus retrouve son état initial Ven.

0 La règle entrelacement1 indique que si le processus P peut exécuter seul une ac- tion a, dors il peut égaiement exécuter cette action dans le contexte du processus PI&, sans pour autant déranger le processus Q. Il en est de même pour le pro- cessus Q dans la règle entrelacement2 La composition parallèle des processus, dans ces deux règles, s'effectue par entrelacement. Par contre la règle de corn- munication représente le cas d'une synchronisation. Les deux processus P et Q exécutent chacun et simultanément une action complémentaire à celle de l'autre et évoluent en même temps en P' et Q' en conservant la composition parallèle et en produisant une action interne r.

Page 52: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

La règle de restriction indique que si un processus P exécute une action a et évolue en un processus Pr et si ni cette action, ni son complémentaire ne font partie d'un ensemble d'actions L, alors le processus P auquel nous interdisons toute exécution d'une action de L, en exécutant l'action a, évolue en Pr tout en gardant la même restriction.

Pour illustrer les règles de la composition parallèle et de la restriction, prenons l'exemple suivant [Mi1891 où a, b et c sont des noms distincts et A et B sont deux processus tels que:

Nous allons appliquer les règles de la composition parallèle et de la restriction pour déterminer la valeur de (AIB)\c. Ainsi nous obtenons:

(AIB)\c = a.(AIIB)\c

(Ar] B)\c = r.(AIBr)\c (AI Br)\c = u.(A'~B')\c + AI B)\C - (AtI Bt)\c = 6.(ArI B)\c

La règle de renornmage indique que si un processus P peut évoluer en un processus Pr, en exécutant une action a et si nous renommons toutes les actions du processus P par une fonction de renommage, alors en exécutant l'action a renommée par la même fonction, ce processus évolue en un processus P' qui garde le même renommage des actions.

3.3.3 ThéorGme d'expansion

Le théorème d'expansion permet Ia réduction d'un processus à sa forme normale [Mil89]. Grâce à ce théorème, les opérateurs du pardèlisme sont reécrits sous forme de l'opérateur du choix. Les constructeurs de la forme normale sont le préfixage ".", la somme et le choix "En. Nous définissons l'expression CiEr Pi comme étant la somme des processus Pi où I est un ensemble d'index parcouru par i. Nous pouvons également écrire cette expression sous la forme de C{Pi : i E 1) ou simplement Ci Pi.

3.3.3.1 Théorème. Soit le processus P = (P l 1 . . . ( P,), où n 2 1. Alors nous avons:

Page 53: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Le symbole C représente l'agent "+". L'agent Pl + . . . + P, est représenté par CHl pi-

Nous illustrons le théorème d'expansion par l'exemple suivant [Mi189]:

3.3.3.2 Exemple. Soit a, b et c trois noms distincts et supposons que:

L'agent f fait une transition 6 par Pl et une transition c par P2. 11 fai t une corn- munication via a. Ainsi, nous avons P = b.(PrI P2)\a + c(Pt 1 P;')\a + r.(P;I P;)\a

Les systèmes actuels sont décrits par des expressions distinctes de processus. Cepen- dant, deux expressions peuvent décrire un même système. Ainsi, nous considérons le problème de distinction entre les descriptions des processus. Sans doute, deux processus sont différents s'ils modélisent deux objets de types différents et si en plus, à chaque niveau, leurs expressions algébriques, leurs noms d'actions et leurs graphes de flux et de transit ions diffèrent. Or les différences synt axiques seules ne sont pas suffisantes pour distinguer les processus, puisqu'il est possible que deux descriptions de processus soient équivalentes bien qu'elles soient exprimées diffèremment. Tel est le cas dans l'exemple suivant [Sti94]:

3.3.4.1 Exemple. Soient deux compteurs Cto et Cmnt dont les descriptions sont présentées comme suit:

D'où la notion d'équivalence. En CCS, cette notion est basée intuitivement sur l'idée de pouvoir distinguer entre deux agents P et Q, si cette distinction peut être détectée par un agent externe qui interagit avec eux. L'équivalence fait appel à des relations de bisimulation [Mi183, ParSI]. Avant de définir cet t e dernière, nous présentons la relation "- -" qui constitue une généralisation de la relation de transition "-+" . Cette dernière relation est définie comme étant la transition d'un agent, d'un état à un autre, suite à l'exécution d'une action.

Page 54: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

3.3.4.2 Définition. Soit p E L' (L* désigne l'ensemble des séquences d'actions de L) tel que p =

al,. . . ,a,, nous pouvons écrire que P 4 Q si:

(La notation (4)' désigne une séquence de zéro ou plusieurs actions T ) .

La bisirnulation [Mi183, Par811 est généralement appelée équivalence observation- nelle. ElIe exprime l'équivalence des processus dont les communications externes suivent le même modèle, mais dont le comportement interne peut différer.

3.3.4.3 Définition. Nous définissons inductivement La famille des relations d'équivalence =, ( n 2 O )

comme suit:

(i) VP,Q : P %O Q

( a ) P A P ' =+ 3Q' 1 QAQ' A Pt s, Q' ( b ) Q&Qt * 3P' 1 P&Pr A P' =, Q'

3.3.4.4 Définition. Soient P et Q deux processus de CCS; P et Q sont considérés équivalents obser-

vationnellement ou bisimulaires et sont écrits sous la forme de P Q si et seulement si:

Ainsi, L'équivalence observat ionnelle ou la bisimulation est définie comme suit:

Notons d'abord qu'une équivalence devrait être une congruence. Une conpence est assurée si en considérant deux processus bisimulaires et en les plaçant dans n'importe quel contexte, les processus résultants ont les même propriétés de base, notamment les même capacités et nécessités. En principe, une équivalence en étant une conpence permet un raisonnement structuré concernant les associations des processus, ainsi qu'un raisonnement é q u a t i o ~ e l sur lequel peuvent être fondées les preuves d'équivalence.

La section suivante constitue une présentation de la description de notre méthode de traduction d'un ICN en un agent CCS.

Page 55: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Ues l W s vers l'algèbre de processus C'W 40

3.4 Traduction des ICNs en algèbre CCS

Afin de réaliser une analyse qualitative des ICNs, nous avons élaboré une nouvelle méthode. Cette méthode est basée sur la traduction d'un ICN pur donné, en un agent CCS. Ce dernier est chargé dans l'environnement CWB (Concurrency Workbench) [CPSSl] que nous allons présenter ultérieurement. Par la suite, le processus généré subit une vérification formelle, en utilisant un vérificateur par évaluation de modèle (rnodel- checking) contenu en CWB. Les propriétés à vérifier sous l'environnement C WB sont exprimées en p-calcul modal et propositionnel [Koz83, Pra.81, Sti87, Sti94j.

3.4.1 Prob&mes et solutions

L'approche sous-jacente à la traduction d'un ICN en un agent CCS est basée sur l'analogie mentionnée précédemment, entre les ICNs purs et l'algèbre de processus CCS. Bien que cette analogie soit attirante, nous avons besoin de préciser quelques difficultés :

0 la première difficulté concerne le problème de l'expressivité. Les modèles des ICNs permettent le séquencement des tâches, tandis qu'il n'existe Uaucun" sé- quencement des processus dans le CCS. Plutôt, 17dgèbre de processus CCS a un opérateur de préfixage qui est moins expressif que le séquencement habituel. Afin de surpasser cet te limitation, nous exprimons le séquencement de deux proces- sus en utilisant les constructeurs de la récursion, du choix, du préfixage et nil. Ceci est fait par remplacement de tous les sous-expressions du premier proces- sus qui sont sous forme de nil, par l'expression globale qui représente le second processus. Graphiquement, un processus peut être vu comme un graphe avec un nombre fini de branches (un arbre de synchnonisation selon la terminologie de Milner[MilSO, Mil891). D'où, le fait que le séquencement de deux processus revient à la concatenation du graphe du second processus à toutes les branches terminales du graphe du premier processus (celles qui se terminent par des feuilles).

0 La deuxième difficulté à surpasser concerne la présence simultanée de la compo- sition parallèle (les nœuds ET) et le séquencement des tâches dans un modèle des ICNs. L'application de la technologie précédente du séquencement semble être adéquate. Cependant, son application nous restreint à utiliser seulement nil, le préfixage, le choix et la récursion. En d'autres termes, la technique du séquencement est inapplicable en présence de la composition parallèle. Par con- séquent, il faut éliminer 170pérateur du parailèlisme en CCS. Afin d'atteindre ce but, nous devons tout simplement calculer l'équivalent d'une forme normale du processus original, en utilisant le théorème d'expansion du CCS. La figure 3.2 (a) est une illustration graphique de la technique du séquencement. Par exemple, étant donné un processus P = a.nil + b.c.nil + d.e.P et un proces- sus Q = f-ni1 + g.nil, alors le séquencement des deux processus est P; Q = R = a.(f.nil + g-nil) + b.c.(f.nil + g.ni l ) + d.e.R. La figure 3.2 (b) est une illustration graphique de l'utilisation du séquencement en présence de la corn- position parallèle. Soit P le processus a.nil + b.nil et Q le processus c.nil. L a

Page 56: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Figure 3.2: Le schéma de traduction du séquencement des processus.

composition parallèle de ces deux processus est PIQ = ( a d + b.nil) lc.nil. Nous appliquons le théorème d'expansion sur ce dernier processus pour caicu- ler sa forme normale. Ce processus est alors réduit à sa forme normale qui est a.c.nil + b.c.nil + c.(a.nil + b.nil). Ensuite, soit R le processus d. f.nil + e.nii. Le séquencement des deux processus Pl& et R est le processus (PIQ); R = a.c.(d. f.nil+e.nil)+b.c.(d. f.nil+e.nil)+c.(a.(d. f.nil+e.nil)+b.(d. f.nil+e.nil)).

Finalement, notons que nos ICNs correspondent à des processus d'états finis qui sont appropriés au vérificateur par évaluation de modèle (model-checking). En effet, cela est atteint en fournissant des associations (joins) sur les nœuds "ETn et "OU" pour les ICNs. Ces associations jouent le rôle de bonnes parenthèses sur ces nœuds. Une fois que nous avons une paraenthèse (un arc orienté qui part d'un nœud "ETn ou d'un nœud "OUn), la syntaxe spécifie que nous devons la fermer (un arc orienté qui part vers les nœuds "ETn ou "OU"). Cela est une condition très importante qui assure la terminaison de la traduction et fournit également un vérificateur par évaluation de modèle qui est simple et efficace durant l'analyse.

Page 57: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

3.4.2 Méthode de traduction

La traduction est compositionnelle et est dirigée par la syntaxe:

Une tâche donnée a est traduite en un agent CCS a.nil, c'est-à-dire que l'agent exécute l'action a et ensuite termine avec succès.

0 Le séquencement de deux processus du travail coopératif notés Wl et T&$ est traduit par le séquencement des processus correspondants. Ce séquencement peut être représenté par l'algorit hrne suivant:

La traduction de la disjonction de deux processus du travail coopératif notés Wl et W2 est interprétée comme un choix entre l'exécution du processus associé à Wl ou l'exécution du processus associé à W2, OU l'exécution simultanée (parallèle) des deux processus.

La traduction de la conjonction d'une liste finie des ICNs revient à l'exécution parallèle des processus correspondants.

Une boucle d7iCNs est traduite en un processus récursif qui exécute le processus qui correspond au premier sous-ICN et ensuite, soit il termine avec succès soit il exécute le deuxième sous-ICN et boucle.

L'algorithme de traduction des ICNs en agents CCS est présenté graphiquement dons la figure 3.3.

La section suivante présente une description de notre méthode d'analyse qualitative avec un rappel sur l'environnement CWB [CPSSl] et sur le p-calcul modal [Koz83, Pra81, Sti87, Sti941.

3.5 Analyse Qualitative Dans cette section, nous présentons notre méthode d'analyse qualitative des ICNs (ac- tuellement, nous traitons les ICNs purs). La plupart des systèmes du travail coopératif utilise l'analyse quantitative (simulation). Notre analyse sert à vérifier les propriétés traditiome~es, à comprendre le comportement des réseaux sophistiqués et à prouver les équivalences entre les ICNs afin de les optimiser.

Page 58: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Figure 3.3: Le schéma de la traduction des ICNs en agents CCS.

Page 59: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Ues I W s vers I'afgèbre de processus G U 5CI

CCS Agent1

M u c t c u r Modéles

ICN2 CCS Agent2

Figure 3.4: Le schéma de l'analyse qualitative.

3.5.1 Méthode d'analyse La méthode d'analyse est basée sur les algorithmes du vérificateur par évaluation de modèle (model-checking) . Elle peut être utilisée de deux manières différent es:

0 La première utilisation de la méthode d'analyse est illustrée dans la figure 3.4. Dans ce cas, le but est de vérifier qu'un ICN d o ~ é , noté I C N l , satisfait une certaine propriété. Ceci est réalisé de la façon suivante: d'abord nous traduisons I'ICN ICNl en un agent CCS, noté agentl. Ensuite, nous exprimons la propriété à vérifier en p-calcul modal et propositionnel. Cette propriété et l'agent CCS sont alors soumis, comme entrée, à un vérificateur par évaluation de modèle. Une fois la vérification formelle de la propriété sur l'agent agentl est réalisée, le vérifi- cateur fournit comme sortie un résultat booléen (Vrai ou Faux) correspondant respectivement à la satisfaction ou non de cette propriété par l'agent CCS agent 1.

La deuxième utilisation de la méthode d'analyse est illustrée par la figure 3.4. Dans ce cas, le but est de vérifier que deux ICNs, notés ICNl et ICN2, sont équivalents selon une certaine équivalence de CCS. Cette utilisation de la mé- thode d'analyse est bénéfique surtout quand l'un des deux ICNs est soupçonné d'être une forme optimisée de l'autre. Dans ce cas, l'établissement de l'équivalence confirme l'hypothèse précédente. Les deux ICNs ICN1 et I C N 2 sont soumis à un traducteur d'un ICN en un agent CCS et nous obtenons respectivement deux processus notés agent1 et agent2. Les deux processus sont alors soumis comme entrée au vérificateur par évaluation de modèle et le résultat est aussi une valeur booléenne, comme dans le cas de la première utilisation de la méthode, (c'est- à-dire Vrai ou Faux correspondant, cette fois, respectivement à l'équivalence ou non des deux processus).

Dans le cadre de ce travail, nous avons expérimenté la vérification de plusieurs types de propriétés:

Page 60: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Vérification des équivalences des comportements des systèmes du travail coopé- ratif. Il existe plusieurs vérifications d'équivalence, telles la bisimulation, l'équi- valence de test , etc.

Les propriétés de vivacité et de sûreté exprimées en p-calcul modal et proposi- t iomel.

Le calcul de la taille d'un graphe de comportement associé à un ICN.

Le calcul des traces d'exécution d'un ICN.

Vue l'import ance de l'enviromement C WB ( Concurrency Work bench) dans l'ap- plication de notre méthode d'analyse qualitative et formelle, nous allons donner une description brève de cet outil.

3.5.2 Environnement CWB Le CWB est un outil automatique [CPSSl] qui permet la manipulation et l'analyse des systèmes parallèles. En particulier, le CWB tient compte de divers équivalences, préordres et vérificateurs par évaluation de modèles, qui utilisent plusieurs sémantiques différentes de processus. Avec le CWB, il est possible de:

définir des comportements et appliquer différentes analyses sur ces derniers,

0 définir des propositions dans une logique modale et vérifier si un processus donné satisfait une spécification formulée en cet te logique,

dériver automatiquement les formules logiques qui distinguent les processus non équivalents ,

simuler d'une manière interactive le comportement d'un agent, et

dériver d'une façon semi-interactive la spécification d'une partie manquante d'une implémentation incomplète, donnant ainsi une spécification complète que I'im- plémentation doit satisfaire.

Dans le tableau 3.2, nous présentons un exemple d'une session de travail sous le CWB.

Notons que dans le tableau 3.2, la notation 'b désigne l'action complémentaire de b (c'est-à-dire 6). Quant à la commande eq, elle permet de vérifier si deux agents sont observationnellement équivalents ou pas.

Dans notre méthode d'analyse qualitative, nous utilisons le p-cdcd modal et pro- positionne1 [Koz83, Pra81, Sti87, Sti94j pour exprimer les propriétés à vérifier. Par conséquent, nous présentons une description de cette logique dans la sous-section sui- vante.

Page 61: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Edinburgh Concurrency Workbench, version 7.0alpha3, Tue Sep 20 20:42:57 BST 1994 (1) Command : agent Cell = a.'b.Cell; ( 2 ) Command : agent CO = Ce61 [cl b] ; (3) Command : agent C 1 = Ce11 [c/a, d/b] ; (4) Command : agent C2 = Cell [dia] ; (5) Command:agent Buff3=(COIC1ICS)\(c,d); (6) Command : agent Spec = a.Sped; (7) Comrnand : agent Sped =' b.Spec + a.Spedr; (8) Command : agent Spec" =' b.Sped + a.'b.SpeP; ( 9 ) Command : eq (Bu f f 3, Spec); (9a) true (10) Command : quit ; (1) Command : agent

Tableau 3.2: Exemple d'une session du travail en CWB.

3.5.3 p-calcul modal Le p-calcul modal et propositionnel est une logique basée sur une extension de la logique de Hennessy-Milner [HM85, Mi1891. Cet te dernière est une logique modale dé- signée, entre autres, à étiquetter les systèmes de transitions. Cette logique introduit des modalités qui sont paramétrées par des actions et qui expriment la capacité d'exécuter ces actions. Plusieurs extensions de cette logique ont été proposées. Elles ont conduit à une logique appelée généralement le p-calcul modal [Sti87] qui a été introduite dans [Koz83, Pra811.

Les formules en p-calcul modal sont construites en utilisant les opérateurs booléens habituels, les opérateurs modaux ([KI (box) et ( IC) (diamond) où K est un ensemble d'actions) qui expriment la capacité d'un processus d'exécuter certaines actions et les opérateurs du point fixe aiin d'exprimer les propriétés sur des chemins infinis. La syntaxe des formules est donnée par la grammaire BNF suivante:

Les constantes Vrai et Faux désignent les constantes booléennes habituelles.

Page 62: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

7 désigne la négation.

a A désigne la conjonction.

V désigne la disjonction.

L a formule [KI@ signifie que tous les processus résultants d'une exécution d'une certaine action de l'ensemble satisfont la formule a. La formule (K)O signifie qu'il existe au moins un certain processus qui résuite d'une exécution d'une certaine action dans K et qui satisfait la formule @.

La formule u2.Q exprime la propriété donnée par la solution maximale de Z = a. L'opérateur uZ. est un lien (binder) liant les occurrences libres de Z dans <P.

L'opérateur PZ. est un opérateur dérivé de vZ. tel que pZ.8 %f -ivZ.-iQ [Z := -iZ] où Q [Z := -21 est la résultat de la substitution de chaque occurrence libre de Z dans Q par -2.

L a formule PZ.$ exprime la propriété donnée par la solution minimâle de Z = a.

En effet, les formules de point fixe sont abbrégées. Elles peuvent être dépliées comme suit:

@O = Faux

L a sémantique de cette logique est donnée par une relation de satisfaction. Pour n'importe quelle formule 8, nous définissons quand un processus P a ou satisfait la propriété 9 et nous écrivons P + 9 pour désigner cette affirmation. Si P ne satisfait pas cette propriété, nous écrivons alors P Q. La relation de satisfaction + est définie inductivement sur la structure des formules:

Page 63: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Chaque processus satisfait la propriété Vrai. Un processus satisfait la propriété -4 quand il n'a pas la propriété 9. 11 a la propriété 9 A Q quand il a les deux propriétés <P et 9. Tandis qu'il a la propriété 8 V O quand il a la propriété 8 ou la propriété @. Finalement, un processus satisfait la propriété [KI@ si après chaque exécution de n'importe quelle action de K tous les processus résultants ont la propriété cP. Tandis qu'il satisfait la propriété ( K ) O si après chaque exécution de n'importe quelle action de K, au moins un des processus résultants satisfait la propriété 0.

Notons que nous adoptons la logique de p-calcul modal comme un modèle pour la vérification des propriétés. Parmi les propriétés à vérifier nous citons par exemple:

Even(X) =pY.XV(-)YEventualIyX

Neuer(X) = -Even(X) Never X Alzcays(X) = vY.X A [ - ]Y Always X

Notre méthode d'analyse qualitative et formelle nous permet de comprendre et d'analyser le comportement d'un système du travail coopératif. En plus, elle s'avère fort efficace quand ce système est modélisé par un ICN complexe.

3.5.4 Exemple Comme exemple, considérons I'ICN dans la figure 3.5. Cet ICN possède quatre com- positions parallèles emboîtées. Par conséquent, une bonne compréhension de son com- portement global est presque impossible. Car malgré la représentation graphique, cette compréhension est loin d'être évidente. La complexité évolue exponentiellement selon le niveau des compositions parallèles emboîtées. Nous observons une explosion com- binatoire du nombre des états, qui est due aux entrelacements générés par tes nœuds ET et les nœuds de contrôle. Une fois que cet ICN est chargé dans notre outil, il peut être traduit en un agent CCS. Nous avons d o n , une partie listée de la caractérisation équat ionnelle dans le tableau 3 -3.

Afin de mettre en évidence l'efficacité de notre méthode d'analyse qualitative et formelle des ICNs, nous d o n s l'appliquer sur un exemple.

Page 64: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Figure 3.5: Un ICN complexe.

Page 65: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Tableau 3.3: Caractérisation équat ionnelle.

Page 66: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

3.6 Exemple d'application de la méthode d'analyse qualitative

La figure 3.6 illustre un ICN pur qui modélise une procédure de traitement d'un bon de commande.

Pour pouvoir appliquer notre méthode d'analyse qualitative, nous allons procéder par des étapes. D'abord, nous allons faire correspondre à chaque activité une action, ainsi nous aurons:

a a correspond à l'activité d'éditer le bon de commande.

0 b correspond à l'activité de corriger le bon de commande.

0 c correspond à l'activité de vérifier le bon de commande.

0 d correspond à l'activité d'envoyer le bon de commande à l'administration.

a e correspond à l'activité de vérifier le client.

a f correspond à l'activité d'envoyer le bon de commande au stock.

a g correspond à l'activité de commander les articles manquants.

0 h correspond à l'activité de vérifier si les articles sont en stock.

0 i correspond à l'activité de ne pas envoyer Les articles qui manquent.

j correspond à l'activité de choisir un fournisseur pour les articles qui manquent.

a k correspond à l'activité d'envoyer les articles disponibles.

a 2 correspond à l'activité d'envoyer le bon de commande à la comptabilité.

0 rn correspond à l'activité d'envoyer la facture au client.

a n correspond à l'activité d'enregistrer le bon de commande.

a O correspond à l'activité d'envoyer la facture complémentaire des articles qui manquaient.

a p correspond à l'activité de vérifier s'il y a eu des articles qui manquaient et s'ils sont rentrés au stock.

r correspond à l'activité d'envoyer le bon de livraison.

a s correspond à l'activité d'envoyer l'état de compte.

O t correspond à l'activité de vérifier si la facture est payée.

Page 67: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

éditer bon de commande A comigu bon de commande vérifier bon de commandc

Figure 3.6: Exemple d'un ICN pur.

Page 68: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

-

1 - E n t e r a workflow definition

2 - E n t e r a workflow s y s t e m

3 - quit

> 1

nter definition:

2 - W3 W 4 3 = U b , cl 4 = I[W5, WB, W7, n l

6 = f W8 Pi9 7 = 1 n m n l l 8 = @[QI h l 9 = +[k, I c i , j l l 10 = 1 [m, W12, r] II = @[S. t] 12 = @Co, P I

Figure 3.7: Définition d'un système du travail coopératif.

Ensuite, nous allons traduire cet ICN pur en des agents CCS. Pour ce, nous allons utiliser un algorithme déjà implémenté [DL941 de la méthode de la traduction d'un ICN pur en un agent CCS. Ainsi, nous définissons nos processus du système du travail coopératif de la manière suivante (voir figure 3.7):

Notons que lors de cette définition, le séquencement des processus est représenté par un espace blanc, la conjonction est représentée par le symbole " I n , la disjonction est représentée par le symbole et la boucle est représentée par le symbole "W.

Puis, en exécutant cet l'algorithme, nous obtenons 619 équations algèbriques pour cet ICN. Ces équations sont alars sauvegardées dans un fichier sous forme de com- mandes en CWB (voir figure 3.8). Chaque commande lie un identificateur à un agent CCS. Une partie de ces commandes est listée dans le tableau 3.4.

Apds avoir chargé ce fichier de commandes dans l'environnement CWB (voir figure

Page 69: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Tableau 3.4: Liste de commandes en CWB.

Page 70: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Des I W s vers 1 'dgebre d e processus LL's 01

d . X 6 1 5 + j . X 5 9 6 + t.X544 d X 6 1 6 + i-d.e.0 d . X 6 1 7 + L X 5 9 6 + t.X548 t.XS54 + n-t-X465 j.n.0 + n. j.0 j . X 6 0 1 + t.X556 + n.X618 j . X 4 6 5 + s . j . 0 + s .X618 j.p.X467 + p.X560 L n - O + n . i . 0 L X 6 0 1 + t - X 5 6 3 + 1 ~ x 6 1 9 i.X465 + s - i - O + s . X 6 1 9 i.p.X467 + p.X567 k.t.X465 + L X 6 1 8 + j . X 6 1 9 + t . X 5 7 2 h.X578 + t . X S 7 6 i.j.0 + j.i.0 e.t-X465 + t - X 5 8 2 e.j.0 + j.e.0 e .X618 + j.X613 + +.X586 e . i . 0 + i.e.0 e .X619 + i.X613 + t . X S 9 O j . t . X 4 6 5 + t . X 6 0 4 ilt.X465 + 1 ~ x 6 0 8

want t o save the equations ? (yin)

Figure 3.8: Génération d'équations algébriques.

3.9), nous pouvons:

0 cdculer le nombre des états de l'agent CCS X. Nous avons obtenu dors 633 états (voir figure 3.9),

a vérifier, grâce aux algorithmes du vérificateur par évaluation de modèle, si le système du travail coopératif représenté par 1'ICN de la figure 3.6 est défaillant ou non. Ainsi, nous allons vérifier par exemple:

- Si l'agent CCS X satisfait la propriété indésirable suivante: peut-on avoir le cas où il n'y a jamais eu d'envoi d'articles jusqu 'à ce qu'on a envoyé une facture, et après, il n'y a jamais eu d'envoi d'articles?. Par conséquent, nous allons exprimé cette propriété que nous notons a3, en p-calcul modal, de la manière suivante :

Page 71: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Ensuite, nous chargeons la propriété <Pf en CWB où nous effectuons la vé- rificat ion formelle (voir figure 3.9).

b a c h c m ] : c w b

The Edinburgh C o n c u r r e n c y Workbench ( V e r s i o n 6 . 1 2 , A p r i l 1 5 , 1993)

Cormaiid: if expccs.res

Corrand: size X

X h a s 6 3 3 S t a t e s .

C o i i a n d : b p i I d e n t i f i e r : P h i 1 P r o p o s i t i o n : - r i i n ( Y . (<k>T 1 <->Y))

Corrand: b p i I d e n t i f i e r : Phi2 Proposition: m i n ( X - ( < a > P h i l 1 < - > X ) )

Coarand: b p i I d e n t i f i e r : Phi3 P r o p o s i t i o n : œin(X. ( P h i 2 1 (Phil a < - > T &[-1x1) )

Cortmand: c p

P r o p o s i t i o n : Phi3

Figure 3.9: Vérification par évaluation de modèle en CWB.

- Si l'agent CCS X satisfait la propriété suivante: a-t-on toujours, à chaque fois qu'on envoie une facture, un envoi nécessaire d'articles?. Donc, nous allons exprimer cette propriété que nous notons Oj, en p calcul modal, de la manière suivante :

Page 72: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Des ICNs vers i '&èbre de processus CGS 63

Ensuite, nous chargeons la propriété @j en CWB où nous effectuons la vé- rification par évaluation de modèle (voir figure 3.10).

Notons que la vérification des propriétés est vraiment très difficile à réaliser ma- nuellement, étant donné que le nombre des états du processus X est très grand. Mais au niveau du CWB, le vérificateur par évaluation de modèle peut vérifier 1a satisfaction d'une propriété donnée pax un processus donné même si son nombre d'états est énormément grand.

a vérifier s'il y a des interblocages (deadlocks). En effet, il y aura un interblocage (commande fd en figure 3.10) après l'exécution de la séquence des actions sui- vantes: aq, 6, d, e, f, g, k, 1, m, n, O, r et s. Par conséquent, aucune action n'est plus possible après,

trouver les actions observables que l'agent CCS X peut effectuer immédiatement (command init en figure 3. IO),

a lister les transitions d'un processus (commande tr en figure 3.10),

etc.

3.7 Implémentation

Notre outil est implémenté en langage sur une station de travail h i x . 11 est stnicturé de la manière suivante [DL94]:

Des analyseurs lexicaux sont implémentés en LEX, et sont utilisés afin, d'abord, de générer une Liste de jetons ou d'unités lexicales, à partir d'une représentation textuelle d'un ICN, ensuite, d'appliquer les substitutions syntaxiques dans le cas d'une représentation équationnelle. Cette forme permet une entrée facile pour les ICNs de grandes tailles.

Des analyseurs syntaxiques sont implémentés en YACC pour vérifier la confor- mité avec la grammaire, puis, de réaliser ensuite une analyse sémantique pour la génération des agents CCS. Cet te génération est basée sur les actions sémantiques associées aux règles de production de la grammaire.

Une librairie en C a été implémentée afin de traiter les agents CCS et de per- mettre toutes les compositions autorisées en CCS (préfixage, choix, récursion, composition parallèle, etc. )

Page 73: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Cornrand: bpi Identifier: Phi8 1 Proposition: rin(Y- ( [k] T 1 [-]Y) )

Coiiand: bpi IdentiEier: Phi' 2 Proposition: iin(X.(<i>Phi81 1 <->X))

Coiiand: bpi Identifier: Phi * 3 Proposition: max(Y-(Phi82 & [-]Y))

Corriand: cp Agent: X Proposition: Phi8 3 £ a l s e Corrand: £d Agent: X --- a b d e f g k l r n o r s - - - > O

-- - - - - - -. - - -. -

Figure 3.10: Exécution d'autres commandes en CWB.

La représentation interne est basée sur des graphes (qui sont représentés par des diagrammes de décision binaire BDD). Ces graphes correspondent à la notion théorique d'arbre de synchronisation, introduite par Milner afin de construire une sémantique dénotationnelle pour CCS.

3.8 Conclusion

Afin d'élaborer notre méthode d'analyse qualitative et formelle des ICNs, nous avons commencé par considérer les ICNs purs (c'est-à-dire sans leurs aspects données et tem- porels). Ainsi, par analogie observatiome~e entre ces derniers et les agents de l'algèbre de processus CCS (Cdculus of Communicating Systems) [Milgo, MiISg], nous avons

Page 74: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

développé une méthode de traduction des ICNs purs en des agents CCS. Par la suite, l'agent traduit a été chargé dans I'environnement CWB (Concurrency Workbench) [CPSSl]. Grâce aux algorithmes du vérificateur par évaluation de modèle de CWB, nous avons vérifié des propriétés qui étaient exprimées auparavant en p-calcul modal et propositionne1 [Koz83, Pra81, Sti87, S ti941.

Page 75: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Chapitre 4

Des ICNs vers l'algèbre de processus TCCS

Rappelons que la méthode que nous venons de présenter dans le chapitre précédent, ne tient pas compte des aspects temporels et données des ICNs. Or, comme nous nous intéressons actuellement aux aspects temporels des ICNs, nous avons pensé à étendre notre méthode d'analyse qualitative, de manière à ce qu'elle prenne en considération ces aspects.

Ainsi, le chapitre présent constitue une extension de notre méthode d'analyse qua- litative et formelle avec les aspects temporels des ICNs. Ce chapitre est constitué des sections suivantes: Dans la section 1, nous mettons en évidence les aspects temporels des ICNs. Dans la section 2, nous décrivons une nouvelle algèbre de processus connue sous le nom de TCCS (Temporal Calculus of Communicating Systems). La section 3 constitue une description de la méthode de traduction des ICNs, avec leurs aspects temporels, en des agents TCCS. La section 4 présente la méthode étendue de l'ana- lyse qualitative et formelle des ICNs temporisés. Dans la section 5, nous présentons un exemple d'application de cette méthode d'analyse. Enfin, la section 6 donne une conclusion du chapitre.

4.1 Aspects temporels des ICNs Afin de mettre en évidence l'ajout des aspects temporels dans les ICNs, nous présentons la figure 4.1. Cette figure illustre les cornbinateurs de base des ICNs temporisés, dits TICNs (Timed Information Control Nets) ou ICNs temporisés. Notons que graphique- ment, les combinateurs des TICNs diffèrent de ceux des ICNs (présentés dans la figure 3.1 du chapitre dernier) au niveau du séquencement. Ce dernier est illustré par la figure 4.1 (c). Dans cette figure, le nom de l'action est attaché à une unité de temps. Ainsi, les activités qui modélisent les actions sont représentées avec leurs aspects temporels et ceci en associant à chaque action une unité de temps qui correspond à la durée de son exécution.

En plus, pour montrer l'utilité de la considération du temps dans les TICNs, nous allons reprendre l'exemple de la procédure d'achat présenté dans la figure 2.9 du &a-

Page 76: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

(c ) Séquencement

t (a) Disjonction

+ ( b ) Conjonction

( d ) Boude

Figure 4.1: Les combinateurs de base d'un TICN

Page 77: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

pitre 2, auquel nous ajouterons les aspects temporels. Ainsi, nous obtenons la figure 4.2.

Dans cette figure, nous supposons que la préparation du formulaire d'achat dure 20 unités de temps. Si l'achat est approuvé, alors un ordre d'achat est produit en 10 unités de temps et envoyé à un fournisseur qui a été sélectionné en 30 unités du temps. Le vendeur fournit la pièce après 95 unités environ et l'emballe avec une liste d'expédition au département d'achat. Une fois la pièce reçue, elle est envoyée après 60 unités de temps au client, tandis que la facture est envoyée au département de comptabilité, après une procédure de vérification qui a duré 45 unités de temps. Cette vérification est réalisée grâce à une comparaison du contenu de la liste d'expédition avec la pièce expédiée. Pendant ce temps, le vendeur aurait préparé en 15 unités de temps, une facture pour le département d'achat qui vérifie et certifie en 20 unités de temps que la pièce est effectivement reçue. Enfin, le paiement sera envoyé au vendeur en 25 unités de temps.

Notons que pour pouvoir réaliser une analyse qualitative des TICNs, nous avons besoin d'une algèbre de processus plus expressive que CCS. En effet, l'algèbre de pro- cessus CCS est incapable d'exprimer les aspects temporels des ICNs, d'où la nécessité d'avoir une algèbre plus expressive telle le TCCS (Tempord Cdculus of Communica- ting Systems) [MTgO].

Nous notons que l'analogie observée entre les ICNs et l'algèbre de processus CCS, que nous avons déci te précédemment, est préservée entre les TICNs et l'algèbre de pro- cessus TCCS. Mais de plus, nous observons une analogie entre les capacités d'inactivité (idling) des agents et les durées des activités dans les ICNs.

Nous présentons dans la section suivante, la description de l'algèbre de processus TCCS.

4.2 Algèbre de processus TCCS

Le TCCS (Temporal Calculus of Cornmunicating Systems) est une algèbre de processus proposeée par Moller et Tofts [MT89]. Elle constitue une extension de l'algèbre de processus de Milner (c'est-à-dire le CCS) [Mi183, Mi189j.

4.2.1 Syntaxe

Considérons un ensemble de symboles d'actions atomiques L, ne contenant pas l'action silencieuse T et nous définissons A d = & U {r). Nous supposons que L est divisé en deux ensembles qui ont le même nombre d'éléments et qui ont une bijection de corn- plémentarité "2' étendue par Z = a. Ces actions complémentaires, comme en CCS, constituent la base de la méthode de communication dans ce langage. Nous supposons également que Var est l'ensemble des variables des processus et que 7 est l'ensemble des divisions du temps, tel que 7 = {1,2,3,. . .). Ainsi, la représentation du temps

Page 78: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Entreprise Y Rédaction de la demande d'achat : 20

L a pièce n'est pas commandée

Approuvée? Oui, la demande est transmise

Réception du bon Choix du iournisseur : 30 de commande : ?O

Rédaction et envoi du

Fabrication bon de commande : 10 En stock : 10

spkïaIe : 5

Envoi de Ia pike : ôû

Envoi de la f m u r e : 15

Réception du paiement : 20

Réception de la pièce : 45

Envoi de la demandeur

pièce

: 60

Réception de la facture : 20

Paiement Paiement de la facture : 25

Figure 4.2: Un TICN qui modélise une procédure d'achat.

Page 79: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

est restreinte à un modèle intégral et discret pou . deux raisons: La première est prag- matique car un modèle de temps discret convient, intuitivement, plus souvent à un modèle d'un système. La deuxième est théorique puisque le modèle du temps discret est nécessaire pour prouver la complétude des axiomatisations.

Les expressions de TCCS parcourues par P sont définies par l'expression BNF suivante, où a E A d , X E Var, t E 7 et f est la fonction de renommage, définie de Act -, A d , tel que f(a) = f(ü) et f(r) = r.

L'interprétation informelle de ces termes est la suivante:

O représente le processus nil qui ne peut ni exécuter une action ni permettre le passage du temps.

X représente le processus lié à la variable X dans un environnement déterminé.

a.P représente le processus qui peut exécuter l'action a et évoluer par la suite en processus P. Mais, il ne peut pas évoluer dans le temps avant l'exécution de l'action a.

(t). P désigne le processus qui va évoluer en processus P après exactement t unités de temps.

a 6.P représente le processus qui est sollicité par son environnement, d'attendre n'importe quelle unité de temps, avant de se comporter comme le processus P.

a Pl $ P2 désigne le choix entre les deux processus Pl et Pz. Le processus Pl $ Pz va se comporter comme le processus Pl ou le processus Pz. Le choix est fait au moment de la première action ou sinon, à l'occurrence d'un passage du temps quand seulement l'un des opérandes le permet. L'opérateur @ est appelé "choiz faible".

a Pl + P2 représente une notion plus forte du choix entre le deux processus Pl et Pz Le processus se comporte comme le processus Pl ou le processus P2. Le choix est fait seulement au moment de la première action. Et n'importe quel passage initial du temps doit être permis pax les deux processus à la fois. L'opérateur " + " est appelé "choiz fort".

PI 1 Pz représente la composition parallèle des deux processus Pl et Pz. Chacun des processus peut exécuter indépendamment n'importe quelle action ou ils peuvent synchroniser sur des actions complémentaires produisant une action 7. N'importe quel passage du temps peut être enregistré par chacun des deux processus Pl et pz

P\a représente le processus dont l'exécution de l'action a ou de son complément n'est pas permise.

Page 80: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Des ICNs vers 1 'algèbre de roc es sus TCCS 71

P [f] représente le processus dont les actions sont renommées par la fonction de renommage f .

p; Z . r> représente la solution (le plus petit point fixe) de l'équation s = P.

Pour montrer l'utilité du langage du TCCS, nous présentons l'exemple suivant [MT89]:

4.2.1.1 Exemple. Soient t; E 7 (avec 1 5 i 5 n) et les processus Hi définis par Hi dg (ti).finishi.O.

Ces processus peuvent être considérés comme des chevaux qui sont en compétition dans une course. En plus, le temps que prend un cheval i pour atteindre la ligne d'arrivée est représenté par t;.

Ainsi, si nous dénotons une course par la composition parallèle de ces processus, dcf alors nous aurons Race = n15i5, Hi (où Hi G Hi 1 H2 l... 1 H,), de plus nous

représentons le gain de la course par Race = (t,).iinish,.O où le symbole = désigne "le fait d'avoir le même graphe de transition" et où t , < t i pour tout m # i.

dzf Ensuite, si nous dénotons un autre processus par Race' - Hi (où Cisis, Hi E Hl + Hz + .-. + H,), dors nous pouvons constater que Race = Race'. Ceci est une consé- quence naturelle du fait que les éléments d'un choix passent ensemble le temps jusqu'à ce qu'un choix soit réalisé.

4.2.2 Sémantique du TCCS

La sémantique de TCCS est basée sur les transitions. Elle est présentée structurellement dans le style de [Plo81]. Or, aiin de définir cette sémantique, nous avons besoin de la définition d'un prédicat syntaxique qui permet de décrire quand un processus doit arrêter de retârder ses calculs, après une certaine durée de temps. Cela est réalisé gâce à l'utilisation de la fonction suivante sur les termes de TCCS:

4.2.2.1 Définition. La fonction 1.1, : T + {O, 1'2. . . . , w ) (où T est l'ensemble des termes en TCCS)

définit la durée maximale du retard qu'un processus peut permettre avant de forcer un calcul (ou interblocage) à se produire. Formellement, cette fonction est définie comme suit :

101, = 0

Page 81: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Tableau 4.1: La sémantique transitionnelle de TCCS

Page 82: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Dans le tableau 4.1, nous présentons les règles opérationnelles du langage TCCS. Eiles sont sous la forme de règles d'inférence et sont lues de la manière suivante: si la (les) trassition(s) en haut de la ligne d'inférence peuvent être inférées, dors nous pouvons déduire qui est en bas de cette ligne. La sémantique transitionnelle est donnée par les relations +C T x Ad x T et -+C T x 7 x T (avec T: l'ensemble des termes en TCCS et 7: l'ensemble des unités du temps). Un séquent de la forme P 4 Q signifie que le processus P évolue en processus Q après l'exécution de l'action a. Alors qu'un séquent de la forme P A Q désigne un processus P qui évolue en processus Q après exactement t unités de temps.

4.2.3 ThéorBrne d'expansion

Les lois d'expansion permettent la réduction d'un processus en sa forme normale. La composition parallèle est un opérateur non primits d'où le besoin de l'exprimer sous forme de choix. Avant de présenter les lois d'expansion pour le TCCS, nous définissons les formes normales suivantes:

4.2.3.1 Définition, Un terme est sous la forme de N F (ou en NF) s'il est en @NF, t N F , 6 N F . Un terme est sous la forme de $ N F (ou en @ N F ) s'il est de la forme de @ t < i < n ~ i . f i

où chaque f l est en NF. En particulier, si n = O nous aurons O comme un @ N F . Un terme est sous la forme de t N F (ou en t N F ) s'il est de la forme de P @ (1).Q

où P est en @NF et Q est en NF. Un terme est sous la forme de bNF (ou en 6 N F ) s'il est de la forme de 6. P où P

est en $ N F .

Les lois équationnelles du langage TCCS sont présentées dans le tableau 4.2 pour l'opérateur du choix fort +, dans le tableau 4.3 pour l'opérateur du choix faible @ et dans le tableau 4.4 pour l'opérateur de la composition parallèle 1.

Par analogie à la c o n p e n c e de Milner [Mi189], nous avons une forme de conguence qui nécessite que deux processus synchronisent sur l'exécution de leurs actions et sur leurs capacités du passage du temps. Ainsi, nous définissons comme suit, une relation d'équivalence -, basée sur la notion de bisimulation de Park [Par811 sur les termes clos de TCCS:

4.2.4.1 Définition. P - Q si et seulement si pour tout a E Act et pour tout t E 7,

Page 83: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

( + i ) ( X + Y ) + Z = X + ( Y + ~ ) (+8 ) a x + ( t ) y = n t

(+2 1 x + y = y + z (+9) a s + 6 y = a x + y

(hl x + x = x (+IO) 62 + b y = 6 ( x + y )

(+4) x + 6 O = z (+id ( t ) ~ + = ( t ) ( z f Y)

(+5) O + ( t ) x = O (+12) 6% + ( t ) b y = 6 x

(+6) O + a x = O + a x (+@i a.z + 6.y = a.x @ b.y

(+7) 0 + 6 x = O + x (+&) + ( y @ z) = ( X + Y ) 8 ( X + 4

Tableau 4.2: Les lois équationnelles de l'opérateur +

6.5.x = 6.2

(e4) x ~ O = x 6. ( t ) .x = 6.0

(es) 6.1 @ 6.y = 6-(2 @ y) ( s ) . ( t ) . x = ( s + t ) . x

(@6) ( t ) @ ( t ) -y = ( t ) ( X @ y) ( " $ Y ) @ ~ . = x $ ( Y $ ~ )

(@7> 6.0 = (t) .6.0 a : @ y = y @ x

(&) 6a.z = a.x @ ( 1 ) .6.a.x x @ x = x

Tableau 4.3: Les lois équationnelles de l'opérateur @

Page 84: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Tableau 4.4: Les lois équationneiles de l'opérateur de la Composition Parallèle. 1

Page 85: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

i) si P 4 P ' alors Q4Q' pour un certain Q' avec P' - QI,

ii) si Q4Q' alors P 4 P f pour un certain P' avec P' -- Q',

i i i ) si P -f* P' alors Q A Q' p o u r un certain Q' avec P' - QI,

iv ) si Q -A Q' alors P -t* P' p o u r un certain P' avec P' - Q',

En plus, cette interprétation sémantique respecte la description informelle de la fonction du retard maximum 1.1, définie précédemment.

La proposition suivante nous informe qu'un processus peut rester inactif aussi long- temps que la fonction de retard le permet.

4.2.4.2 Proposition. PA P's i et seulement si lPll 2 t.

En utilisant cette proposition, nous pouvons également montrer que cette équiva- lence est en fait substitutive [MT89], donnant ainsi la proposition suivante:

4.2.4.3 Proposition. - est une congruence pour les opérations de TCCS.

Afin de permettre l'analyse qualitative des TICNs (Timed Information Control Nets), nous élaborons une méthode de traduction d'un TICN en un agent TCCS. La description de cette méthode est présentée dans la section suivante.

4.3 Traduction en algèbre de TCCS

En nous inspirant de la méhode de la traduction d'un ICN en un agent CCS, nous avons dévoloppé notre nouvelle méthode de traduction d'un TICN en un agent TCCS. Cette traduction est basée sur l'analogie entre les TICNs et l'algèbre de processus TCCS. Elle présente les mêmes problèmes techniques que nous avons vus au niveau de la traduction des ICNs en agents CCS, c'est-à-dire l'expressivité du séquencement, la présence simultanée du séquencement et de la composition parallèle et la garantie de la terminaison de cette traduction. En tenant compte de cette similitude, nous préferons opter pour l'utilisation des mêmes solutions proposées dans le cas de la traduction en CCS. Par conséquent, nous exprimons le séquencement des tâches en TCCS en fonction des opérateurs de choix, récursion, préfixage et/ou ni1 et nous appliquons l'algorithme du séquencement suivant:

Page 86: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

P ; Q = case P of: O * Q a. Pr + a.(Pr; Q) (t).Pf * (t).(Pf; Q) 4. Pr + &.(Pr; Q) P r $ PM + (Pf;Q) @ ( P N ; Q ) P i + PM * (Pf;Q)+(P";Q)

recX.Pr + recX.(Pf; Q) X *x

end

Nous notons que le processus P et Q sont supposés être des processus q réduits, plus d'être réduits à leur forme normale. Nous dénotons aussi que l'opérateur de la

composition parallèle n'est pas exprimé au niveau de l'algorithme puisqu'il peut E t re éliminé par l'application des lois d'expansion.

La figure 4.3 (a) est une illustration graphique de la technique du séquencement. Par exemple, soient un processus donné P = (2).a.O 8 (l).b.(S).c.P et un processus donné Q = (l) .d.O $ (3).e.0. Alors, Le séquencement de ces deux processus est P; Q = R = (2).a.((l).d.O $ (3).e.0) $ (1).6.(3).c.R.

Ensuite, pour éviter la présence simultanée du séquencement et de la composition parallèle, nous procédons à l'élimination de l'opérateur de la composition parallèle, et ceci en appliquant les lois d'expansion au processus d'origine. La figure 4.3 ( 6 ) est une illustration graphique de l'utilisation du séquencement en présence de la compo- sition parallèle. Soit P le processus (2). f.0 $ (l).g.O et Q le processus (3).h.0. La composition parallèle de ces deux processus est PIQ = ((2). f .O @ (l).g.o) ((3). h.0. Nous appliquons les lois d'expansion sur ce dernier processus pour calculer sa forme normale. Ce processus est alors réduit en une forme normale qui est (2). f .b f 0 @ (l).g.b f O. Soit R le processus (2).i.(l).j.O 5 (l).k.O. Le séquencement des deux processus (PIQ); R = (2). f.((2).i.(l).j.O) @ (l).g.((2).i.(l).j.O @ (l).k.O).

Finalement, pour assurer la terminaison de la traduction et fournir un vérificateur par évaluation de modèle simple et efficace, nous utilisons des liens sur les nœuds "ET" et "OU" des TICNs, de la même manière que nous avons décrite pour la traduction en CCS.

Ainsi, la traduction d'un TICN en un agent TCCS est compositionnelle et présentée de la façon suivante:

Considérons un ensemble A = CU ç. C est une alphabet qui dénote les noms parcourus par a, 6, etc. Cf est une alphabet qui dénote les noms complémentaires parcourus par a', b', etc. Nous notons que les noms sont utilisés pour indiquer le dé- but des durées des activités des processus du travail coopératif, tandis que les noms complémentaires sont utilisés pour indiquer la fin de ces durées.

Page 87: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Figure 4.3: Le schéma de la traduction du séquencement des processus.

Page 88: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

a Une tâche donnée d'un processus du travail coopératif, avec une durée t , où t est une unité de temps est traduite en un agent TCCS a.(t).al.b.O, c'est-à-dire que l'agent exécute l'action a qui indique le début de l'exécution de la tâche a, ensuite après t unités de temps, l'agent exécute l'action al qui indique la fin de l'exécution de cette tâche et termine enfin avec succès. Nous notons que dans notre traduction, nous utilisons 6.0 au lieu de O pour exprimer le processus ni1 et ceci afin d'éviter les interblocages et permettre l'exécution de toutes les actions des processus lors de l'utilisation de l'opérateur de la composition parallèle.

Le séquencement de deux processus du travail coopératif notés WL et W2 est traduit comme le séquencement des processus qui leur correspondent.

L a traduction de la disjonction de deux processus du travail coopératif notés WL et W2 est interprétée comme un choix faible entre l'exécution du processus attaché à Wl ou l'exécution du processus attaché à W2 OU l'exécution simulta- née (parallèle) de ces deux processus. Nous notons que dans notre traduction, un processus commence par une action. D'où le choix faible et fort deviennent équivalents. Mais, les lois équationnelles pour l'opérateur de la composition pa- rallèle sont plutôt exprimées en utilisant l'opérateur du choix faible. En plus, puisque l'opérateur du choix fort a un pouvoir expressif qui est faible [MT89], nous utilisons l'opérateur du choix faible dans notre traduction.

0 La traduction de la conjonction d'une liste finie des TICNs revient à l'exécution parallèle des processus correspondants.

Une boucle en TICN est traduite en un processus récursif qui exécute le processus qui correspond au premier sous-TICN et ensuite, soit il termine avec succès ou soit il exécute le second sous-TICN et boucle.

L'algorithme de la traduction des TICN en des agents TCCS est représenté dans la figure 4.4.

La section suivante présente une description de notre méthode d'analyse qualitative des ICNs en tenant compte de leurs aspects temporels.

4.4 Analyse qualitative

Notre méthode d'analyse qualitative et formelle d'un TICN reste la même que celle que nous avons décrite pour un ICN. Le procédé est le même et repose sur les deux modes d'utilisation que nous illustrons par la figure 4.5. Ainsi, en premier lieu, si nous voulons vérifier qu'un certain TICN noté T I C N l vérifie une certaine propriété, alors nous traduisons TICNl en un agent TCCS noté agentl et nous exprimons la propriété en p-calcul modal et propositionnel. Ensuite, nous soumettons cette dernière avec l'agent agentl généré de la traduction à un vérificateur par évaluation de modèle contenu dans l'environnement CWB et qui fournit comme résultat les valeurs booléennes (vrai ou faux), indiquant ainsi la satisfaction ou pas de la propriété. En second lieu, si

Page 89: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Figure 4.4: Le schéma de la traduction des TICNs en agents TCCS.

Page 90: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Ues 1 GNs vers 1 'algèbre de processus 'L'CC'S' 81

CCS Agent2

'L'raducteur Modeles h u x

TICN2 CCS Agent1

Figure 4.5: Le schéma de l'analyse qualitative.

nous voulons vérifier l'équivalence de deux TICNs notés T I C N l et TICNS, alors nous n'avons qu'à les traduire en des agents TCCS et soumettre les deux agents générés que nous notons agent1 et agent3 au vérificateur par évaluation de modèle. Ce dernier fournit également une valeur booléenne comme résultat pour indiquer l'équivalence ou non de ces deux TICNs. La vérification de cette équivalence s'avère très importante dans le cas où nous nous intéressons à l'optimisation de l'un de ces TICNs.

La section suivante présente un exemple d'un ICN temporisé, par lequel nous met- tons en évidence l'efficacité de l'application de notre méthode étendue d'analyse qua- litative et formelle.

4.5 Exempled'application de laméthode d'analyse qualitative

La figure 4.6 iliustre un ICN temporisé qui modélise une procédure simplifiée du trai- tement d'un bon de commande.

Pour appliquer notre méthode d'analyse qualitative et formelle sur l'exemple de la figure 4.6, nous allons procéder comme suit :

D'abord, nous d o n s faire correspondre à chaque activité de la procédure de l'exemple de la figure 4.6 une action. Bien sûr , nous allons représenter la durée de chaque activité. Notons que les durées représentées sont juste des estimations fictives pour cet exemple, et ne refètent nullement les durées réelles des activités. Ainsi, nous aurons:

a a : 5 correspond à l'activité d'éditer un bon de commande dont la durée est 5 unités du temps.

b : 2 correspond à l'activité de traiter un bon de commande dont la durée est 2 unités du temps.

Page 91: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

éditer bon de commande : 5

traiter bon de commande: 2 commande :

corriger bon de O v&ifier bon de commande: 1 commande : 3

Figure 4.6: Exemple d'un ICN temporisé.

Page 92: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

0 c : 1 correspond à l'activité d'enregistrer un bon de commande dont la durée est 1 unité du temps.

0 d : 1 correspond à l'activité de comger un bon de commande dont la durée est 1 unité du temps.

e : 3 correspond à l'activité de vérifier un bon de commande dont la durée est 3 unités du temps.

f : 10 correspond à l'activité d'envoyer une facture au client dont la durée est 10 unités du temps.

g : 10 correspond à l'activité d'envoyer les articles commandés au client dont la durée est 10 unités du temps.

Ensuite, nous allons traduire cet ICN temporisé en des agents TCCS. Étant donné le fait que notre méthode de traduction d'un ICN temporisé en un agent TCCS n'est pas encore implémentée, nous allons l'appliquer manuellement. D'ailleurs, c'est pour cette raison que nous avons choisi un exemple très simplifié. Ainsi, nous définissons nos processus du système du travail coopératif comme suit:

= a.5.a' W2 = w3 w4

= 1[b.2.br, c.l.d]

= W5 W6 = Q[d.l.df, e.3.el

= I[f.lO.f. g.lo.grl

a conjonction, la disjonction et la bouc1

Wl w2 tv3 w4 tV5 W6

Notons que le séquencement, 1 e sont repré- sentés de la même manière que lors de la traduction d'un ICN pur en un agent CCS (c'est-à-dire, ils sont représentés respectivement par un espace blanc, 1, +' et @). De plus, une apostrophe après une action en TCCS indique son action complémentaire (exemple a' correspond à a).

Puis, en appliquant manuellement notre méthode de traduction d'un ICN tempo- risé en un agent TCCS à l'exemple de la figure 4.6, nous avons obtenu 11 équations algèbriques que nous avons transformées en commandes en CWB. Chaque commande lie un identificateur à un agent TCCS. Ces commandes sont listées dans le tableau 4.5.

Notons qu'une apostrophe avant une action indique le complémentaire de cette action en CWB.

Après avoir chargé ce fichier de commandes dans l'environnement CWB (voir figure 4.7), nous allons procéder comme dans le cas de l'algèbre de processus CCS. Ainsi, nous pouvons :

0 calculer le nombre des états de l'agent TCCS X. Nous avons obtenu alors 89 états (voir figure 4.7)'

Page 93: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Tableau 4.5: Liste de commandes en C m .

a vérifier, grâce aux algorithmes du vérificateur par évaluation de modèle, si le système du travail coopératif, représenté par I'ICN de la figure 4.6 est défaillant ou non. Par exemple nous allons reprendre les mêmes propriétés que nous avons vérifiées pour le cas du CCS. L'idée est de mettre en évidence la considération des aspects temporels. Ainsi, nous allons vérifier:

- si l'agent TCCS X satisfait la propriété indésirable suivante: peut-on avoir le cas où il n'y a jamais eu d'envoi d'articles jusqu 'à ce qu 'on a envoyé une facture, et après, il n'y a jamais eu d'envoi d'articles?. Par conséquent, nous allons exprimer cette propriété que nous notons G3, en p-calcul modal de la manière suivante :

Ensuite, nous chargeons la propriété a3 en CWB où nous effectuons la vé- rification par évaluation de modèle (voir figure 4.7).

- Si l'agent TCCS X satisfait la propriété suivante : a-t-on toujours, à chaque fois qu'on envoie une facture, un envoi nécessaire d'articles?. Donc, nous dons exprimer cette propriété que nous notons QG, en p calcul modal de la manière suivante :

Page 94: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES
Page 95: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Ues f C'IVs vers i 'algèbre de processus TCCS 86

a lister toutes les séquences de transitions d'actions observables des agents TCCS, dont la longueur est spécifiée par un nombre donné. En plus, pour chaque agent, son état h a 1 est f i c h é (commande obs en figure 4.8)'

etc.

Corniand: bpi Identifier: Phi' 1 Proposition: iin(Y.([lOliglT 1 [ - ] Y ) )

Corniand: bpi Identifier: Phi' 2 Proposition: rin(X.(<lO><f> Phi'l 1 <->X))

Corrand: bpi Identifier: Phi'3 Proposition: iax(X.(Phi'2 1 [ - l x ) )

Cormand: c p Agent: X Proposition: Phi'3 true Commaad: fd Agent: X

I l Bo such agents-

Corniand: obs Humber: 20 Agent: X =-= a 1 1 1 1 1 'a b c 1 'c 1 'b e 1 1 1 'e d 1 ' d - X I === a 1 1 I I 1 'a b c 1 'c 1 'b e 1 1 1 'e £ g ==-> 10-X8 m i = a 1 1 3, 1 1 'a b c 1 'c 1 ' b e 1 1 1 'e g £ =-=> 10-X9 -== a 1 1 1 1 1 'a c b I 'c 1 'b e 1 1 1 'e d 1 a==> 'd.X1

a 1 1 1 1 1 'a c b 1 'c 1 'b e 1 1 1 'e f g O==> 10-XI0 a 1 1 1 1 1 'a c b 1 'c 1 * b e 1 1 1 'e g £ = m i > 10.Xll

Coriand: init X

Cormand:

Figure 4.8: Exécution d'autres commandes en CWB.

4.6 Conclusion

En considérant les aspects temporels des ICNs, le pnncipe de notre méthode d'analyse qualitative et formelle n'a pas changé. Toutefois, nous avons eu besoin d'une algèbre de processus plus expressive que le CCS pour exprimer les aspects temporels des ICNs.

Page 96: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Des ICNs vers I'alnèbre de roce es sus TCCS 87

Cette algèbre de processus est le TCCS (Temporal Calculus of Communicating Sys- tems) [MT89]. Par conséquent, notre méthode de traduction a changé. Nous avons tra- duit alors les ICNs temporisés (les TICNs) en des agents TCCS. Par la suite, nous avons chargé les TICNs en CWB (Concurrency Workbench) [CPSSl]. Nous avons exprimé les propriétés à vérifier en p-colcul modal et propositionne1 (Koz83, Pra81, Sti87, Sti941 et nous avons procédé à la vérification des ces propriétés grâce aux techniques de vérifi- cation pax évaluation de modèle contenues en CWB.

Page 97: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Chapitre 5

Conclusion

Dans ce mémoire, nous nous sommes intéressés à 17mdyse qualitative (la vérification formelle) des systèmes du travail coopératif (workflow). Nous avons noté que l'analyse des comportements de ces systèmes a toujours été de type quantitative (la simulation). Or, l'inconvénient majeur de la simulation est son incapacité de garantir l'exactitude des comportements des procédures des processus de ces systèmes. De plus, notre intérêt a été suscité par d'autres facteurs, tel d'abord, le besoin de détecter et de corriger les erreurs de la spécification à une étape précoce de la conception d'un système du travail coopératif. Ensuite, le besoin d'optimiser et de simplifier le modèle conçu pour la repré- sentation d'un tel système. Sans oublier, la nécessité de garantir le bon fonctionnement de ce modèle optimisé et sans erreur.

Par conséquent, nous avons élaboré un cadre d'analyse qualitative et formelle pour les systèmes du travail coopératif. Pour ce, nous avons utilisé les réseaux de contrôle d'information (les ICNs) [Ell79, Nut92bj qui sont considérés comme les modèles les plus populaires pour représenter ces systèmes. Ainsi, notre approche a consisté en l'élaboration d'une méthode de vérification qualitative et formelle pour le modèle des ICNs. Cette méthode a été basée sur l'obsenration d'une analogie entre les ICNs et les algèbres de processus courantes. Grâce à cette analogie, nous avons développé une méthode de traduction qui permet de traduire un ICN en un agent d'une algèbre de processus. Ensuite, nous avons réalisé la vérification formelle des ICNs au moyen des techniques de vérification par évaluation de modèle (model-checking). Ainsi, nous avons vérifié d'un côté qu'un certain ICN modélisant un processus du travail coopératif satisfait une certaine propriété. D'un autre côté, nous avons vérifié que deux ICNs sont équivalents selon une relation d'équivalence exprimée dans une certaine algèbre de processus.

Afin d'élaborer cette méthode d'analyse qualitative, nous avons considéré, en pre- mier Lieu, les ICNs purs (c'est-à-dire sans leurs nœuds de données ni leurs aspects temporels). Ainsi, par analogie à l'algèbre de processus CCS [Mi180, Mi1891, nous avons développé la méthode de traduction d'un ICN pur en un agent CCS. Cet agent a été chargé ensuite dans l'environnement CWB [CPSSl] et les propriétés à vérifier ont été exprimées en p-calcul modal et propositionnel [Koz83, Pra81, Sti87, Sti941. La véri- fication de ces propriétés a été réalisée au moyen des algorithmes de vérification par

Page 98: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Con clusion 89

évaluation de modèle contenus dans le CWB. En second lieu, nous avons étendu notre méthode d'analyse qualitative et formelle afin de prendre en considération les aspects temporels des ICNs. Par conséquent, nous avons observé une analogie entre les ICNs temporisés (TICNs) et l'algèbre de processus TCCS [MT89]. En utilisant cette ando- gie, nous avons traduit les TICNs en des agents TCCS. De même que pour les ICNs purs, les TICNs traduits ont été chargés dans l'environnement CWB et les propriétés à vérifier ont été exprimées en p-calcul modal et propositiomel. Grâce aux algorithmes de vérification par évaluation de modèle, nous avons réalisé la vérification de ces pro- priétés.

Comme travaux futurs, nous proposons d'abord, une nouvelle extension de notre analyse qualitative et formelle, de façon qu'elle considère aussi les nœuds de données des ICNs. Pour ce, nous aurons besoin d'une algèbre de processus plus puissante et plus expressive que les agèbres de processus CCS et TCCS. Ensuite, une élaboration d'une méthode d'optimisation des ICNs modélisant des systèmes du travail coopératif qui à partir d'un ICN domé, nous permet d'obtenir (quand une optimisation est possible) un ICN équivalent et optimisé. Enfm, une élaboration d'algorithmes qui nous permettent la réalisation de la vérification par évaluation de modèle de ces ICNs.

Page 99: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

Bibliographie

[BHR84] S.D. Brooks, C.A.R. Hoare, and A.W. Roscoe. A theory of communicating sequential processes. A CM, 31(3):560-599, Jui 1984.

P. Boersma. Experimental Research into Usabiiity and Organisational Im- pact of Workflow Software. Department of Computer Science, University of Twente, 1994. Master's thesis.

S.D. Brooks and A. W. Roscoe. An improved failure set mode1 for commu- nicating processes. ln Seminar on Concurrency, pages 28 1-305. S pringer- Verlag, 1985.

S.D. Brooks. On the relationship of CCS and CSP. Technical report, Carnegie-Mellon University, 1985.

S. A. Bull. Flowpath functiond specification. Technical report, September 1992.

E.M. Clarke and E.A Emerson. Design and synthesis of synchronization skeletons using branching-time temporal logic. In Proceedings of workshop on Logic of Programs. Spring-Verlag, 1981.

E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic verification of finite- state concurrent systems using temporal logic specifications. AC-M Transac- tions on Programrning Languages, 8(2):244-263, April 1986.

K.H. Conrad. Elirninating the paper chase (insurance records management). Lije/Heuit Insurance Edition, 92(11):54-58, March 1992.

W. R. Cleaveland, J. Parrow, and Steffen. The concurrency workbench. In Proceedings of the Woorkshop on Automatic verification Methods for Finite- Stute S y s t e m , volume 407 of Lecture notes Comput. Sci., pages 24-37, Ber- Lin Heidelberg New York, 1990. Springer.

R. Cleaveland, J. Parrow, and B. Steffen. The concurrency workbench: A semantics based tool for the verification of concurrent systems. Technical report, Aachen, 1991.

J. Cummings. Defming groupware and other impossible tasks. Business Commvnications Review, 24(2):35-39, Feb. 1994.

Page 100: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

BIBLIOGRAPHIE 91

M. M. Compton and S. Wolfe. Intelligent validation and routing of electronic forms in a distributed workfiow environment. In Proceedings of the Tenth Conference on ArtiJicial Intelligence for Applications, pages 125-131. IEEE Cornput. Soc. Press, 1994.

P. J. DeMing. Work is a closed loop process. Arnen'can Scientist 80,4:314- 314, July- August 1992.

P. J. Denning. The fifteen level. In Proceedings of ACM SIGMETRICS Conference on Measurement EI Modeling of Cornputer Systems, Fairfax, VA 22030, May 1994.

M. Debbabi and D. Lifchitz. Des uworkflowsn vers les algèbres de processus: Traduction et analyse. Technical report, Bd. France, 1994.

P. Dumas. La méthode OSSAD. Les Editions d'organisation, 1991.

[EFRV86] R. S. Estrin, R. Fenchel, R. Razouk, and M. K. Vernon. Sara (system architects apprentice): Modeling, analysis and simulation support for design of concurrent systems. IEEE Transactions on Software Engineering, SE 12(2):293-311, February 1986.

C. Ellis, S. J. Gibbs, and G. L. Rein. Groupware: Some issues and expe- riences. Communications of the ACM, 34(1):38-58, January 1991.

E. A. Emerson and C.-L Lei. Efficient mode1 checking in fragments of the propositional mu-calculus. In Proceedings of the First Annual Symposium on Logic in Cornputer Science, pages 267-278, 1986.

C. A. Ellis. Information control nets: A mathematical mode1 of office infor- mation flow. In ACM Conference on Simulation, Measarement and Modeling of Cornputer Systems, pages 225-239, August 1979.

C. A. EUis and G. J. Nutt. Office information systems and cornputer science. In Computer-Supported Cooperative Work: A Book of Readings, U S A , 1988. Morgan Faufmmn, Inc.

Jean-Claude Fernandez. AL DEBARA N: Un système de vérifcation par ré- duction de processus communicants. 1988. PhD thesis.

Fernando Flores. Management and Communication in Ofice of the Future. PhD thesis, Department of Philosophy, University of Caiifornia, Berkerly, 1979.

F. Flores. Offering new pinciples for a shifting business world. In Business Design Associates, 2200 Powell S t met, Suite 400, Emeryville, CA 94608, 1992.

Page 101: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

A. Finkelstein, M.J. Tauber, and R. Traunmueller. Human factors in analy- sis and design of information systems. In Proceedings of the IFIP TC8/ WG 8.1 Working Conference on Humain Factors in information Systems Ana- lysis and Design, 1990.

E. Gelenbe. Product form queueing netwoks with negative and positive customers. Appl. Probability, S8:656-663, 199 1.

H. J. Genrich. Predicate/transition nets. In Advances in Petri Nets 1986, pages 3-43. Springer -Verlog, 1986.

S.E. Goodman and S.T. Hedetniemi. Introduction to the Design and Analyse of Aigorithms. Mc Graw-Hill, Inc, 1977.

J. L. Gray, N. Hazeltine, and J. Lynch. Bridging islands of information wit h cooperation software. AT and T Technology, 7(1):26-33, 1992.

D. Gibbs. Document image processing: Norwich union case study. In Pro- ceedings of the coderence OIS Document Management 92, pages 79-84. Meckler, 1992.

M. Gordon. Ln good forrn. PC User, 55(213):16-29, 1993.

Hubert Gravel. Compilation of lotos abstract data types. In Procee- dings of the 2nd Internationai Con ference on Formal Description Techniques FORTE'89 (Vuncouver B. C, Canada), pages 147-162, Amsterdam, North- Holland, December 1989. Son T. Vuong, editor.

K. Hales and M. Lovery. Workflow management software: the business op- portunity. Technical report, 7 Rathmore Street, London W 1P 1 AF, England, 1991.

M. Hemessy and R. Milner. Algebraic laws for nondeterminism and con- currency. JACM, 32(1):137-161, january 1985.

C. A.R. Hoare. Communicuting Sequential Processes. Prent ice-Hall, 1985.

S. Joosten, G. Aussems, M. Duitshof, R. Huffmajer, and E. Mulder. An empirical study about the practice of workflow management. Technical report, University of Twente, 1994.

Kurt Jensen. Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Springer -Verlag, 1992.

J.Harre1, S.D. Gyeszly, and J. Gomez. A time analysis of a technical ser- vices workflow in a representative librmy: Year one implementation of an integrated system. Technical Services Quarterly, 9(4):49-61, 1992.

R. Joosten. Automat ing team process. Visual Basic Programmer's Journal, pages 40-61, 1994.

Page 102: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

[KD66] A. Kaufmann and G. Desbueille. La méthode du chemin critique: Applica- tion de la méthode P.E.R.T et de ses vanantes. Dunod, 1966.

[Koz83] D. Kozen. Results on the propositional mu-calculus. Theoret. Computer Science, 27:333-354, 1983.

[Li901 Jianzhong Li. AMS: A Declaratiue Formalkm for Hierarchical Representa- tion of Procedural Knowledge. L7Ecole Nationale des Télécommunications, 1990. PhD thesis.

[Lov9O] S. Love. Workflow systems - an introduction and framework. Technical report, Hewlett-Packand Lab., 1990.

[Lov92] M. Lovery. A survey of worLdlow management software. In Proceedings of the Conference of OIS Document Management 92, pages 398-404. Meckler, 1992.

[MAD94] D. Menascé, V. Almeida, and L. Dowdy. Capacity Planning and Perfor- mance Modeling: From Main fmrnes to CIient-Semer Systerns. Prentice-Hall, 1994.

[Mi1801 A.J.R.G. Milner. A calculus of communicating systems. In Lecture Notes in Computer Science 92? pages 281-305. Springer-Verlag, 1980.

[Mi1831 R. Milner. Calculi for synchrony and asynchrony. Theoret. Comput. Science, 25267-310, 1983.

[Mil891 A. J.R.G. Milner. Communication and Concurrency. Prentice-Hall, 1989.

[Mi1911 R. Milner. The polyadic T-calculus: A tutorid. Technical report, Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, 1991.

[Mou921 Laurent Mounier. Méthodes de vérification de spécification comportemen- tales, études et mise en œuvre. 1992. PhD thesis.

[MPWSg] R. Miiner, J. Parrow, and D. Waiker. A calculus of mobile processes. Tech- nical report, Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, 1989.

[MT891 F. Moller and C. Tofts. A temporal calculus of communicating systems. Technical Report No. LFCS-89-104, University of Edinburgh, 1989.

[Mur891 T. Murata. Petri nets: Properties, andisis and application. IEEE, 77(4) 580, April 1989.

[New821 G. F. Newell. Applications of Queueing Theory. ChAPMAN AND HALL, London, 1982.

Page 103: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

[NG92]

[NOP95]

[Nut 721

[Nut %?a]

[Nut92b]

[Nut93a]

[Nut93b]

[ParSlj

[Pet621

[PKC94]

[P 108 11

[Pm771

[PraSi]

[Red941

[Rei85]

[S au831

G. Vidal Naquet and A. Choquet Geniet. Réseaux de Petri et Systèmes pamlléles. A. Collin, 1992.

Y. Nobert, R. Ouellet, and R. Parent. La recherche opérationnelle. Gaetan Morin Editeur, 1995.

Gary J. Nutt. The Fomulation and Application of Eualuation Nets. Uni- versity of Washington, 1972. PhD thesis.

G. J. Nutt. Open Systems. Prentice-Hd, 1992.

G. J. Nutt . Technology Issues in Open Systems. Upside Technologies semi- nar, 1992.

G. J. Nutt. Adding actors and roles to the basic icn model. Technicd report, Bull S.A., 1993.

G. J. Nutt. Draft using workflow in contemporary is organisations. Technical report, Bull S. A. France, May 1993.

D. Park. Concurrency and automata on infinite sequences. In 5'' G.I. Conference, volume 104 of Lect. Notes in Comput. Sci. Springer-Verlag, 1981.

C. A. Petri. Kommunikation mit Automaten. PhD thesis, Univ. Bonn, West Germany, 1962.

M. Porteous, J. Kirakowski, and M. Corbett. Software usability measure- ment inventory user handbook. Technical report, University College, Cork., 1994.

G. D. Plotkin. A structural approach to operational semantics. Technical Report DAIM1 FN- 19, Aarhus University, 1981.

A. Pnueli. The temporal logic of programs. In 18th IEEE Symposium. Foundations of Computer Science, 1977.

V. Pratt. A decidable mu-caiculus. In Proc. 22nd IEEE Pound. of Computer Science, 1981.

R. Redenbaugh. The new common sense. In The workfiow Paradigm, pages 13-24. Future Strategies, Inc., 1994.

W. Reisig. Petri nets: An introduction. In Monogmphs on Theoretical Computer Science, 4. Springer-Verlag, 1985.

C. H. Sauer. Simulation of Computer Communication Systems. Prentice- Hd, Inc., Englewood Clifs, New Jersey, 1983.

Page 104: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

B. Smith and K. Egiowstein. h good electronic forrn. BYTE, 18(12):67-74, Nov. 1993.

J.-P. Simeray. La Structure de l'entreprise: Principes et définitions, types de structures et organigrammes. Edition de l'Entreprise Modèrne, 1966.

M.E. S keUy- Speeding the workflow through imaging (leasing Company. Modem OBce Technology, 37(9):34-36, Sep. 1992.

J. A. Smith. Analysing and redesigning worldows for imaging. Document Image Automation, 13(3):9-15, 1993.

C. Stirling. Modal logics for communicat ing systems. Theoretical Compu ter Science, 49:X 1-347, 1981.

C. Stirling. Modal and temporal logics for processes. Technical report, Department of Cornputer Science, University of Edinburgh, 1994.

Terry Winograd and Fernando Flores. Understanding Cornputer and Co- gnition. Addison- Wesley, 1987.

T. White and L. Fisher. New Tools for New Times: The Workflow Paradigm. Future Statergies, Inc., 1994.

G.E. Whi tehouse. Systems Analysis and Design using Network Techniques. Prentice-Hall, Inc., 1973.

R. Whitehead. Software for groupies (groupware). IBM System User, 14(2):4748, Feb. 1993.

V. Wood. Groupware: Helping people work together. In O f i e Systems and Technology Journal, pages 16-18, 1992.

J. Wyss. Data processing and office communications as an effective unit. Sysdata, 21 (10):54-55, Oct. 1990.

iMicheal D. Zisman. Representation, Specification and Automation of OBce Procedure. University of Pennsylvania Wharton School of Business, 1977. P hD t hesis.

Page 105: FOUZIA BOUGUERCHcollectionscanada.gc.ca/obj/s4/f2/dsk3/ftp05/mq25512.pdf · FOUZIA BOUGUERCH VÉRIFICATION FORMELLE DES SYSTEMES DU TRAVAIL COOPÉRATIF: UNE APPROCHE BASÉE SUR LES

APPLIED A INIAGE . lnc - 1653 East Main Street - -. - - Rochester. NY 14609 USA -- -- - - Phone: i l 61462-0300 -- -- - - Fax: 71 6/288-5989

O 1993. A p p l i i Image. Inc. AU Ftights Resefved