formele technieken in swe

38
Formele technieken in SWE Petri nets, Proces algebra - 3

Upload: michael-warren

Post on 02-Jan-2016

55 views

Category:

Documents


0 download

DESCRIPTION

Formele technieken in SWE. Petri nets, Proces algebra - 3. Coloured Petri Nets: Alternating Bit Protocol. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Formele technieken in SWE

Formele technieken in SWE

Petri nets, Proces algebra - 3

Page 2: Formele technieken in SWE

Coloured Petri Nets: Alternating Bit Protocol

De manier waarop in een P/T net een (globale) toestand voorgesteld wordt, nl. door een aantal tokens in elke plaats, is vaak te weinig expressief. Een mogelijke oplossing is het invoeren van soorten van tokens of van individuele tokens die een waarde voorstellen. Dat vergt dan wel een uitbreiding van het formalisme.

We illustreren de algemene idee door een net te ontwerpen dat het AB protocol modelleert. Dan gaan we in op het formalisme.

Page 3: Formele technieken in SWE

Coloured Petri Nets: Alternating Bit Protocol

Het AB protocol behoort tot de data link laag van het ISO/OSI model:

Een host X produceert data frames d. Elk data frame wordt afgeleverd aan het protocol. Dat levert, na transmissie door het netwerk, het data frame af aan host Y. Voorgesteld als net:

Alle plaatsen hebben capaciteit 1 (voorgesteld door /1).

Page 4: Formele technieken in SWE

Het kan ook door complementaire plaatsen. Het protocol moet de volgorde van de data frames bewaren, en er mogen er ook geen verloren gaan. Deze voorstelling kan gezien worden als specificatie van het protocol.

Coloured Petri Nets: Alternating Bit Protocol

De d fungeert nu als een variabele, met als mogelijke waarden de waarden van de data frames

Page 5: Formele technieken in SWE

Coloured Petri Nets: Alternating Bit Protocol

Dit kan maar gegarandeerd worden door de onderliggende laag (physical layer). Dat betekent dat het subnet {A, s, B} verfijnd moet worden. We kiezen voor volgende representatie; data kan in twee richtingen gaan, en fouten worden gesignaleerd door middel van het speciale signaal F.

Page 6: Formele technieken in SWE

Coloured Petri Nets: Alternating Bit Protocol

Het volledige systeem:

Nu moeten A en B nog verfijnd worden:

Page 7: Formele technieken in SWE
Page 8: Formele technieken in SWE

Coloured Petri Nets: Alternating Bit Protocol

Een data frame gaat via a,c,f,e en b van X naar Y. Transitie a hangt er een bit x aan, initieel 1, en die zal verwijderd worden door transitie b op voorwaarde dat de bit in plaats s9 complementair is. Dit wordt getest door transitie e (met de inv(x) pijl). Wanneer er een error optreedt, dan vuurt g in plaats van h, wat een token F oplevert in s11. Dan zal een negatief acknowledgment een retransmissie van het frame veroorzaken (n gevolgd door en door q).Na een correcte transmissie wordt het volgende data frame gestuurd met complementaire bit x = 0. Als er bij het doorsturen van het acknowledgment een fout optreedt, dan vuurt k in plaats van , en gebeurt er ook een retransmissie. Die wordt gedetecteerd doordat de bit niet veranderd is. Dan vuurt m.

i

i

Page 9: Formele technieken in SWE

Coloured Petri Nets: Formeel

• Bij de pijlen van de flow relatie staan nu termen, en bij transities kunnen condities staan met daarin termen.

• Deze termen zijn opgebouwd uit constanten, variabelen en functiesymbolen.

• Er zijn een aantal soorten van tokens; kleuren. Elke kleur heeft een verzameling van mogelijke waarden.

• Elke variabele en constante heeft zo een kleur.

• Bij elke plaats hoort een kleur-domein: die domeinen zijn geconsrueerd met behulp van de kleuren.

• Een transitie wordt voor het vuren geïnstantieerd door aan de variabelen in de betrokken termen een waarde toe te kennen.

Page 10: Formele technieken in SWE

Unfolding:

Page 11: Formele technieken in SWE

