Formele technieken in SWE - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Formele technieken in SWE

Description:

Formele technieken in SWE Petri nets, Proces algebra - 3 – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 39
Provided by: Dirk106
Category:
Tags: swe | bach | formele | technieken

less

Transcript and Presenter's Notes

Title: Formele technieken in SWE


1
Formele technieken in SWE
  • Petri nets, Proces algebra - 3

2
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.
3
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).
4
Coloured Petri Nets Alternating Bit Protocol
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.
De d fungeert nu als een variabele, met als
mogelijke waarden de waarden van de data frames
5
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.
6
Coloured Petri Nets Alternating Bit Protocol
Het volledige systeem
Nu moeten A en B nog verfijnd worden
7
(No Transcript)
8
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
9
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.

10
Unfolding
11
Unfolding
12
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
    theoretische
  • model 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)

13
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).

14
Basisideën voorbeeld
a
a
A1
A2
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.
15
Eenvoudige buffer
We modeleren een eenvoudige buffer waarin plaats
is voor één element
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.
16
Meervoudige buffer
We kunnen nu twee van die cellennaast mekaar
plaatsen en ze aan mekaar schakelen
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
Dit kunnen we schrijven als een term
.
17
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.
18
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.
19
Meervoudige buffer met acknowledgements
We kunnen dit ook veralgemenen tot cellen en
buffers die een acknowledgement moeten
terugsturen
Cel
Gedrag
Systeem
20
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.
21
Jobshop hammer
Gebruikte namen
Gedrag Of nog
22
Jobshop jobber
Toestanden
Sort (gebruikte namen)
Schema
23
Samenstelling
De namen puth, puth, geth, geth worden lokaal
gemaakt (onzichtbaar naar buiten toe). Als proces
term
24
Samenstelling
Dit wordt voorgesteld als volgt
De lokale ports zijn niet meer beschikbaar voor
verdere interacties met andere agents.
25
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
26
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 .
27
Proces algebra formeel
Alfabet L A ? A Term P kan actie l uitvoeren
en verandert daardoor in term Q
Het gedrag van samengestelde termen kan afgeleid
worden uit dat van hun componenten
Bekijk bv. A en B
28
Afleiden van stappen
Bekijk nu de term A B.
Uit A A volgt dat AB AB
Uit A A volgt dat AB
AB Uit A A en B B volgt dat
AB AB
29
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
ABC communiceren (via c) met B en C, maar in
( (AB) \c ) C kan A alleen
met B communiceren via c.
30
Transitie-boom en -graph
Boom
Graph
31
Afleidingsregels voor de transities
Structured Operational Semantics de regels
corresponderen met de manier waarop termen
(programmas) opgebouwd zijn.
32
Afleidingsregels gebruik
Om aan te tonen dat Construeren we een proof
tree
33
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
34
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.(bc) 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
35
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 P P (Q R) (P Q) R P ?.P
?.P
36
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.

37
Van term naar P/T net
Regels
38
Van term naar P/T net
Voorbeeld
Write a Comment
User Comments (0)
About PowerShow.com