cours message

Upload: shehata-maick

Post on 01-Mar-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Cours Message

    1/49

    1

    Le dveloppement de protocoles

    de communication en modemessage asynchrone

    G. Florin

  • 7/25/2019 Cours Message

    2/49

    2

    INTRODUCTION

    Le contrle rparti

    Ensemble des mcanismes offerts unprogrammeur pour dvelopper des applicationsrparties

    Utilisation de l'interface d'un systme rparti.

    IPA"Interface de programmation

    d'applications"API"Application Programming Interface"

    Problmes poss:

    -La concurrence, la synchronisation desactivits locales

    -Les communications entre sites

    (les interactions)

  • 7/25/2019 Cours Message

    3/49

    3

    Diffrents styles d'interactions

    Schma de complexit croissante:

    Le mode message asynchrone

    Le mode rendez-vousLe mode appel de procdure distante

    Le mode mmoire virtuelle rpartie

    Les protocoles coopratifs

    ...Construction d'API unifiant l'approche objet etles interactions:

    Les systmes d'objets rpartis

  • 7/25/2019 Cours Message

    4/49

  • 7/25/2019 Cours Message

    5/49

    5

    Gnralits

    - Mode de base de la communication.

    - Offert par le plus grand nombre des IPArparties

    - Le service comprend deux primitivesprincipales pour communiquer et sesynchroniser (couches transport).

    TYPE COM_MESSAGE_ASYNCHRONE;

    METHOD envoyer (id_metteur, id_rcepteur,

    complments, message);METHODrecevoir (id_metteur, id_rcepteur,

    complments, message);METHOD...;

    ENDCOM_MESSAGE_ASYNCHRONE.

    identificateurs: portscomplments: qualits de services (selon dessmantiques multiples)messages: zones de donnes.

  • 7/25/2019 Cours Message

    6/49

    6

    Exemples d'IPA distribues en mode

    message asynchrone

    Presque toutes les interfaces des architectures

    "ouvertes" de rseaux(pour presque tous les niveaux)

    - Internet, OSI, SNA

    Presque toutes les interfaces des systmes

    rpartis classiques,- Chorus , Mach, Amoeba

    De nombreux langages de programmations

    - Langages de spcifications de protocoles

    (Estelle, ...)- Langages "acteurs" de l'intelligenceartificielle distribue (Act1, ...)Exceptions : les produits orients RPC, objet,partage de mmoire.

  • 7/25/2019 Cours Message

    7/49

    7

    Variantes smantiques du mode messageasynchrone

    - Proprits de synchronisation

    La synchronisation locale

    La synchronisation inter-sites.

    - Nature des entitscommunicantes

    point point, diffusion

    mode alternat, bidirectionnel

    - Proprits d'ordre.local, global, causal

    - Proprits de tolrance aux pannes.

    messages, sites

    -Proprits temporellesdbits, dlai, variation de dlai

    "Cours de rseaux habituels"

  • 7/25/2019 Cours Message

    8/49

    8

    Les proprits de synchronisation

    Le mode message asynchrone ralise un"producteur-consommateur" rpartientreun metteur et un rcepteur.

    Site A Site B

    Envoyer

    Recevoir Prestataire duservice rseau

    Asynchronisme entre sites distants.- propagation sur le rseau

    Synchronisation locale sur les tampons

    d'mission et de rception.

  • 7/25/2019 Cours Message

    9/49

    9

    A) La synchronisation inter-sites

    Aspect principal: l'asynchronisme entrel'metteur et le rcepteur

    Emetteur Rcepteur

    Emettre (M2)

    Actif

    Actif

    Actif

    Recevoir(M)

    Emettre (M3)

    Recevoir(M)

    M1

    M2

    M3

    M=M3

    Emettre (M1)

    Actif Recevoir(M)

    (M=M2)

    Actif

    Actif

    (M=M1)

  • 7/25/2019 Cours Message

    10/49

    10

    Dtails du comportement

    L'metteur

    . Ayant demand une mission, reprend lamain et continue son excution" immdiatement"aprs la prise en compte desa demande.

    . Le message est transmis (au rythme dutransport d'informations par le rseau decommunication) donc de faon asynchroneavec le comportement metteur.

    Le rcepteurAyant dcid de prendre en compte un nouveaumessage il acquiert un message (le premier) eninstance.

    -Celui qui se prsente aprs le recevoir-Un message qui se trouve dans une filed'attente de rception.

  • 7/25/2019 Cours Message

    11/49

    11

    B)La synchronisation locale

    Synchronisation sur l'interface de

    programmation d'application.

    Primitives envoyer "bloquantes" "nonbloquantes"

    Le processus metteur a fourni l'adresse d'untampon (contenant un message) partag avec leprestataire.

    . Cas 1 :

    L'metteur reste bloqu tant que le message n'apas t envoy => le tampon est redevenu libre.

    . Cas 2 :

    L'metteur reste bloqu tant que le message n'apas t recopi dans une file d'attente du

    prestataire.. Cas 3 :

    L'metteur reprend la main alors que leprestataire utilise le tampon. Il est averti par unsignal de la fin d'utilisation => il peut le

    rutiliser.

  • 7/25/2019 Cours Message

    12/49

    12

    Primitives recevoir "bloquantes" "nonbloquantes"

    Le processus rcepteur a fourni l'adresse d'untampon au prestataire

    . Cas 1 : Recevoir bloquant

    Le rcepteur reste bloqu tant qu'un message

    reu n'a pas t crit.. Cas 2 : Recevoir non bloquant + attente

    Le rcepteur continue son excution et sebloque quand il ne peut plus ne pas disposerd'un message reu.

    . Cas 3 : Recevoir non bloquant + primitivede test de message

    Le rcepteur continue mais il peut savoir si unmessage reu existe.

    . Cas 4 : Rception conditionnelleLe rcepteur reprend toujours la main avec unmessage reu ou avec un diagnostic.

  • 7/25/2019 Cours Message

    13/49

    13

    L'utilisation du mode message asynchrone

    En gnral deux aspects simultanmentraliss:

    Invocation d'action distante

    La nature de l'action est dfinie par le typagedu message.

    La nature de l'action dclenche dpend ducontexte dans lequel le message est pris encompte.

    (Ide de contexte ou d'tat)

    ("Acte de langage")

    Transport d'informations dans la partiedonnes du message

    Action "d'information"

    Paramtrage d'excution distante.

  • 7/25/2019 Cours Message

    14/49

  • 7/25/2019 Cours Message

    15/49

  • 7/25/2019 Cours Message

    16/49

    16

    Proprit minimale de cohrence deschanges de donnes par message

    asynchrone: la causalit

    mettre/crire (M)->recevoir/lire(M)

    t1 : metteur.crire (M)

    => t2>t1 : recepteur.lire (M)

    Les messages ne remontent pas le temps

    Proprits supplmentaires de cohrence

    (proprits temporelles et propritsd'ordre).

    mode rendez-vous,

    mode appel de procdure

    mode mmoire rpartie.

  • 7/25/2019 Cours Message

    17/49

    17

    Seconde partie

    Spcification des applications utilisant lemode message asynchrone

  • 7/25/2019 Cours Message

    18/49

  • 7/25/2019 Cours Message

    19/49

  • 7/25/2019 Cours Message

    20/49

  • 7/25/2019 Cours Message

    21/49

  • 7/25/2019 Cours Message

    22/49

  • 7/25/2019 Cours Message

    23/49

    23

    Reprsentation des transitions.

    Etat de contrle antcdentPrdicatdfinissant l'tat

    ! action:comportementassoci la transition

    Prdicat dfinisant lesconnaissances aprs la

    transition

    ?condition: prdicatdfinissant les conditionsde dclenchement de la

    transition

    Etat initialI

    F Progression del'algorithme

    Etat de contrle consquent

    Partie condition ougarde

    Partie action de latransition

  • 7/25/2019 Cours Message

    24/49

    24

    Les commandes d'changes

    - Notation des oprations envoyer, recevoir

    ::= !

    ::= ?

    Dsignation

    La commande d'mission doit dsigner undestinataire (P2).

    Ex : Dans le processus P1 :P2!M1La commande de rception (excute par un

    processus P2) doit voquer une source P1.

    Ex : Dans le processus P2 :P1?M1

    Remarque: Dans le cas d'une communicationpoint point absence d'ambigut => pas dedsignation.

  • 7/25/2019 Cours Message

    25/49

  • 7/25/2019 Cours Message

    26/49

    26

    Typage

    Il doit y avoir correspondance de type entre lemessage reu (la variable de rception) et lemessage mis (la valeur mise).

    Donnes d'un message =

    variable de type article.

    Type[message_mis]=

    Type [message_reu]

    Si le type d'un message reu n'est pas prvu larception:

    Erreur: "rception non spcifie".

  • 7/25/2019 Cours Message

    27/49

    27

    Smantique de l'alternative constitue parl'existence de plusieurs transitions en un tat

    - valuation des gardes

    . Une garde est franchissable si elle estconstitue par une expression boolenne

    portant sur des variables locales valeur vrai.

    . Une garde est franchissables'il s'agit d'une

    commande d'change satisfaite : en fait unerception dont le processus source faitparvenir un message du type attendu qui setrouve en tte de la file d'attente.

    . Une garde combinaison des deux casprcdents.

  • 7/25/2019 Cours Message

    28/49

  • 7/25/2019 Cours Message

    29/49

    29

    Alternative en un tat

    Aspect squentiel des automates

    - On choisit l'une des transitions ayant sacondition boolenne satisfaite (sa garde

    ouverte).

    Indterminisme de l'valuation

    - Si plusieurs conditions sont simultanment

    vrifies l'une quelconque des transitions peut-tre slectionne

    - La liste des commandes associe la gardeest excute.

    La modlisation doit tenir compte de cettecaractristique majeure.

  • 7/25/2019 Cours Message

    30/49

  • 7/25/2019 Cours Message

    31/49

  • 7/25/2019 Cours Message

    32/49

  • 7/25/2019 Cours Message

    33/49

  • 7/25/2019 Cours Message

    34/49

  • 7/25/2019 Cours Message

    35/49

  • 7/25/2019 Cours Message

    36/49

  • 7/25/2019 Cours Message

    37/49

  • 7/25/2019 Cours Message

    38/49

  • 7/25/2019 Cours Message

    39/49

    39

    Gestion des files d'interactions

    vnements systmes locaux: retombesignaux d'horloge

    vnements distants :arrive d'lments protocolaires

    vnements requtes de service:arrive d'lments de service

    Entitprestataire

    Service

    Protocole

    Horlo e

  • 7/25/2019 Cours Message

    40/49

    40

    Validation des spcifications

    Problmes de constructions

    Rceptions non spcifies

    Dans un tat un message peut se prsenter dontle cas n'a pas t prvu

    Interblocages

    Dans un tat un message (ou une configuration)est attendu qui ne peut jamais se prsenter.

    Plus gnralement

    Dfinition d'assertions de bon fonctionnementsur le modle automates communicants.

    - assertions portant sur des variables d'tat(boolennes)

    - assertions portant sur des trajectoires(logique temporelle)

  • 7/25/2019 Cours Message

    41/49

  • 7/25/2019 Cours Message

    42/49

    42

    Analyse exhaustive.

    - L'application est dfinie par un ensembled'automates communicants

    - Ralisation du produit des automates (produit"synchronis" tenant compte descommunications).

    P1

    P2!x

    Ei

    P2

    P1?x

    Ej

    Automates communicants

    Ei * Ej

    Ei+1 Ej+1

    ?cond1?cond1

    Ei+1*Ej+1

    !action1 !action2

    ?cond2cond2

    !action2!action1

    Produit synchronis

    - Obtention du graphe d'accessibilit dusystme complet.

    - Vrification d'assertions sur le graphecomplet.

    Difficult majeure

    Explosion combinatoire de la taille des espacesd'tat.

  • 7/25/2019 Cours Message

    43/49

  • 7/25/2019 Cours Message

    44/49

    44

    SDL ' Specification and DescriptionLanguage ' ITU-T Z100

    Notation graphique (et aussi langage) pourdcrire des entits rseaux sous la formed'automates synchroniss.

    Commentaire: Recevoir M1 ou M2, si M1envoyer A ou B de faon indterministe. Si M2incrmenter un compteur et envoyer C.

    M2M1

    Un_processus_SDL

    S1

    Any CPT:=CPT+1

    S1 S2

    CA B

  • 7/25/2019 Cours Message

    45/49

  • 7/25/2019 Cours Message

    46/49

  • 7/25/2019 Cours Message

    47/49

  • 7/25/2019 Cours Message

    48/49

  • 7/25/2019 Cours Message

    49/49

    Conclusion : mode message asynchrone

    - C'est le mode le plus basique

    Comparable l'assembleur

    Ralisation d'instructions

    d'affectation, de branchement.- Le moins contraignant il permet auxutilisateurs par des changes successifs, laconstruction de tout type de protocole.

    - L'utilisateur n'a pas en gnral envie d'tre

    oblig de construire ses propres outils d'o:Le besoin d'autres schmas prdfinis pluscomplexes.

    L'enrichissement du mode message en termes

    de qualit de service par des couchessuccessives.

    - Ce mode est encore le mode privilgi desinterfaces rseaux.