Unfolding:

Page 12: Formele technieken in SWE

Proces algebra

• Ingevoerd vanaf 1980, (R. Milner) als model waarin acties centraal staan.• Gaf aanleiding tot de taal CSP - Communicating sequential Processes (T.Hoare).• Is nu, in allerlei varianten, het belangrijkste theoretischemodel voor concurrente systemen.• Toepassingen in, bv, model checking tools (SPIN).• Calculus van processen, waartussen equivalenties bewezen kunnen worden (bv equivalentie tussen 2 termen die respectievelijk een specificatie en een implementatie voorstelllen)

Page 13: Formele technieken in SWE

Proces algebra: basisideën

• Een systeem is een netwerk van agents die synchroon met elkaar communiceren.• Dat communiceren gebeurt via ports die een naam hebben.• Dat is alles wat de agents doen.• Agents verwijzen naar de ports door middel van complementaire namen, bv a en a ; a staat dan voor input en a voor output.• Het gedrag van een agent wordt genoteerd met behulp van die namen, sequentiële compositie ( ), keuze (+) en recursie. De operatie | staat voor concurrente compositie.• Zo bouwt men termen (cfr. functionele talen).

Page 14: Formele technieken in SWE

Basisideën: voorbeeld

A1 A2

aa

Agents A1 en A2 kunnen communiceren via hun gemeenschappelijke poort a: A1 stuurt, A2 ontvangt. Dit gebeurt synchroon, in één actie die gemeenschappelijk door de twee agents wordt uitgevoerd.

Page 15: Formele technieken in SWE

Het gedrag van C wordt gegeven door:

C en C’ worden dus geparametrizeerd (met de waarde die in de buffer komt). C en C’ kunnen gezien worden als toestanden van een automaat.

Eenvoudige buffer

We modeleren een eenvoudige buffer waarin plaats is voor één element:

Page 16: Formele technieken in SWE

Noteer dat als .Formeel zal dat vereisen dat we de naam out van de eerste cel en de naam in van de tweede cel hernoemen tot een stel complementaire namen, bv. a en a. We kunnen dat ook n keer doen:

Meervoudige buffer

We kunnen nu twee van die cellennaast mekaar plaatsen en ze aan mekaar schakelen:

Dit kunnen we schrijven als een term … .

Page 17: Formele technieken in SWE

Meervoudige buffer

Stel dat we willen aantonen dat aantonen dat het zo opgebouwde systeem zich gedraagt als een buffer met capaciteit n.

Dan kunnen we de specificatie van het gewenste gedrag opschrijven als een term, of een combinatie van termen:

De : staat voor concatenatie van woorden. De + voor keuze.

Page 18: Formele technieken in SWE

Meervoudige buffer

We tonen dan aan dat de termen Buffn(w) en … equivalent zijn (met de juiste notie van equivalentie; zgn. bisimilariteit). Merk op dat de term die de specificatie uitdrukt, hier dus Buffn(w) , geen concurrente samenstelling “|” bevat, terwijl de term die de implementatie uitdrukt die wel bevat. Deze laatste geeft immers aan hoe het systeem is opgebouwd, niet wat het doet.

Page 19: Formele technieken in SWE

Meervoudige buffer met acknowledgements

We kunnen dit ook veralgemenen tot cellen en buffers die een acknowledgement moeten terugsturen:

Cel:

Gedrag:

Systeem:

Page 20: Formele technieken in SWE

Jobshop

Beschouw een werkplaats met 2 arbeiders en twee werktuigen (hammer en mallet). Dit kan voorgesteld worden als volgt:

Merk op dat een “port” meer dan 2 componenten kan verbinden.

Page 21: Formele technieken in SWE

Jobshop: hammer

Gebruikte namen:

Gedrag:

Of nog:

Page 22: Formele technieken in SWE

Jobshop: jobber

Toestanden:

Sort (gebruikte namen):

Schema:

Page 23: Formele technieken in SWE

Samenstelling

De namen puth, puth, geth, geth worden lokaal gemaakt (onzichtbaar naar buiten toe). Als proces term:

Page 24: Formele technieken in SWE

Samenstelling

