MODELES DU PARALLELISME



Documents pareils
Chapitre 2 Le problème de l unicité des solutions

LANGAGES - GRAMMAIRES - AUTOMATES

Correction de l épreuve CCP 2001 PSI Maths 2 PREMIÈRE PARTIE ) (

Chapitre 11 : L inductance

/HVV\VWqPHVFRPELQDWRLUHV

Université Paris-Dauphine DUMI2E. UFR Mathématiques de la décision. Notes de cours. Analyse 2. Filippo SANTAMBROGIO

semestre 3 des Licences MISM annnée universitaire

Sommaire. 6. Tableau récapitulatif Sophos NAC intégré Vs. NAC Advanced - 17 Février

COURS D ANALYSE. Licence d Informatique, première. Laurent Michel

STI2D Logique binaire SIN. L' Algèbre de BOOLE


Le canal étroit du crédit : une analyse critique des fondements théoriques

3- Les taux d'intérêt

LOGICIEL FONCTIONNEL EMC VNX

Pour développer votre entreprise LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

ANALYSE NUMERIQUE NON-LINEAIRE

Introduction à la modélisation et à la vérication p. 1/8

Pour développer votre entreprise. Compta LES LOGICIELS EN LIGNE, VOUS ALLEZ DIRE OUI!

Conseils et astuces pour les structures de base de la Ligne D30

LICENCE DE MATHÉMATIQUES DEUXIÈME ANNÉE. Unité d enseignement LCMA 4U11 ANALYSE 3. Françoise GEANDIER

Théorème de Poincaré - Formule de Green-Riemann

Toyota Assurances Toujours la meilleure solution

Cours d Analyse IV Suites et Séries de fonctions

Synthèse de cours (Terminale S) Calcul intégral

Notes de révision : Automates et langages

Influence du milieu d étude sur l activité (suite) Inhibition et activation

Turbine hydraulique Girard simplifiée pour faibles et très faibles puissances

Séquence 8. Probabilité : lois à densité. Sommaire

ManSafe. pour les Utilitiés. La Protection antichute pour les Industries de l'energie. Français. TowerLatch LadderLatch

Santé et sécurité psychologiques en milieu de travail

Guide des bonnes pratiques

Techniques d analyse de circuits

Guide d'utilisation Easy Interactive Tools Ver. 2

Tout ce qu il faut savoir en math

L'algèbre de BOOLE ou algèbre logique est l'algèbre définie pour des variables ne pouvant prendre que deux états.

LITE-FLOOR. Dalles de sol et marches d escalier. Information technique

Statuts ASF Association Suisse Feldenkrais

Partie 4 : La monnaie et l'inflation

Avant d utiliser l appareil, lisez ce Guide de référence rapide pour connaître la procédure de configuration et d installation.

Thèse Présentée Pour obtenir le diplôme de doctorat en sciences En génie civil Option : structure

Module 2 : Déterminant d une matrice

Chapitre VI Contraintes holonomiques

Solutions IHM. Gammes Graphite et G3 Outils pour l'usine connectée

Réalisation de sites Internet PME & Grandes entreprises Offre Premium. Etude du projet. Webdesign. Intégration HTML. Développement.

Electrovanne double Dimension nominale Rp 3/8 - Rp 2 DMV-D/11 DMV-DLE/11

Transfert. Logistique. Stockage. Archivage

Clients légers IGEL et bureaux virtuels : synergie idéale et coût minimal

La pratique institutionnelle «à plusieurs»

Licence M.A.S.S. Cours d Analyse S4

SYSTEME DE TELEPHONIE

Guide de l'utilisateur

Chapitre 1 : Fonctions analytiques - introduction

Classeur courtier d assurance. Comment organiser son activité et se préparer à un contrôle

Bloc notes. a À faire tout de suite. Gardez secret votre code confidentiel. À conserver précieusement. Protégez votre carte

EnsEignEmEnt supérieur PRÉPAS / BTS 2015

- Phénoméne aérospatial non identifié ( 0.V.N.I )

Commencer DCP-7055W / DCP-7057W /

La paye. La comptabilité. Comparez et choisissez votre logiciel. Comparez et choisissez votre logiciel. Paye Bâtiment Paye Agricole 2013

ANALYSE : FONCTIONS D UNE VARIABLE RÉELLE

AUTOUR D UN MÉMOIRE INÉDIT : LA CONTRIBUTION D HERMITE AU DÉVELOPPEMENT DE LA THÉORIE DES FONCTIONS ELLIPTIQUES. Bruno BELHOSTE (*)

Magister en : Génie Mécanique

Compte rendu de la validation d'un observateur cascade pour la MAS sans capteurs mécaniques sur la plate-forme d'essai de l'irccyn

Directives COV et alternative lipochimique : peintures, encres, nettoyage, dégraissage...

Algorithmes sur les mots (séquences)

Livret de l étudiant

Modification simultanée de plusieurs caractéristiques d un bien hédonique : une nouvelle méthode de calcul de la variation de bien-être des ménages

TRam «Gestion de la Toxicité en zone Ramsar» Toxicity management in Ramsar area

NEWS PRO ACTIV. [Juillet 2015] Ce mois-ci on vous parle de. L arrêté est applicable à compter du 1er Juillet 2015.

INSTALLATION DE DETECTION INCENDIE

INTENTION LES PROCESSUS MATHÉMATIQUES

L EUROPE ET L EAU. «Quelle idée d appeler cette planète Terre alors qu elle est clairement océan». Arthur C. Clarke.

Meg Gawler Bréhima Béridogo. Mars 2002

Bilan pédagogique / Projet ipad Contexte

INFORMATIONS TECHNIQUES

Régression multiple : principes et exemples d application. Dominique Laffly UMR CNRS Université de Pau et des Pays de l Adour Octobre 2006

Interview p.10. Francis Delpérée. Dossier pédagogique des Equipes Populaires Bimestriel n 154 Janvier-Février 2013

FIG. 1 Module de stockage en position horizontale ; positionnement des jauges de déformation.

Le vademecum de l apprentissage dans la fonction publique territoriale SERVICES À LA PERSONNE

Baccalauréat S Asie 19 juin 2014 Corrigé

Plan de formation Employée/Employé de commerce CFC du 26 septembre 2011 pour la formation initiale en entreprise. Tables des matières

Titrages acidobasiques de mélanges contenant une espèce forte et une espèce faible : successifs ou simultanés?


La plateforme Next Generation Mini guide

FONDATION CLEMENTINE ET MAURICE ANTILLE

Du 12 au 23 novembre 2012 Les acteurs Oséades

La réforme des soins de santé mentale en Belgique

VIBRATIONS COUPLEES AVEC LE VENT

16.1 Convergence simple et convergence uniforme. une suite de fonctions de I dans R ou C.

essais dossier Oser s équi Prothèses auditives

ÉQUIPEMENTS ATEX OUTILLAGE ANTI-ÉTINCELLES

Déroulement de l épreuve de mathématiques

SOCIÉTÉ LINNÉENNE DE LYO N FONDEE EN 182 2

CARDIOLOGIE. Conférences scientifiques

INSTRUCTIONS POUR L INSTALLATION ET LE FONCTIONNEMENT DES SERRURES À POIGNÉE BÉQUILLE

MINIMUM DE DONNÉES STANDARDISÉES (MDS) POUR L ÉVALUATION DU RÉSIDANT EN INSTITUTION EN VUE D UN PLAN DE SOINS

Sciences Industrielles Précision des systèmes asservis Papanicola Robert Lycée Jacques Amyot

dans Supply Chain sortir ERP commencent à de leur carcan prise de décision en temps réel au niveau des ateliers. La nouvelle génération de solutions

Inclure la vidéo comme levier de sa stratégie marketing

Réglementation de l'epa (agence américaine de protection de l'environnement) relative aux émissions

Transcription:

République Algérienne Démocrtique et Populire Université Mentouri de Constntine Fculté des Sciences de l Ingénieur Déprtement d Informtique MODELES DU PARALLELISME 5 ème Année Ingénieur en Informtique Option : Systèmes Prllèles et Distribués Année universitire 2004/2005 Présenté pr : Dr. Djmel Eddine SAIDOUNI Lbortoire LIRE Equipe Vision et Infogrphie

Tble des mtières Tble des mtières...3 Chpitre 1 : Introduction...5 1) PROBLEMATIQUE :...5 2) Modèles du Prllélisme :...5 2.1) Modèles de spécifiction du prllélisme :...6 Les réseux de Petri :...6 Les techniques de description formelle :...6 2.2) Les modèles sémntiques du prllélisme :...7 les modèles d entrelcement :...7 Les modèles de non-entrelcement :...10 3) Vérifiction :...12 Chpitre 2 : L Technique de Description Formelle LOTOS...14 1- INTRODUCTION...14 2- PROCESSUS :...15 3- BASIC LOTOS :...17 4- PRESENTATION DES STRUCTURES DE CONTROLE :...18 4.1 ELEMENTS LEXICOGRAPHIQUES & SYNTAXIQUES :...18 4.1.1 EXPRESSIONS DE COMPORTEMENT :...18 4.1.2 EXPRESSIONS DE VALEUR :...19 4.1.3 VARIABLES :...19 4.1.4 PORTES :...19 4.1.5 IDENTIFICATEURS :...19 - Opérteur «Stop» :...20 - Opérteur «;» :...20 - Opérteur «CHOICE» sur les portes :...23 - Opérteur, et «[ ]» :...24 - Opérteur «hide» :...26 - Opérteur «exit» :...27 - Opérteur «>>» :...28 - Processus et Instncition :...29 5- TYPES DE DONNEES :...31 Chpitre 3 : Vérifiction Formelle des Systèmes Réctifs...37 1- INTRODUCTION :...37

Tble des mtières 4 2- APPROCHE COMPORTEMENTALE :...39 2.1 SEMANTIQUE LINEAIRE :...40 2.1.1 Equivlence de trce (lngge) :...40 2.2 SEMANTIQUE DE BRANCHEMENT :...41 2.2.1 Equivlence Observtionnelle :...41 - BISSIMULATION :...41 - Bissimultion Forte :...43 - Bissimultion Fible :...44 3- APPROCHE LOGIQUE :...46 3.1 HML :LOGIQUE DE HENNESSY-MILNER :...47 - Comprison entre les pproches Logique et Comportementle :...49 4- APPROCHE TEST:...49 4.1 LA CONFORMITE EN LOTOS :...51 - Approche boite blnche :...51 - Approche boite noire :...51 4.2 MOTIVATIONS :...51 4.3 LES MODELES DE TEST :...55 4.3.1 Vérifiction des reltions de test :...61 4.3.2 Présenttion de modèles de test :...62 4.3.2.1 Modèles pour LOTOS :...62 4.3.2.2 Autres modèles :...63 5- CONCLUSION :...63 Bibliogrphie...65 Djmel-Eddine SAIDOUNI

Chpitre 1 : Introduction 1) PROBLEMATIQUE : Au cours des dernières nnées, les progrès technologiques dns les domines des réseux et des télécommunictions peuvent être considérés comme une véritble révolution dont l impct est direct sur les systèmes distribués en générl et les systèmes concurrents en prticulier. En prticulier, les systèmes distribués offrent une solution simple ux besoins croissnts de performnce pr l exploittion des ressources disponibles dns le système. L division de tche complexe en processus simples permet d en simplifier tnt l conception que l vlidtion des composntes individuelles. L rrivée récente de systèmes d exploittion multitâches et multiprocesseurs disponibles pour le grnd public ne fit que confirmer cette tendnce. Cependnt, le développement d pplictions distribuées ou concurrentes est une tche très difficile qui nécessite l prise en compte de plusieurs prmètres à svoir les contrintes de coopértion inter-processus coopértifs qui exigent l prise en considértion de l indéterminisme, l synchronistion insi que certines propriétés qulittives que doit voir ces pplictions telle que l bsence de l interblocge et de l fmine. L difficulté dns l conception des pplictions réprties est posée principlement pr l bsence d une perception de l étt globl de telles pplictions. On peut dire que sns méthodes de vlidtion ppropriées, l utilistion des systèmes concurrents et distribués devient non fible du fit que le comportement de tels systèmes serit imprévisible. Afin de vlider vec certitude l spécifiction de systèmes concurrents, des méthodes d nlyse formelle pportnt une certitude mthémtique ont été récemment développées. Elles permettent de décrire sns mbiguïté le comportement de ces systèmes. Le succès reltif remporté pr l utilistion des méthodes formelles fit qu elles commencent purement universitires. Depuis, de grndes compgnies oeuvrnt dns le domine des systèmes concurrents commencent églement à réliser l importnce de ces méthodes et tentent d en imposer l utilistion. Ces méthodes formelles sont bsées sur les modèles de spécifiction et les modèles sémntiques du prllélisme insi que les pproches de vérifiction. 2) Modèles du Prllélisme : Durnt les vingt dernières nnées, plusieurs modèles du prllélisme insi que leurs sémntiques ont été étudiés dns le cdre de l théorie de l concurrence. Ils ont été utilisés pour donner une sémntique ux lngges de description des processus et pour fournir une

Tble des mtières 6 bse pour différentes notions et définitions d équivlences de comportements. Ces modèles peuvent être clssés en deux ctégories : Les modèles de spécifiction du prllélisme. Les modèles sémntiques du prllélisme. 2.1) Modèles de spécifiction du prllélisme : ces modèles offrent les moyens formels pour l spécifiction et l nlyse d pplictions concurrentes et réprties. Prmi ces modèles, nous pouvons citer les lgèbres de processus (ACP, CCS, CSP, ) [BERK85, Mil80, Mil83, Mil89,Ho85] et les techniques de description formelle (ESTELLE, LOTOS, SDL ) [ISO88b, BOLB87, ISO88, CCI88]. L efficcité des modèles formels tel que LOTOS, été lrgement montrée et démontrée dns l littérture. L utilistion de spécifictions formelles plusieurs intérêts qui peuvent être résumés dns les points suivnts : Permettent une compréhension pprofondie du logiciel à développer. Elles mettent en évidence l pluprt des mbiguïtés lissées dns l ombre pr les spécifictions informelles. Le coût de telles imprécisions est de plus en plus importnt lorsque ces imprécisions sont découvertes trdivement. Les spécifictions formelles sont bsées sur des représenttions mthémtiques, ce qui permet l vlidtion de leurs propriétés. Bien que l spécifiction formelle ne soit ps nécessirement directement exploitble, on peut, dns l pluprt du temps, en dériver un prototype qui rélise prtiellement les fonctionnlités spécifiées, et les tester durnt l phse de développement. Dns ce qui suit nous rppelons quelques modèles de spécifiction du prllélisme. Les réseux de Petri : Les réseux de Petri sont un outil grphique et mthémtique qui s pplique à un grnd nombre d pplictions où les notions d événements et d évolutions simultnées sont importntes. Un réseu de Petri est un qudruplet R = < P, T, Pre, Post > où : P : est un ensemble fini de plces. T : est un ensemble fini de trnsitions. Pre : P T N est l ppliction incidence vnt (plce précédente). Post : P T N est l ppliction incidence rrière (plce suivnte). Il permet de représenter les spects de choix, de séquencement et de prllélisme entre comportements. Donc, c est un modèle élégnt pour décrire le prllélisme. Les techniques de description formelle : Les lngges formels de description de protocoles qui rencontrent le plus de succès empruntent beucoup de notions de logique et d lgèbre qu à celles de l informtique trditionnelle, sur les trois qui sont normlisés à l UIT et à l ISO, LOTOS est d origine lgébrique, les deux utres ; ESTELLE et LDS, sont bsés sur l notion d utomtes communicnts et sont en fit ssez proches des lngges de progrmmtion et ssez proches l un de l utre. Ce sont ces deux derniers qui sont les plus employés, LDS est notmment ssez soutenu dns le monde des télécommunictions. Djmel-Eddine SAIDOUNI

7 ESTELLE : Le lngge ESTELLE ( Extended Stte Trnsition Lnguge ) est fondé sur le modèle des utomtes d étts finis étendu vec le lngge PASCAL. Il inclut tout le lngge PASCAL et l encpsule dns des éléments qui en font un véritble lngge pour l expression de comportements prllèles. Trois crctéristiques principles sont à noter : Une spécifiction est composée de plusieurs modules. Le lngge ESTELLE permet de bien spécifier les interfces de chcun d entre eux. L description de comportement de chque module est ssez fine et précise, pour que le comportement de l spécifiction ne soit ps mbigu. L notion de typge (définition de type, puis l crétion d exemplires) du lngge est étendu ux objets prllèles (modules, cnux, etc.). ESTELLE utilise l notion de module d interconnexion et de l structurtion comme concepts de bse pour spécifier les systèmes. LDS : Développé dès 1974, connu plusieurs versions successives dont l plus récente, dtnt de 1988, et est stndrdisée pr l recommndtion Z.100 du CCITT. Comme Estelle, SDL est bsé sur une extension du modèle des utomtes d étts finis. SDL permet de spécifier des utomtes structurés de mnière rborescente, qui fonctionnent de mnière synchrone et qui communiquent pr échnges de signux. Chque utomte possède des vribles locles et une file non bornée pour stocker les messges reçus. Les données sont décrites pr des types lgébriques (un type comprend des domines de vleurs), des opértions sur ces vleurs et des équtions qui définissent l sémntique de ces opértions. De nouveux types peuvent être créés à prtir des types existnts pr enrichissement, renommge, Enfin, SDL possède deux syntxes : l forme texte, nlogique à un lngge de progrmmtion clssique, et l forme grphique, dont les éléments de bse sont des boites connectées pr des flèches. Les Algèbres de Processus : Les lgèbres de processus, comme CCS [Mil80], CSP [Ho85], ACP [BERK85] ou l technique de description formelle LOTOS [ISO87], constituent un cdre mthémtique pour spécifier les systèmes communicnts, pr composition et trnsformtion de comportements élémentires ppelés gents dns CCS( [Mil89] ) ou processus dns l pluprt des utres lngges ( [Ho85, BERK85, Zui90, ISO87] ). 2.2) Les modèles sémntiques du prllélisme : comme leur nom l indique, ces modèles sont utilisés pour exprimer l sémntique du prllélisme des modèles de spécifiction. Ces modèles peuvent etre clssés en deux grndes ctégories : les modèles d entrelcement : pour ces modèles, l exécution en prllèle de deux ctions (une ction est une ctivité élémentire u niveu d bstrction considéré) est représentée pr l entrelcement rbitrire de ces deux ctions, c est-à-dire pr leur exécution lternée. Pour utiliser ces modèles à bon escient, il est indispensble de fire l hypothèse d tomicité des ctions. Pr illeurs, dns de nombreuses pplictions, l tomicité des ctions est une bstrction cceptble, ce qui rend l Université Mentouri de Constntine

Tble des mtières 8 simplicité de ces modèles très ttrynte. Prmi les modèles d entrelcement, nous pouvons citer les systèmes de trnsitions étiquetées [Mil80, Arn92] et les rbres de synchronistion : Système de Trnsitions Etiquetées : L structure fondmentle du modèle d Arnold-Nivt est l utomte fini. Celui-ci permet de représenter le comportement des systèmes concurrents à modéliser à l ide de grphes orientés. Dns le modèle, les sommets et les rcs de ce grphe orienté sont ppelés respectivement étts et trnsitions. Ces étts et trnsitions sont ssociés vec une chîne de crctères de mnière à pouvoir les distinguer entre eux. Ces chînes de crctères s ppellent noms lorsqu elles sont ssociées ux étts, et étiquettes lorsqu elles sont ssociées ux trnsitions. Le grphe orienté lui-même, vec ses chînes de crctères ssociées, est ppelé Système de Trnsitions Etiquetées. Les étts d un système de trnsitions sont directement ssociés ux étts du système concurrent qu il modélise. Les trnsitions qunt à elles, jouent un rôle fondmentl dns un système de trnsitions cr ce sont elles qui servent à modéliser les ctions fites pr le système concurrent, l étiquette d une trnsition représentnt le type d ction qui est effectuée. Cependnt, et contrirement ux noms d étts, plusieurs trnsitions peuvent voir les mêmes étiquettes, ceci est même nécessire pour exprimer certines propriétés importntes, telle le non-déterminisme. On ne peut donc ps se référer uniquement ux étiquettes pour identifier une trnsition. En tout temps, dns le système de trnsitions, il n y ur qu un seul étt qui ser ctif. Celuici est nommé étt cournt et les étiquettes des trnsitions ynt comme étt source l étt cournt représenteront l ensemble des ctions que le système de trnsitions peut effectuer à cet instnt précis. Formellement, un système de trnsitions (étiquetées) est un qudruplit : S = (S,,, s0) où : S est un ensemble (dénombrble) d étts. est un ensemble (dénombrble) d ctions (dites observbles). S ( {τ}) S : est l ensemble des trnsitions, τ est ppelée ction invisible (interne ou non-observble). Un élément (x, µ, y) est µ noté x y. s0 S est l étt initil de S. Un système de trnsitions est communément considéré ([Mil89, Abr87, NM90, Lr87] ) comme un ensemble de processus S exécutnt les ctions de {τ} selon les règles de trnsition spécifiées pr. On peut en effet identifier chque étt de S u processus représenté pr le système de trnsitions (S,,, s). s0 est un processus prticulier uquel est identifié le comportement initil du système de trnsitions. Un exemple de système de trnsitions étiquetées est donné pr l Figure 1 et pour lequel : S = { s0, s1, s2, s3, s4, s5} Djmel-Eddine SAIDOUNI

9 = {, b, c} = {(s0,, s1), (s0, τ, s4), (s4, τ, s1), (s1, b, s2), (s1, c, s3), (s4,, s5)}. µ D près l nottion on peut écrire : τ τ b c = {s0 s1, s0 s4, s4 s1, s1 s2, s1 s3, s4 s5 }. S0 τ b S1 c τ S4 S2 S3 S5 Figure1 : Exemple d un système de trnsitions étiquetées Un système de trnsitions S est dit fini lorsque l ensemble de ses étts S et l ensemble des ctions observbles sont finis. µ Une utre reltion de trnsition, { }(µ {ε}) est hbituellement définie pr : ε τ τ τ τ s s` : s = s` ou s s1 sn s`. µ ε µ ε s s` : s s1 s2 s`. Les nottions suivntes sont ussi utilisées : µ µ s signifie que s dmet une dérivtion pr µ : s` s s`. µ µ s =/ signifie (s ). µ Out (s) = {µ s } dénote l ensemble des ctions visibles que le système peut exécuter, à prtir de l étt s. Cette reltion est étendue ux séquences (i.e. mots de : σ * ) comme suit : σ µ1 µ2 µn-1 Si σ est l séquence µ1 µn, on écrit s s` qund : s s1 sn µn s`. L séquence vide est notée ε. De fçon similire à l définition de l ensemble de sortie out, on ppelle «trces d un étt», l ensemble des séquences d ctions, σ *, qui Université Mentouri de Constntine

Tble des mtières 10 σ peuvent être exécutées à prtir de cet étt. Soit Tr(s) = { σ * s }. Les trces d un STE désignent celles de son étt initil. Définition : (STE déterministe) Un STE est déterministe ssi ucun étt n dmet plus d un successeur pr ction. Formellement : S est déterministe ssi, s S, (s s1 s s2 ) implique s1 = s2. Les systèmes de trnsitions permettent de représenter isément et vec concision des concepts fondmentux des systèmes concurrents, tel le choix, le non-déterminisme et séquencement. Les Arbres de Synchronistion : Avnt de définir les rbres de synchronistion nous définissons les rbres de synchronistion rigides (RST). Un RST de sort L est un rbre rciné non ordonné et des brnchements finis, dont les rcs sont étiquetés pr des membres de L [Milner 80]. Cet rbre est rigide prce qu il représente les comportements d un processus rigide (ctions tomiques). Définition : (Arbre de Synchronistion) n rbre de synchronistion (ST) de sort L est un rbre rciné non ordonné, et des brnchements finis, chque rc est étiqueté pr un membre de L {τ}, où τ est l ction non observble. D près cette définition, un rbre de synchronistion est un rbre de synchronistion rigide qui contient des rcs étiquetés pr τ. Les modèles de non-entrelcement : ppelés prfois modèles du vri prllélisme ou encore modèles d ordre prtiel, ces modèles ont l cpcité de décrire le comportement d un système en représentnt les reltions de dépendnce et, pr dulité, le prllélisme entre occurrences d ctions. L intérêt de ces modèles est leur ptitude à considérer des ctions non tomiques. L utilistion de ces modèles en tnt que domines sémntiques pour les modèles de spécifiction permet l conception de systèmes pr rffinement successif. Le rffinement consiste à remplcer une ction pr un processus et cette opértion peut etre interprétée dns le modèle sémntique sous-jcent. Ils se divisent en deux ctégories de modèles, ceux dits d ordre prtiel et ceux du vri prllélisme : Modèle d Ordre Prtiel : C est un modèle sémntique dont le principe consiste à considérer les reltions de dépendnce entre les occurrences d ctions. Cependnt, dns [vnglbbeek89], il été Djmel-Eddine SAIDOUNI

11 montré que ces sémntiques ne sont ni nécessires ni suffisntes pour l levée de l hypothèse d tomicité des ctions. Prmi les modèles qui doptent ce principe : les rbres cusux [DD89], les rbres cusux dynmiques [Si96] et les systèmes de trnsitions étiquetées cusux [Coe93]. Tout d bord, nous présentons l sémntique de cuslité qui est l bse de ces modèles. Dns l pproche bsée sur l cuslité, les trnsitions sont des événements qui correspondent ux occurrences d ctions. A chque trnsition sont ssociés : Le nom d événement. Le nom d une ction. L ensemble des noms des événements qui ont conditionné l occurrence de cette trnsition. - Arbres Cusux : Les rbres cusux ont été définis pr Drondeu et Degno[DD89], il peuvent être considérés comme un enrichissement des rbres de synchronistion de Milner [Mil80]. Dns un rbre cusl, à chque trnsition observble (i.e. rc dont l ction correspondnte est visible), est ssocié un ensemble de références. Une référence est un entier nturel correspondnt u nombre de trnsitions observbles qui séprent cette trnsition de l trnsition qui l cusée. - Arbres Cusux Dynmique : On peut considérer que les rbres cusux dynmiques sont un enrichissement des rbres cusux. En effet, on ssocie à chque trnsition de l rbre cusl le nom d un événement qui identifie son occurrence, nous pouvons lors utiliser les noms de ces événements pour fire référence ux cuses des trnsitions. - Systèmes de Trnsitions Etiquetées Cusux : Le modèle des systèmes de trnsitions étiquetées cusux été introduit pr Rosvelter Coelho d Cost [Coe93]. Il peut être considéré comme un modèle de vri prllélisme très proche du modèle des rbres cusux [DD89]. Il été utilisé pour exprimer l sémntique de CCS [CC92, Coe93], d un sous ensemble de LOTOS [CC91, CC93], des réseux de Petri [CC92b] et pour l étude de rffinement d ction dns LOTOS [CS92, CS94]. Modèle du Vri Prllélisme : - Modèle des Structures d Evénements : Ces modèles sont définis à prtir d un ensemble d événements et de reltions entre ces événements. Evénement : chque événement est étiqueté pr le nom d une ction, et représente une occurrence de cette ction à un instnt donné. De ce fit, un événement pprît u plus une fois dns une structure d événements. Les événements sont notés pr e1, e2,, et les noms des ctions (étiquettes) sont notés pr leurs noms écrits juste à coté. Université Mentouri de Constntine

Tble des mtières 12 Reltion entre événements : on distingue trois reltions qui sont respectivement l reltion de précédence, l reltion de conflit et l reltion d indépendnce. - Systèmes de Trnsitions Asynchrones : Les systèmes de trnsitions synchrones, en brégé STA ont été introduits de mnière indépendnte pr Shields [Shi85] et Bednrczyk [Bed87]. Le modèle des STAs peut être considéré comme extension du modèle des STs. Dns ce modèle, le prllélisme entre deux événements est représenté pr un losnge. Cependnt, l présence d un losnge dns un STA n implique ps que les événements qui le constituent soient indépendnts. - Les Arbres Mximux : L structure des rbres mximux se bse sur le principe de l sémntique de mximlité telle qu elle est donnée dns [Si96]. L sémntique de mximlité peut être considérée comme étnt l réconcilition des sémntiques d ordre prtiel et de l ST-sémntique. Le principe de mximlité consiste à utiliser les reltions de dépendnce entre les occurrences d ctions pour ssocier à chque étt du système les ctions qui sont potentiellement en cours d exécution. Le résultt ttendu du modèle des rbres mximux est de pouvoir exprimer le comportement des systèmes concurrents, c est-à-dire pour chque système, d exprimer ses différents étts et de déterminer pour chcun de ces étts les ctions qui sont entrin de s exécuter en prllèle. 3) Vérifiction : En générl, les techniques de vérifiction trduisent les spécifictions, écrites dns un modèle de spécifiction, en une structure explicite, décrite souvent sous l forme d un grphe qui représente les différents étts du système spécifié. Cette structure interne doit bien entendu respecter l sémntique du modèle de spécifiction. Il est églement souhitble qu elle soit l plus proche possible du modèle sémntique utilisé; pr exemple, pour les sémntiques d entrelcement, on utilise un système de trnsitions étiquetées, qui correspond à une représenttion finie d un rbre de synchronistion qui peut lui etre infini. Dns ce mémoire, nous nous intéressons à l technique de description formelle LOTOS (que nous exposons u chpitre 2), en tnt que modèle (lngge) de spécifiction [BOLB87, ISO88]. L utilistion d une telle technique, lors de l conception d un système de communiction, conduit à l mnipultion, pour un même système, de deux objets : l Spécifiction et l Implémenttion. L vlidtion du système conçu consiste à montrer que son implémenttion est conforme à s spécifiction. L procédure de vlidtion est connue en milieu industriel sous le nom de qulifiction ou certifiction. Les pproches de vlidtion peuvent etre différentes selon le type des objets ppelés : Spécifiction et Implémenttion. Deux pproches de vlidtion peuvent etre distinguées : l pproche boite blnche et l pproche boite noire. Djmel-Eddine SAIDOUNI

13 Dns les deux pproches, l conformité est une reltion de stisfction qui doit lier l implémenttion et l spécifiction. Nénmoins, ces deux pproches se distinguent pr l fçon de vérifier que cette reltion est stisfite. L pproche dite boite blnche, peut être ppliquée dès lors que l spécifiction et l implémenttion sont deux structures entièrement et librement explorbles. Cette pproche est communément ppelée «vérifiction». L seconde pproche dite boite noire est celle trditionnellement ppelée «Test» des implémenttions. Elle se substitue à l première pproche lorsque l implémenttion n est ccessible que vi ses points d interction vec l extérieur ppelés ports de communiction. Vu les contrintes supplémentires qu impose s rélistion, L vlidtion pr le test qui est pplicble pour tout type de représenttion de l implémenttion, est connue pour être moins efficce qu une vérifiction directe de l conformité. Il est lors importnt de fournir des techniques de vérifiction (des reltions de conformité) qui servent à réliser l procédure de vlidtion lorsqu il est possible de mnipuler une implémenttion u même titre que s spécifiction, notmment u cours d un cycle de développement d un système communicnt pr rffinements successifs. De ce point de vue pprît, l utilité de crctériser les reltions de conformité pr des définitions utomtiquement vérifibles. D un utre coté, il est ussi utile de pouvoir générer utomtiquement les tests que l on doit ppliquer pour vlider les implémenttions lorsque celles-ci ne peuvent être vlidées que pr le test. Université Mentouri de Constntine

Chpitre 2 : L Technique de Description Formelle LOTOS 1- INTRODUCTION Le sujet de spécifiction formelle est devenu de plus en plus importnt dns les domines de communiction et des systèmes distribués. Comme ces sujets mûrissent, il y une demnde croissnte pour les techniques qui peuvent cpturer sns mbiguïté le comportement des composnts du système. Ceci est prticulièrement importnt dns le monde des stndrds. Pendnt les quelques nnées pssées, un nombre de techniques de description formelle (FDT) sont pprues pour stisfire cette demnde, à svoir SDL, ESTELLE et LOTOS (Lnguge Of Temporl Ordering Spécifiction), qui été cceptée comme un stndrd interntionl pr l ISO en 1988. Depuis, cette technique de description formelle été lrgement ppliquée dns les domines de spécifiction des protocoles de communiction, et plus récemment dns les trvux portnt sur le tritement distribué ouvert. LOTOS, le lngge prllèle qui s inspire des lgèbres de processus, notmment CCS [Mil80] et CSP [Ho85], est l une des deux techniques de description formelle développées dns l ISO (Orgnistion Interntionle pour l Stndrdistion) pour l spécifiction formelle des systèmes distribués ouverts en générl et ceux pprentés à l rchitecture des réseux d ordinteurs de l OSI ( Open Systems interconnection ) en prticulier. Il été développé pr des experts en FDT du groupe de l ISO/ TC97/ SC21/ WG1 FDT /subgroupc u cours des nnées 1981-1986. L idée fondmentle à prtir de lquelle LOTOS été développé considère que les systèmes peuvent être spécifiés en définissnt l reltion temporelle entre les interctions qui constituent le comportement d un système observble de l extérieur. Contrirement à ce que le nom semble dénoter, cette technique de description formelle n est ps pprentée à l logique temporelle, mis elle est bsée sur les méthodes lgébriques de processus. De telles méthodes ont été introduites en premier pr le trvil de Milner sur CCS [Mil80], suivi pr plusieurs théories proposnt d utres lgèbres de processus ; chcune de ces lgèbres se distinguent pr l sémntique des opérteurs les constitunt. LOTOS inclut un composnt qui se chrge de l description des comportements des processus et des interctions. Il inclut ussi un second composnt qui s occupe de l description des structures de données et des expressions de vleurs.

15 Cette prtie de LOTOS est bsée sur l théorie formelle des types de données bstrits, et en prticulier, sur l pproche de spécifiction des équtions des types de données, vec une sémntique d lgèbre initile. L pluprt des concepts dns ce composnt sont inspirés du lngge de description des types de données bstrits ACT ONE [Rei85]. LOTOS est une FDT générlement pplicble ux systèmes de tritement d informtion concurrents et distribués. Cependnt, il été développé prticulièrement pour l OSI. Les objectifs principux pour une telle technique est qu elle doit permettre l production des spécifictions stndrds de l OSI qui sont : Description d implémenttions indépendntes, complètes, précises et non-mbiguës des stndrds. Documents fciles à lire pour les utilisteurs de l OSI, les implémenteurs et les testeurs de conformité. Une bse formellement bien définie pour l vérifiction et l vlidtion des stndrds, et pour le test de conformité de leurs implémenttions. Il est clir que ces objectifs sont prticulièrement importnts pour une rchitecture stndrd, distribuée, tel que l OSI. Les mchines doivent communiquer et coopérer l une vec l utre, et les spécifictions mbiguës, informelles pouvient isément mener à des implémenttions incomprbles. En outre, l possibilité d exécuter des nlyses rigoureuses d un protocole u niveu de conception, qui est dns un stde nticipé de prolifértion des erreurs dns le grnd nombre ttendu de ses implémenttions. L considértion des besoins ci-dessus conduit à un nombre de critères de conception pour le lngge lui même. Les critères générux qui ont déterminé l définition présente de LOTOS sont : Puissnce d expression : une FDT doit être cpble d exprimer le lrge rng de propriétés qui sont ppropriées pour l description des services, des protocoles et des interfces OSI. Définition formelle : l syntxe et l sémntique d une FDT doivent voir une définition formelle et complète. En prticulier, le modèle formel sur lequel l sémntique du lngge est bsée doit supporter le développement d une théorie nlytique pour l vérifiction, l vlidtion et le test de conformité. Abstrction : les constructeurs du lngge doivent représenter les concepts rchitecturux ppropriés à un niveu suffismment élevé d bstrction, où les détils orientés implémenttion ne sont ps exprimés. Ce qui est en fveur d une représenttion précise des besoins. Structure : une FDT doit offrir des moyens pour structurer une spécifiction en une construction significtive et intuitivement plisnte. Une bonne structurtion suppose l lisibilité, l fcilité de l mintennce, et peut simplifier l nlyse. S il est désirble, une structure peut être ussi utilisée pour refléter l orgnistion logique ou même physique d une implémenttion. 2- PROCESSUS : Université Mentouri de Constntine

Chpitre 2. L technique de description formelle LOTOS 16 En LOTOS, un système concurrent distribué est vu comme un processus consistnt éventuellement, en plusieurs sous-processus. Un sous-processus est un processus en luimême, de telle sorte qu en générl une spécifiction LOTOS décrit un système vi une hiérrchie de définitions de processus. Un processus est une entité cpble d exécuter des ctions internes (non observbles), et d intergir vec les utres processus, qui forment son environnement. Les interctions complexes entre les processus sont ccumulées en dehors des unités élémentires de synchronistion que nous ppelons événements, ou interctions, ou ctions simples. Les événements supposent l synchronistion de processus, prce que les processus qui intergissent dns un événement (ils peuvent être deux ou plus) prticipent à son exécution u même moment dns le temps. De telles synchronistions peuvent entrîner l échnge de données. Les événements sont tomiques dns le sens qu ils se présentent instntnément, sns consommer de temps. Un événement se présente à un point d interction, ou une porte, et dns le cs de synchronistion sns échnge de données, le nom de l élément et le nom de l porte coïncident. L environnement d un processus P, dns un système S, est formé pr l ensemble des processus de S vec lesquels P intergit, plus un processus observteur non-spécifié, peut être un humin, qui est supposé être toujours prés à observer tout ce qui est observble de ce que le système peut fire. Et, pour être comptible vec le modèle, l observtion n est qu une interction. D où l terminologie, dire que le processus P exécute une ction observble signifie une interction de P vec son environnement. L représenttion l plus bstrite du processus P, cpble d intergir vec son environnement vi des portes, est illustrée pr l boite noire dns l suivnte (Figure1) : c d e b f g Figure 1 : Représenttion du processus P comme une boite noire de portes, b, c, d, e, f et g L définition du processus P spécifier donc son comportement, en définissnt les séquences d ctions observbles qui peuvent se présenter (être observées) ux sept portes du processus. Les boites noires sont l représenttion intuitive trditionnelle pour les processus. Etnt donné que LOTOS été principlement désigné pour spécifier les protocoles de communiction pour les réseux d ordinteurs, il comprend des crctéristiques comme le Hiding. Cette crctéristique est mieux introduite en revennt u monde plus bstrit des boites noires, où un processus est représenté comme dns l Figure1. En considérnt l Figure 2, l interpréttion voulue du système décrit est comme suit : le processus Mx3 est défini en composnt en prllèle deux instnces du processus Mx2. Chcun des processus composnts peut intergir vec son propre environnement, qui consiste en l utre instnce de Mx2 et l environnement extérieur, vi trois portes; mis l seule porte de synchronistion entre les deux processus est : mid. Remrquez que cette porte est incluse dns l boite externe qui représente le processus Mx3. Djmel-Eddine SAIDOUNI

17 Du fit que cette structure est une boite noire, l porte mid n est ps visible pr l environnement externe : elle été cchée (hidden). In2 In3 In1 mid out Mx1 Mx2 Mx3 Figure2 : Représenttion détillée du processus Mx3 Les deux instnces de processus sont insi utorisées à intergir indépendmment vec l environnement sur toutes les portes excepté mid. A cette porte, elles sont obligées de se synchroniser l une vec l utre, sns l prticiption de l environnement extérieur. Ces interctions : dues u cche, sont devenues des ctions internes du système. Cette description informelle est formlisée comme suit : process Mx3[in1, in2, in3, out] := hide mid in (Mx2[in1, in2, mid] [mid] Mx2[mid, in3, out] where endproc ( *mx3* ) Le fit que le système puisse intergir vec son environnement vi des ctions (à des portes) in1, in2, in3 et out, est explicitement indiqué dns l première ligne de l spécifiction. Puisque l porte mid est cchée, pr l opérteur hide, elle n pprît ps dns l liste. L spécifiction prtielle ci-dessus ser complémentée ultérieurement. 3- BASIC LOTOS : Bsic LOTOS est une version simplifiée du lngge employnt un lphbet fini d ctions observbles. Ceci est insi, prce que les ctions observbles en Bsic LOTOS sont uniquement identifiées pr le nom de l porte où elles sont offertes, et que les processus LOTOS ne peuvent voir qu un nombre fini de portes. L structure des ctions ser enrichie dns LOTOS Complet «FULL LOTOS» en permettnt l ssocition des vleurs de données ux noms des portes, et insi l lphbet d ctions observbles peut être infini. Bsic LOTOS décrit uniquement l synchronistion de processus, lors que Full LOTOS décrit ussi les vleurs de communictions inter-processus. L introduction de Bsic LOTOS permettr de dégger les trois points suivnts : Mise en lumière de l significtion intuitive des constructeurs (opérteurs) du lngge. Université Mentouri de Constntine

Chpitre 2. L technique de description formelle LOTOS 18 Expression de l sémntique formelle de chcun des opérteurs sns que cette sémntique soit lourdie pr les communictions inter-processus. Les équivlences de comportement sont introduites de mnière plus commode. 4- PRESENTATION DES STRUCTURES DE CONTROLE : Le contrôle des progrmmes est décrit pr des expressions lgébriques ppelées : comportements. L synchronistion et l communiction s effectuent exclusivement pr rendez-vous, sns prtge de mémoire. 4.1 ELEMENTS LEXICOGRAPHIQUES & SYNTAXIQUES : 4.1.1 EXPRESSIONS DE COMPORTEMENT : On ppelle expression de comportement (behviour expression), ou plus simplement comportement, un terme syntxique obtenu pr combinison des opérteurs de comportement. L structure typique de l définition du processus Bsic LOTOS est donnée dns l Figure3, qui complète l définition du processus Mx3 commentée précédemment. Comme une convention, nous utilisons l itlique pour les ctégories syntxiques, c est à dire, les symboles non-terminux (ex : expression de comportement), et le grs pour les mots clés LOTOS réservés (ex : process). Instncition de processus Définition de processus Expression de comportement process Mx3[in1, in2, in3, out] := hide mid in ------------------------ ( Mx2[in1, in2, mid] [mid] Mx2[mid, in3, out] ) where Définition de processus Expression de comportement process Mx2[, b, c] := ; b; c; stop [] b; ; c; stop endproc endproc Figure3 : Définition du processus Mx3 Expressions de comportement Djmel-Eddine SAIDOUNI

19 Un composnt essentiel d une définition de processus est son expression de comportement. Une expression de comportement est construite en ppliqunt un opérteur (ex : [] ) à d utres expressions de comportement. Une expression de comportement peut inclure ussi des instncitions des utres processus (ex : Mx2), dont les définitions sont fournies dns l cluse where selon l expression. 4.1.2 EXPRESSIONS DE VALEUR : On ppelle expression de vleur (vlue expression), ou plus simplement vleur, un terme lgébrique construit à prtir de vribles et d opérteurs. Les expressions de vleur pprissent dns les équtions lgébriques ; elles sont ussi utilisées dns les expressions de comportement. Elles sont dénotées pr le non-terminl V. LOTOS est fortement typé : chque vleur ne peut voir qu une seule sorte, qu il est possible de déterminer sttiquement. Les sortes et les opértions qui sont utilisées dns les comportements LOTOS ne doivent ps être formelles ; elles doivent pprtenir à des types complètement instnciés. Si S est une sorte, on note domin(s) l ensemble quotient de tous les termes de sorte S pr l reltion de congruence définie pr les équtions ssociées à S. on fit l hypothèse que le domine de chque sorte n est ps vide. Si V1 et V2 sont deux vleurs de sorte S, on note V1= V2 soient congrues modulo l reltion de congruence définie pr les opértions ssociées à S. 4.1.3 VARIABLES : Une vrible est un nom donné à une vleur. LOTOS est un lngge fonctionnel : chque vrible est initilisée dès s déclrtion et s vleur ne peut ps être modifiée. 4.1.4 PORTES : En LOTOS, on ppelle porte (gte) un cnl de communiction permettnt l synchronistion pr rendez-vous et l échnge de vleurs entre plusieurs tches qui se déroulent en prllèle. On note Γ l ensemble de tous les identificteurs de portes, définis pr l utilisteur, qui figurent dns une spécifiction LOTOS. Deux portes spéciles sont prédéfinies, qui n pprtiennent ps à Γ : L porte invisible, notée «ґ». cette porte peut pprître dns les progrmmes LOTOS, mis uniquement dns le contexte d un opérteur «;». L porte de terminison, notée «δ». cette porte ne peut jmis être employée explicitement dns un progrmme LOTOS mis elle est utilisée dns l définition sémntique du lngge. 4.1.5 IDENTIFICATEURS : Chque clsse d identificteurs est dénotée pr un symbole non-terminl défini comme suit : G : portes. P : processus. Université Mentouri de Constntine

Chpitre 2. L technique de description formelle LOTOS 20 X : vribles. T : types. S : sortes. F : opértions. On emploie en outre les brévitions suivntes : Ĝ : liste non vide de portes G0, Gn. X : liste non vide de vribles X0 Xn. On introduit à présent tous les opérteurs de contrôle du lngge LOTOS. (Un même exemple, celui d un distributeur de boissons, est conservé tout u long de ce cours). - Opérteur «Stop» : L structure : Stop Dénote un comportement inctif, qui ne propose ucun rendez-vous vec l environnement ni ucune trnsition «i» interne. - Opérteur «;» : L opérteur «;» permet de spécifier le rendez-vous. Si G est une porte et B0 un comportement, l construction suivnte : G ; B0 Dénote le comportement qui propose un rendez-vous sur l porte G et une fois qu il eu lieu, exécute B0. l nottion «;» une significtion séquentielle. On dit que le comportement B est préfixé pr l porte G. les termes événement et interction seront utilisés comme synonymes de rendez-vous. - Exemple1 : Le comportement suivnt effectue une interction MONEY (cquisition de pièces de monnie) puis une interction TEA (distribution d une tsse de thé), près quoi il s rrête : MONEY ; TEA ; Stop En fit, cet exemple décrit églement le comportement d un utilisteur qui, près voir pyé, reçoit une tsse de thé. Cette forme simple de rendez-vous, qui ne comporte ps d émission ni de réception de vleurs, ne permet que l synchronistion pure. Il existe une construction générle de rendezvous qui prend en compte l échnge de vleurs : G O 0, On ; B0 Où : O 0, On sont des offres, définies comme suit : O!V? X0, Xn : S. Une offre de l forme «!V» correspond à l émission sur l porte G de l vleur de l expression V. Djmel-Eddine SAIDOUNI

21 Une offre de l forme «? X0, Xn : S» correspond à l réception sur l porte G de n+1 vleurs v0, vn de sorte S, chcune de ces vleurs vi est ensuite ffectée à l vrible Xi correspondnte. Le rendez-vous est bloqunt ussi bien pour l émission que pour l réception : L exécution d un comportement qui ttend un rendez-vous est suspendue et ne reprend qu près que le rendez-vous eu lieu. Le rendez-vous LOTOS est bsolument symétrique, ucune distinction n est fite entre émetteur et récepteur. Un seul et même rendez-vous peut comporter plusieurs émissions et réceptions qui se déroulent simultnément. De plus, une même porte peut être successivement utilisée dns plusieurs rendez-vous, tntôt vec des émissions, tntôt vec des réceptions. LOTOS permet de conditionner le rendez-vous pr une grde qui est soit une expression booléenne «[V0]», soit une éqution simple «[V1=V2]». le rendez-vous n ps lieu si l condition définie pr l grde n est ps stisfite. - Exemple2 : Le comportement suivnt modélise un distributire qui effectue successivement trois interctions : Acquisition d une somme d rgent (interctions MONEY) en dollrs et en cents, u moyen d une grde on interdit le rendez-vous si cette somme est inférieure u prix ttendu. Distribution d une tsse de thé (interction TEA ). Restriction de l monnie (interction CHANGE). MONEY? DOLLARDS: NAT?CENTS /:NAT (TOTAL (DOLLARDS, CENTS) GE COST]; TEA; CHANGE! CHG_DOLLARDS( DOLLARDS, CENTS )!CHG_CENTS (DOLLARDS, CENTS); STOP Les opértions comptbles sont décrites à l ide d un type bstrit : type CHANGE is NATURALNUMBER, BOOLEAN opns COST : -> NAT TOTAL : NAT, NAT -> NAT CHG_DOLLARDS : NAT, NAT ->NAT CHG_CENTS : NAT, NAT -> NAT eqns forll DOLLARDS, CENTS : NAT of sort NAT COST = 25; (* prix d une boisson, exprime en cents *) TOTAL (DOLLARDS, CENTS) = (100 = DOLLARDS) + CENTS ; CHG_DOLLARDS ( DOLLARDS, CENTS ) = ( TOTAL ( DOLLARDS, CENTS)- COST) div 100; CHG_CENTS (DOLLARDS, CENTS) = (TOTAL ( DOLLARDS, CENTS) COST) mod 100; endtype. Université Mentouri de Constntine

Chpitre 2. L technique de description formelle LOTOS 22 On peut fire figurer l porte «i» à guche de l opérteur «;», mis elle ne doit comporter ni offre ni grde. Le préfixge pr l porte «i» spécifie une évolution interne qui n est jmis bloqunte. En résumé, l syntxe générle de l opértion de préfixge est donc : i,b0 G [O0 On [V0]] ;B0 G [O0 On [[V1=V2]] ;B0 Les vribles éventuellement définies dns les offres O0, On ne sont visibles que dns V0, V1, V2 et B0. - Opérteur «[ ]» : L opérteur «[ ]» permet de spécifier le choix non-déterministe. Si B1 et B2 sont deux comportements, l construction suivnte : B1 [ ] B2 Dénote le comportement qui peut exécuter soit B1 ou B2. ( l significtion intuitive de cet opérteur est identique à celle de l brre crrée «[ ]» de DJIKSTRA). Remrque1 : Il n est ps permis d écrire en LOTOS des comportements de l forme : (G1 [ ] G2) ;G3 ;STOP Il s git d une erreur syntxique cr les opérndes de «[ ]» doivent être des comportements et non des portes ; de même l opérnde guche de «;» doit être une porte et non un comportement. L mnière correcte d écrire le comportement ci-dessus est : (G1 ;G3 ;STOP) [ ] (G2 ;G3 ;STOP) - Exemple3 : Le comportement suivnt modélise un distributeur qui près voir ccepté le piement (interction MONEY) peut délivrer du thé, du cfé ou du chocolt chud (interction TEA, COFFEE et CHOCOLATE) : MONEY ; ( TEA ; STOP [ ] COFFEE; STOP [ ] CHOCOLATE; STOP ). Le fit que le choix soit non-déterministe ne signifie ps que le distributeur décide rbitrirement de l boisson qu il fournit. Le distributeur doit respecter les contrintes imposées pr l environnement, c est-à-dire, les rendez-vous proposés pr les utres comportements vec lesquels il communique et se synchronise : Djmel-Eddine SAIDOUNI

23 Après voir pyé (interction MONEY), chque consommteur sélectionne l boisson qu il désire, pr exemple en ppuynt sur un bouton. S il choisit le cfé, l interction COFFEE est imposée u distributeur. Le non-déterminisme intervient effectivement lorsque les contrintes de l environnement ne déterminent ps une possibilité unique. Si le consommteur pourrit indiquer qu il désire soit du cfé, soit du chocolt, le choix du distributeur (interction COFFEE ou CHOCOLATE) serit imprévisible. Il existe des comportements pour lesquels ucune interpréttion déterministe ne peut être trouvée, quel que soit l environnement. L exemple le plus simple est de l forme : (G ;B1) [ ] (G ;B2) Dns ce cs, le choix entre l exécution de B1 ou de B2 est purement rbitrire. Cependnt, une erreur fréquente consiste à croire que «;» est distributif sur «[ ]». l emploi de cette forme u lieu de : G ;(B1 [ ] B2]) peut provoquer un blocge. Donc, le distributeur de boisson présenté dns cet exemple ne doit ps être décrit insi : MONEY TEA ; STOP [ ] MONEY COFFEE; STOP [ ] MONEY CHOCOLAT; STOP Au moment où le consommteur pie (interction MONEY), le distributeur se trouve confronté à un choix non-déterminisme, qu il résout en sélectionnnt rbitrirement une brnche, u détriment des utres. Le choix proposé à l utilisteur près piement est restreint à une seule des trois interctions TEA, COFFEE et CHOCOLATE. - Opérteur «CHOICE» sur les portes : Soit B0 un comportement qui contient des occurrences d utilistion d une porte G. soient G1 Gn des portes et soient B1, Bn les comportements définis de l mnière suivnte : Bi est obtenu à prtir de B en remplçnt G pr Gi pour exprimer le comportement B [ ] Bn LOTOS permet d utiliser une nottion brégée : CHOICE G in [G1; Gn] [ ] B0. L porte G sert d indice à cette itértion. Il n est ps indispensble que les portes G1,...Gn soient deux à deux distinctes. Université Mentouri de Constntine

Chpitre 2. L technique de description formelle LOTOS 24 - Exemple4 : L Exemple3 peut être décrit de mnière plus concise : MONEY ( choice DRINK in [ TEA, COFFEE, CHOCOLATE ] [ ] DRINK; Stop ) L opérteur «choice» possède une forme plus générle permettnt d itérer sur plusieurs portes : choice Ĝ0 in [Ĝ0], Ĝn in [Ĝn] [ ] B0 Les portes définies dns les listes Ĝ0, Ĝn ne sont visibles que dns B0. - Opérteur, et «[ ]» : Les opérteurs qui ont été présentés jusqu ici sont strictement séquentiels, LOTOS comprend ussi des opérteurs prllèles, si B1 et B2 sont deux comportements et G0, Gn une liste de portes, l construction suivnte : B1 [ G0, Gn] B2. Dénote le comportement qui exécute B1 et B2 en prllèle. L synchronistion et l communiction entre les opérndes B1 et B2 s effectuent uniquement pr rendez-vous sur les portes de l ensemble {G0, Gn, δ}. Lorsqu un des opérndes veut effectuer une trnsition étiquetée pr une porte G de {G0, Gn,δ}, il doit ttendre que l utre opérnde puisse en fire utnt. Lorsque le rendezvous est possible, les deux opérndes effectuent simultnément une même trnsition synchrone étiquetée G, puis ils reprennent chcun leur exécution. En revnche si l un des opérndes veut effectuer une trnsition étiquetée pr une porte G qui n pprtient ps à {G0, Gn, δ}, il le fit indépendmment de l utre opérnde, de mnière synchrone. - Exemple5 : Pour composer en prllèle le distributeur de boissons et un consommteur de thé il fut les synchroniser sur les qutre interctions MONEY, TEA, COFFEE et CHOCOLATE. Comme le client n effectue ps les interctions COFFEE et CHOCOLATE, le distributeur, qui doit se synchroniser vec lui, ne le peut ps non plus. MONEY ( CHOICE DRINK in [TEA, COFFEE, CHOCOLATE] [] DRINK; STOP ) [MONEY, TEA, COFFEE, CHOCOLATE] MONEY; TEA; STOP. Outre l opérteur de synchronistion générl «[G0 Gn]» qui trduit l synchronistion sur les portes G0, Gn et «δ», LOTOS possède deux utres opérteurs de composition prllèle : Djmel-Eddine SAIDOUNI

25 Le premier opérteur exprime l synchronistion sur ucune porte, suf «δ» (interleving). S syntxe est : B1 B2 Les deux comportements B1 et B2 sont exécutés de mnière totlement indépendnte (terminison sur «δ» exceptée) : ils ne se synchronisent ni ne communiquent l un vec l utre. En revnche ils sont cpbles d intergir vec leur environnement commun : «B1 B2» peut prticiper à un rendez-vous si et seulement si B1 ou B2 le peut. Le second opérteur exprime l synchronistion sur toutes les portes, y compris «δ» (full synchronistion). S syntxe est : B1 B2. Les deux comportements B1 et B2 sont exécutés en prllèle de mnière entièrement synchrone : ils doivent se synchroniser sur toutes leurs interctions. Ils peuvent intergir vec leur environnement commun : «B1 B2» peut prticiper à un rendez-vous si et seulement si B1 et B2 le peuvent. Lorsque les portes sont ccompgnées d offres, c est à dire qund l composition prllèle l forme suivnte : (G1 O0 On[V1=V2] ;B1) op (G2 O0 Op[V1=V2];B2). Le rendez-vous n ps lieu que si les conditions suivntes sont vérifiées: Les portes G1 et G2 sont égles et leur synchronistion est permise pr l opérteur op. Le nombre d offres de prt et d utre est le même (n=p). Les sortes des offres Oi et Oi sont deux à deux identiques. Les deux grdes sont vérifiées. Lorsque il y confronttion entre une émission (offre! ) et une réception (offre? ) l vleur émise est ffectée à l vrible de réception (vlue pssing). - Exemple6 : C est le cs lorsqu on compose un distributeur qui rend l monnie et un buveur de thé qui fournit $1.00 à l mchine et reprend s monnie. MONEY? DOLLARDS : NAT? CENTS : NAT [ TOTAL (DOLLARDS, CENTS ) ge COST ]; ( choice DRINK in [ TEA, COFFEE, CHOCOLATE ] [ ] DRINK; CHANGE!CHG_DOLLARDS(DOLLARDS, CENTS)!CHG_CENTS(DOLLARDS, CENTS); stop ) [MONEY, TEA, COFFEE, CHOCALATE, CHANGE] MONEY!1!0; TEA; Université Mentouri de Constntine

Chpitre 2. L technique de description formelle LOTOS 26 CHANGE? DOLLARDS : NAT? CENTS : NAT ; stop. LOTOS utorise églement les confronttions entre deux émissions (! et! ) ou deux réceptions (? et? ). dns le premier cs (vlue mching), le rendez-vous n ps lieu que si les deux vleurs émises sont égles. Dns le second cs (vlue genertion), les deux vribles de réceptions reçoivent une vleur identique, choisie de mnière non-déterministe. - Opérteur «hide» : LOTOS possède un opérteur qui permet de ccher certines portes d un comportement. Si G0, Gn sont des portes et B0 un comportement, l construction suivnte : hide G0, Gn in B0. Dénote le comportement B0 dont les portes G0, Gn sont renommées en «i». les portes G0, Gn ne sont visibles que dns B0. elles deviennent inptes à l synchronistion pour l environnement de B0 vec lequel elles n interfèrent plus. Vu de l extérieur ces interctions sont invisibles (puisqu étiquetées «i») et ont lieu spontnément sns ucune prticiption de l environnement de B0 : le rendez-vous sur une porte cchée n est jmis bloqunt. - Exemple7 : Bien souvent, un comportement est décrit comme l mise en prllèle de plusieurs sous comportements qui se synchronisent sur un ensemble de portes qu il convient de dissimuler vis-à-vis de l environnement. Dns cet esprit, on peut décomposer le distributeur décrit dns l exemple précédent en deux sous-systèmes : Le premier reçoit une somme d rgent, s ssure que le montnt est suffisnt, clcule l monnie à rendre et envoie une utoristion à l utre sous-système vi une porte GRANT. Le second, lorsque l utoristion est ccordée, délivre une boisson (thé, cfé, chocolt, u choix du client) et rend l monnie (l somme qu il fut restituer lui été communiquée vi l porte GRANT). On cche l porte GRANT u moyen de l opérteur «hide» cr il s git d un détil d implémenttion qui n est ps pertinent pour un observteur extérieur. Le distributeur est composé en prllèle vec un consommteur de thé qui fournit $1.00 pour pyer. Noter que l opérteur impose l synchronistion sur les portes MONEY, TEA, COFFEE, CHOCOLATE et CHANGE mis ps GRANT, qui est cchée. hide GRANT in ( MONEY?DOLLARDS :NAT? CENTS: NAT [TOTAL (DOLLARDS, CENTS) ge COST]; GRANT!CHG_DOLLARDS (DOLLARDS, CENTS)!CHG_CENTS (DOLLARDS, CENTS); stop [GRANT] GRANT?DOLLARDS :NAT? CENTS :NAT; ( choice DRINK IN [TEA, COFFEE, CHOCOLATE] [ ] DRINK; CHANGE!DOLLARDS!CENTS; stop Djmel-Eddine SAIDOUNI