Dit wordt voorgesteld als volgt:

De lokale ports zijn niet meer beschikbaar voor verdere interacties met andere agents.

Page 25: Formele technieken in SWE

Samenstelling

De hele jobshop wordt geschreven als

( Jobber | Jobber | hammer | Mallet ) \ L

waar L = { geth, puth, getm,

putm }De vijf manieren waarop termen gevormd worden:

Page 26: Formele technieken in SWE

Specificatie

We definiëren een agent Strongjobber die geen hulpmiddelen nodig heeft:

De eis gesteld aan Jobshop is dan dat die equivalent moet zijn (hetzelfde gedrag hebben) als twee Strongjobbers:

Deze keer bevat de specificatie dus wel een “|”.

Page 27: Formele technieken in SWE

Proces algebra: formeel

Alfabet: L = A A Term P kan actie l uitvoeren en verandert daardoor in term Q:

P Q l

Het gedrag van samengestelde termen kan afgeleid worden uit dat van hun componenten:

Bekijk bv. A en B :

Page 28: Formele technieken in SWE

Afleiden van stappen

Bekijk nu de term A | B.

Uit A A’ volgt dat A|B A’|B

Uit A’ A volgt dat A’|B A|B

Uit A’ A en B B’ volgt dat A’|B A|B’

c

c

a a

c

c

Page 29: Formele technieken in SWE

De stille actie

De communicatie via c is een communicatie tussen twee, en niet meer agents. De kan dus niet meer gesynchronizeerd worden met een complementaire actie van een derde agent.

Een actie kan lokaal gemaakt worden door “hiding” (\L met de set van te verbergen namen). Als C bv een agent is die actie c kan uitvoeren, dan kan de A’ in A’|B|C communiceren (via c) met B en C, maar in ( (A’|B) \{c} ) | C kan A’ alleen met B communiceren via c.

Page 30: Formele technieken in SWE

Transitie-boom en -graph

Boom:

Graph:

Page 31: Formele technieken in SWE

Afleidingsregels voor de transities

Structured Operational Semantics: de regels corresponderen met de manier waarop termen (programma’s) opgebouwd zijn.

Page 32: Formele technieken in SWE

Afleidingsregels: gebruik

Om aan te tonen dat

Construeren we een proof tree:

Page 33: Formele technieken in SWE

Recursie

De definitie A = a.A kan geschreven worden als

A = fix(X = a.X).

(cfr de fixpuntcombinator bij het functioneel programmeren)

We introduceren dus een nieuwe soort expressies (met fix),En daarbij hoort een nieuwe regel:

Page 34: Formele technieken in SWE

Bisimulatie

Twee termen zijn (semantisch) gelijk wanner ze hetzelfde gedrag vertonen. Hier betekent “hetzelfde gedrag” niet alleen dat dezelfde acties kunnen uitgevoerd worden, maar ook “op dezelfde manier interageren met andere agents”.Daarom zijn bv a.(b|c) en a.b | a.c niet equivalent.

De gebruikte equivalentie is gebaseerd op bisimulatie:Een relatie ~ tussen termen is een bisimulatie als er voor elke A ~ B en elke mogelijke stap a van A (resp B) een stap a vanuit B mogelijk is, zo dat de bereikte termen opnieuw gerelateerd zijn door ~ : A ~ B

A’ ~ B’ a a

Page 35: Formele technieken in SWE

Bisimulatie

Met behulp van de afleidingsregels kan men dan algebraïsche vergelijkingen gaan bewijzen die het redeneren over equivalentie van termen eenvoudiger maken:

P + Q = O + PP + (Q + R) = (P + Q) + RP + .P = .P …

Page 36: Formele technieken in SWE

Proces algebra

• Vormen nog steeds een zeer actueel onderzoeksgebied• Grondslag voor allerlei tools, bv voor verificatie en modelllering• Er bestaan veel varianten: bv -calculus, ambient calculus, …• Er bestaan “modeltransformaties” van termen naar Petri netten en omgekeerd.

Page 37: Formele technieken in SWE

Van term naar P/T net

Regels:

Page 38: Formele technieken in SWE

Van term naar P/T net

Voorbeeld: