Temporele logica specificatie van message passing en real- time … · Temporele logica...

19
Temporele logica specificatie van message passing en real- time systemen Citation for published version (APA): Koymans, R. L. C. (1987). Temporele logica specificatie van message passing en real-time systemen. (Computing science notes; Vol. 8706). Technische Universiteit Eindhoven. Document status and date: Gepubliceerd: 01/01/1987 Document Version: Uitgevers PDF, ook bekend als Version of Record Please check the document version of this publication: • A submitted manuscript is the version of the article upon submission and before peer-review. There can be important differences between the submitted version and the official published version of record. People interested in the research are advised to contact the author for the final version of the publication, or visit the DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, please follow below link for the End User Agreement: www.tue.nl/taverne Take down policy If you believe that this document breaches copyright please contact us at: [email protected] providing details and we will investigate your claim. Download date: 02. Aug. 2020

Transcript of Temporele logica specificatie van message passing en real- time … · Temporele logica...

Page 1: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

Temporele logica specificatie van message passing en real-time systemenCitation for published version (APA):Koymans, R. L. C. (1987). Temporele logica specificatie van message passing en real-time systemen.(Computing science notes; Vol. 8706). Technische Universiteit Eindhoven.

Document status and date:Gepubliceerd: 01/01/1987

Document Version:Uitgevers PDF, ook bekend als Version of Record

Please check the document version of this publication:

• A submitted manuscript is the version of the article upon submission and before peer-review. There can beimportant differences between the submitted version and the official published version of record. Peopleinterested in the research are advised to contact the author for the final version of the publication, or visit theDOI to the publisher's website.• The final author version and the galley proof are versions of the publication after peer review.• The final published version features the final layout of the paper including the volume, issue and pagenumbers.Link to publication

General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal.

If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the “Taverne” license above, pleasefollow below link for the End User Agreement:www.tue.nl/taverne

Take down policyIf you believe that this document breaches copyright please contact us at:[email protected] details and we will investigate your claim.

Download date: 02. Aug. 2020

Page 2: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

RRD , B 1 CSN ft=f.OG

Temporele Logica Specificatie van

Message Passing en Real-Time Systemen

(in Dutch)

Ron Koymans

Page 3: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

Temporele Logica Specificatie van

Message Passing en Real-Time Systemen

(in Dutch)

Ron Koymans

Februari 1987

Page 4: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

COMPUTING SCIENCE NOTES

This is a series of notes of the Computing

Science Section of the Department of

Mathematics and Computing Science of

Eindhoven University of Technology.

Since many of these notes are preliminary

versions or may be published elsewhere, they

have a limited distribution only and are not

for review.

Copies of these notes ~re available from the

author or the editor.

Eindhoven University of Technology --~ - --- ~ -

Department of Mathematics and Computing Scienc,e

P.O. Box 513

5600 MB EINDHOVEN

The Netherlands

All rights reserved

editor: F.A.J. van Neerven

Page 5: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

TEMPORELE LOGICA SPECIFICA TIE V AN MESSAGE PASSING EN REAL-TIME SYSTEMEN

Ron Koymans

Technische Universiteit Eindhoven

Faculteit der Wiskunde en Informatica

Vakgroep Informatica

Postbus 513

5600 MB Eindhoven

e-mail adres: mcvax!eutrc3!wsinronk.UUCP

25 februari 1987

Samenvatting

Temporele logica is een eenvoudige uitbreiding van klassieke logica met tem­

porele operatoren. Als we een berekening zien als een rij toestanden over de tijd.

kunnen we met temporele logica over deze rij redeneren: het klassieke gedeelte

beschrijft het statische aspect. de toestanden zelf. en de temporele operatoren

beschrijven het dynamische aspect. het verband (in de tijd) tussen toestanden.

Temporele logica is een zeer nuttig middel gebleken v~~r de specificatie en

verificatie van met name parallelle systemen. Het is toegepast op de meest uiteen­

Jopende voorbeelden. zoals parallelle programma·s. communicatieprotocollen.

hardware. VLSI. etc.

Des te opmerkelijker is het dat temporele logica a priori niet geschikt is voor

de specificatie van twee belangrijke klassen van systemen: message passing en real­

time systemen. We ontwikkelen een uitbreiding van standaard temporele logica

waarmee message passing en real-time systemen weI kunnen worden beschreven en

illustreren dit aan de hand van twee kleine voorbeelden.

Page 6: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

- 2 ..

1. Inleiding

Temporele logica is een eenvoudige en elegante uitbreiding van klassieke logica (propositie- en

predicatenlogica) met temporele operatoren en is in het bijzonder geschikt v~~r het redeneren over

in de tijd veranderende (dynamische) situaties. De onderliggende setnantiek van temporele logica

maakt een duidelijke tweescheiding tussen het statische aspect van een situatie. gerepresenteerd

door een toestand. en het dynamische aspect. het verband On de tijd) tussen toestanden. Deze

tweescheiding vinden we in de syntax terug: een toestand wordt beschreven met klassieke logica.

terwijl de temporele operatoren worden gebruikt voor de beschrijving van de evolutie van de situa­

tie over de tijd. Op deze manier hoeven toestanden en tijd niet expliciet geintroduceerd te worden

in de logica zelf.

Dit beeld van toestanden en hun re1atie in de tijd past uitstekend bij het begrip berekening

zoals dat gebruikt wordt in de informatica. Een berekening kunnen we zien als een rij toestanden

over de tijd (de berekeningsstappen). en zoals hierboven aangeduid kunnen we met temporele logi­

ca over zo'n rij redeneren. Het bijbehorende model van de tijd is dan de verzameling van

natuurlijke getallen. die de tikken van de 'berekeningsklok' voorstellen (beginnend op tijdstip 0).

De zo verkregen variant van temporele logica wordt in de literatuur 'linear time temporal logic'

genoemd. Deze variant is speciaal geschikt v~~r het beschrijven van computer systemen, die dan

gezien worden als voortbrengers van executierijen.

In de afgelopen jaren is temporele logica een zeer nuttig middel gebleken voor de specificatie

en verificatie van parallelle systemen. Het kan in die context onder andere gebruikt worden voor

redeneren over safety-eigenschappen (bv. partie Ie correctheid) en liveness-eigenschappen

(bv, totale correctheid. f~irness).

de beschrijving van systemen op elk niveau van abstractie,

compositioneel redeneren: de specificatie van het hele systeem is een functie van de

specificaties van de sUbsystemen.

De toepassingen van temporele logica in de informatica zijn dan ook talrijk. Met succes is

temporele logica toegepast als specificatie- en verificatiemethode voor parallelle programma's, com­

municatieprotocollen. VLSI. hardware. etcetera. Het kan verder worden gebruikt om axiomatische

definities van parallelle programmeertalen te geven en Ben Moszkowski heeft zelfs een deel van

zijn Interval Temporal Logic omgewerkt tot een programmeertaal. Tempura geheten. zodat

programma's en specificaties samenvallen (en bv. specificaties in Tempura executeerbaar worden).

Des te opmerkelijker is het dat tempore Ie logica a priori niet geschikt is voor de specificatie

v/ln W/e~ belangrijke klassen van systemen: _messagepas~ing en real-time sys~eIlle~ . .I)~imy()l"1,aI1~_

tie van deze twee klassen wordt geillustreerd door hun veelvuldige voorkomim in de praktijk:

message passing is een van de meest belangrijke communicatiemiddelen in gedistribueerde

systemen. zowel op hoog niveau (bv. telecommunicatie applicaties geschreven in CHILL), als

op een lager niveau (zoals bv. in een implementatie van Ada).

Page 7: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

- 3 -

onder de vele real-time toepassingen (bv. on-line vluchtreserveringsystemen) zijn er ook

enkele die kritiek van aard zijn. zoals computergestuurde chemische fabrieken en kerncen­

trales.

Omdat message passing systemen zo wijd verbreid zijn en sommige real-time systemen nogal kri­

tiek. is het van groot belang formele technieken te ontwikkelen om over deze systemen te kunnen

redeneren. Wat betreft message passing is deze ontwikkeling reeds vele jaren gaande. Met real­

time is het echter veel droeviger gesteld: dit gebied is door het theoretische onderzoek bijna geheel

verwaarloosd.

2. Temporele Logica

We definieren eerst de syntax van PTL. Propositional (Linear Time) Temporal Logic.

Zij I een niet-Iege verzameling.

PTL gebruikt een propositionele taal met

Vocabulaire: atomaire proposities Pi (i E 1)

propositionele connectieven ...,. A

temporele operatoren X. U. Y. S

Formules: Pi (i E 1)

.., 11. 11 A 12. XI 1· 11 UI 2. YI 1· I 1 SI2 ct l' 12 formules).

De semantiek van PTL is als voIgt. Een toestand is een functie van I naar {True. False} : een toe­

stand geeft aan welke atomaire proposities waar zijn in die toestand. Een model is een oneindige rij

toestanden. Een interpretatie is een paar <M. n > . waarbij M een model en n een natuurlijk

getal is en representeert het heden). Waarheid van een formule I in de interpretatie <M . n > notatie M. n f= I . wordt inductief gedefinieerd als:

M. nf=Pi - Mn (i) = True

M.nf= .... 1 - niet M. n f= I M.nf=/1 A/2 - M.nf=/1 en

M .nf=Xj - M.n+lF=1

M. n f= 11 UI2 - er is een m~n zodat M. m f= I 2 en voor aIle j zodat n ~ j <m geldt

M.jf=/1

M.nf=YI - n>O en M.n-1f=1

M. n f= I 1 S/2 - er is een m ~ n zodat M. m f= I 2 en voor aIle j zodat m < j ~ n geldt

M. jf= 11·

Page 8: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

- 4 -

Uit de gegeven vier temporele operatoren kunnen vele andere temporele operatoren worden

afgeleid. Twee zeer belangrijke temporele operator en zijn F ('uiteindelijk') en G ("aItijd·). Deze

kunnen als voIgt worden gedefinieerd:

Ff := true Vf waarbij true == .., (Pi 1\ ..,pi ) voor een i E 1.

Gf := .., F .., f·

Ais voorbeeld van het nut van deze operatoren is de combinatie GP. .. te noemen. wat semantisch

overeenkomt met 'oneindig vaak'. Deze comb ina tie wordt veel gebruikt bij uitdrukking van

f airness-eigenschappen.

3. Message Passing en Real-Time Systemen

Zij Messages een niet-Iege verzameling boodschappen. Een message passing systeem zou

schematisch gerepresenteerd kunnen worden als

in (m ) out (m ) ------~)~ ) MPS = Message Passing Systeem

waarbij m E Messages en

in (m) correspondeert met de aanname (van de omgeving) van boodschap m door het MPS. en

out (m ) correspondeert met de afievering (aan de omgeving) van boodschap m door het MPS.

Een MPS kan een buffer of transmissiemedium zijn. maar ook een ingewikkeld communica­

tienetwerk. in (m) en out (m) vormen de interface met de omgeving en out (m) wordt gezien als

de reactie van het systeem op de actie in (m) van de omgeving. Het bovenstaande plaatje moet

natuurlijk aangevuld worden met restricties op de functies in en out. afhankelijk van het type

message passing systeem. Voor alle typen nemen we de volgende restricties als basis aannamen:

BAL de aanname en aflevering van boodschappen kunnen worden beschouwd als instantane

acties (in de zin dat er altijd een uniek moment kan worden bepaald waarop een

boodschap als aangenomen. dan weI afgeleverd. wordt beschouwd). die altijd mogelijk

zijn.

BA2. op elk moment kan hoogstens een boodschap worden aangenomen. dan weI afgeleverd,

BA3. het MPS creeert zelf geen boodschappen.

BA4. het MPS heeft een eindige snelheid, d.w,z. er is een positieve (mogelijkoneindige}-ver----- --- ~~- -

traging tussen de aanname en de afievering van een boodschap.

Een voorbeeld van een MPS, dat veel in de praktijk voorkomt en aan BAI-BA4 voldoet. is een

transmissiemedium waarbij de kans van een succesvolle transmissie tussen 0 en 1 ligt.

Page 9: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

- 5 -

Naast bovenstaande basis aannamen kunnen message passing systemen door nog verdere

eigenschappen onderscheiden worden:

betrou wbaar heidseigenscha ppen

• perfect: aIle aangenomen boodschappen worden (uiteindelijk) afgeleverd

• imperfect: boodschappen kunnen verloren gaan

ordeningseigenschappen

FIFO (als een queue)

LIFO (als een stack)

ongeordend (als een bag).

Een voorbeeld van een ongeordend MPS is een communicatienetwerk waarin elke boodschap naar

een willekeurige knoop wordt doorgezonden totdat de bestemmingsknoop is bereikt.

Voor real-time systemen is het moeilijk een lijst van precieze karakteristieke eigenschappen te

geven zoals hierboven voor message passing systemen. Wat in ieder geval weI duidelijk is, is dat

tijd een zeer belangrijke rol speelt. Twee onderwerpen die we hier ter sprake willen brengen zijn:

'promptness requirements'. by. na elke A voIgt B binnen 3 seconden

tijdsmodellen: sommige real-time system en bewaken continue fysische entiteiten. zoals

volume en temperatuur. en in zo'n geval is een discreet tijdsmodel (zoals de natuurlijke

getallen) aanvechtbaar.

4. Real-Time Temporele Logica (RTL)

Het kan worden bewezen dat vele message passing system en niet met PTL, zoals gedefinieerd

in sectie 2. gespecificeerd kunnen worden. Dit ligt essentieel aan het feit dat PTL verschillende

instanties van een en dezelfde boodschap, die door het MPS aangenomen zijn. niet kan onder­

scheiden en daarom geen unieke koppeling tussen afgeleverde boodschappen en eerder aangenomen

boodschappen kan maken. Wat real-time system en betreft. is er een eenvoudigere reden waarom

deze niet met standaard temporele logica gespecificeerd kunnen worden: PTL heeft alleen maar

qualitatieve temporele operatoren en is dus niet in staat om quantitatieve tijdsmaten te

beschrijven. Bovendien is de semantiek van PTL gebaseerd op een discreet tijdsmodel en, zoals

opgemerkt op het eind van de vorige sectie. maakt dit de beschrijving van de specifieke toepas­

singsgebieden waarbij continue processen zijn betrokken problematisch.

Deze opmerkingen lijden tot onze motivatie voor RTL. Real-Time Temporele Logica. Hierin

worden quantitatieve temporele operatoren geintroduceerd en worden in de semantiek ook dichte

tijdsmodellen toegelaten. zoals de rationale en rciHe getallen. Verder wordt bij message passing

systemen aangenomen dat de binnenkomende boodschappen uniek geidentificeerd kunnen worden.

Page 10: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

- 6 -

bv. door boodschappen van conceptuele timestamps te voorzien. Hierdoor wordt de

bovengenoemde koppeling tussen af geleverde en aangenomen boodschappen mogelijk. De aanname

van unieke identificatie is niet zo beperkend als dit op het eerste gezicht lijkt. Deze aanname kan

namelijk worden gerechtvaardigd door het begrip data-onafbankelijkheid dat door Pierre Wolper

geintroduceerd werd. Informeel wordt een systeem data-onafhankelijk genoemd wanneer de

waarden van de aangeleverde data bet functionele gedrag van het systeem niet beinvloeden. Een

van zijn resultaten komt er op neer dat de correctheid van een data-onafhankelijk systeem niet

afhangt van de uniciteit van binnenkomende data. Omdat message passing systemen data aIleen

maar doorgeven zijn ze duidelijk data-onafbankelijk.

We zuIlen nu RTL wat formeler definieren. Beschouw een tijdsdomein T met een lineaire

ordening < (in het bijzonder denken we aan de natuurlijke en de reele getallen). RTL gebruikt een

eerste-orde taal met quantificatie over:

het data domein. bv. Messages: Vm. 3m

het tijdsdomein T : Vt.:3t .

De temporele operatoren zijn U =t en S =t voor aIle t E T.

De semantiek van RTL is als voIgt. Zij E de verzameling van aBe toestanden. Een model is

een functie van T naar E. Voor een interpretatie <M. t > . waarbij M een model is en t E T. is

de definitie van de temporele operatoren als voIgt:

M.t!=/ 1 V=/ o /2 :=M.t+t o!=/2 envoorallet' zodatt<t'<t+to geldt M.t'!=rl

M,t!=/ 1 S=t o /2 := M.t-to!=/2 envoorallet' zodatt-to<t'<t geldt M.t'!=/l.

In bovenstaande definities wordt ervan uitgegaan dat t +t 0 en t -t 0 bestaan in T. Is dit niet het

geval (bv. t -:-t 0< 0 bij de natuurlijke getallen als tijdsdomein) dan zijn bovenstaande formules

onwaar in <M. t >.

Uit deze real-time operatoren zijn weer vele afgeleide operatoren te definieren zoals ook de

oorspronkelijke V en S van PTL uit sectie 2:

11 VI2 := 12 V {f 1 1\ 3 t (t > 0 1\ 11 V =t 12))

11 S/2 := 12 V {f 1 1\ :3 t (t > 0 1\ 11 S =1 12))·

Verder hebben we een quantitatieve versie van de F en een analogon van F dat naar het verleden

kijkt in plaats van de toekomst:

F =t I := true V =1 I ____ 0 _________________ 0- __ ---- --- ----- ----------

PI := :3 t (t > 0 1\ true S =1 I ).

Page 11: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

- 7 -

5. Specificatievoorbeelden

Ons eerste voorbeeld betreft message passing systemen. Eerst specificeren we de basis aanna­

men BAI-BA4 uit sectie 3:

BA 2

BA 3a.4

BA 3b

G Vm Vm' [«in (m) -/\ in (m')) V (out (m) /\ out (m' ))) -+ m = m']

G Vm [out (m) -+ P in (m )]

G Vm ., (out (m) /\ Pout (m )).

Aan BAl is al voldaan vanwege onze manier van formaliseren: in (m) en out (m) kunnen op elk

moment waar zijn. Merk op dat we BA3 (geen creatie van boodschappen) hebben gesplitst in de

volgende twee gevallen:

BA3a geen creatie van totaal nieuwe boodschappen

BA3b geen multiplicatie van reeds aanwezige boodschappen.

Axioma BA 3a.4 is niet voldoende om voorwaarde BA3b te specificeren zoals wordt aangetoond

door het gedrag

in (m) out (m ) out (m )

I I

dat weI door axioma BA 3a.4 wordt toegestaan. maar niet aan voorwaarde BA3b voldoet. Daarom

was een apart axioma voor BA3b noodzakelijk.

De aanname van unieke identificatie van binnenkomende boodschappen kan vertaald worden

in het volgende axioma:

G Vm ., (in (m) /\ P in (m )).

Vervolgens specificeren we bovenop BAI-BA4 twee ordeningseigenschappen. nl. FIFO en LIFO:

FIFO G Vm Vm' [(out (m) /\ Pout (m' )) -+ P Un (m) 1\ P in (m' ))]

LIFO G Vm Vm' [(out (m ) 1\ P out (m' ))-+ (P (in (m' ) 1\ P in (m )) V P (out(m' ) /\ ..... p in (m)))].

Beide axioma's zijn onafhankelijk van het weI of niet verIiezen van boodschappen. oftewel van bet

perfect zijn van het MPS. FIFO zegt simpelweg: als m er na m' uitkomt. moet m er ook na m' zijn

ingekomen. Bij LIFO worden twee gevallen onderscheiden als m er na m' uitkomt:

1. m was al op de stack toen m' er bovenop kwam

2. m' was al van de stack voordat m er bovenop kwam.

Merk op dat FIFO en LIFO equivalent worden onder de extra aanname dat de capaciteit van het

MPS om boodschappen op te slaan 1 is (want in dat geval vervalt de eerste disjunctieve c1ausule

Page 12: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

- 8 -

bij LIFO. punt 1 boven). Verder is het eenvoudig in te zien dat zowel het axioma voor FIFO als

dat voor LIFO samen met het axioma over de unieke identificatie van binnenkomende boodschap­

pen axioma BA 3b impliceren.

Intuitief zijn al de bovengenoemde eigenschappen safety-eigenschappen. Volgens een syntac­

tische classificatie van tempore Ie formules in safety- en liveness-eigenschappen. zijn formules die

aIleen gebruik maken van de tempore Ie operatoren G en P safety-eigenschappen en de boven­

staande axioma's gebruiken inderdaad aIleen deze twee temporele operatoren. Wanneer we een

echte liveness-eigenschap willen specificeren. zoals het perfect zijn van een MPS. gebruiken we de

typische liveness operator F:

G "1m [in em) -+ F out em)].

Ais real-time voorbeeld kiezen we probleem nr. 8 uit een workshop 'The Analysis of Con­

current Systems' (de proceedings hiervan verschenen als Springer Lecture Notes in Computer Sci­

ence 207) waarin vereenvoudigde praktijkvoorbeelden ter specificatie voorgelegd werden. Het

probleem betreft de vermenging van synchrone en asynchrone invoer. De originele informele

specificatie luidt als voIgt:

The object has two inputs and one output. The output and one of the inputs respectively send and receive data

in packets at regular intervals. The remaining input is asynchronous. i.e. data appears at undetermined times.

The data packets which arrive at the synchronous input may be full or empty. and the object may only output

data by forwarding packets from the synchronous input or filling an empty packet with data from the asyn­

chronous input. All packets have the same size,

Gevraagd werd het hierboven omschreven object formeel te specificeren. Voordat we echter tot

zo'n specificatie kunnen overgaan. zullen we deze informele specificatie wat preciezer moeten lnter­

preteren. We nemen daartoe aan dat aankomst van packets bij de synschrone invoer en het ver­

zenden van packets bij de uitvoer gebeurt in intervaIlen met dezelfde periode, zeg c. Bovendien

nemen we aan dat er een eindige vertraging. zeg d. is tussen de aankomst van een packet p bij de

synchrone invoer en het verzenden van een packet (niet noodzakelijkerwijs p). Met deze aanna­

men interpreteren we de mogelijkheden van verzending van een packet als voIgt:

1. elk niet leeg packet van de synchrone invoer wordt met vertraging d verzonden

2. een leeg packet van de synchrone invoer kan verzonden worden met vertraging d dan weI

wordt in plaats daarvan een eerder ontvangen packet van de asynchrone invoer verzonden.

Tenslotte nemen we aan dat het object zich als een message passing systeem gedraagt. in het

bijzonder dat het zelf geen packets creeert (basis aanname BA3). Al deze aannamen corresponderen

met een natuurlijke interpretatie van de informele specificatie en kunnen desgewenst aangepast

worden ten behoeve van andere interpretaties.

Page 13: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

- 9 -

Ais atomaire formules in de formele specificatie gebruiken we ins (p). ina (p). out (p) en

isempty (p) waarbij peen packet is. ins (p ) correspondeert met de aankomst van packet p bij de

synchrone invoer. ina (p) met de aankomst van packet p bij de asynchrone invoer. out (p) met het

verzenden van packet p bij de uitvoer en isempty (p ) geeft aan of peen leeg packet is of niet.

De formele specificatie bestaat uit de volgende 8 axioma's:

1. G Vp [out (p) -+ « ..,3p' out (p')) U =c 3p' out (p' »]

2. G Vp .., (out(p) A P out (p»

3. G Vp Vp' [(out (p) A out (p'» -+ p = p']

4. G Vp Vp' [(ins (p) 1\ ins (p' » -+ p = p' ]

5. G Vp [(ins (p) A ..,isempty (p» -+ F =d out (p)]

6. G Vp [Uns (p ) 1\ isempty (p »- F =d (out (p ) V 3p' [out (p' ) A P ina (p' )])]

7. G Vp [ins (p ) - F =c 3p' ins (p' )]

8. G Vp [(ins (p) A ..,3p· Pins (p'» -+ F =d ..,p 3p' out (p' )].

Axioma 1 formaliseert de regelmatigheid van de uitvoer met periode c. Axioma 2 correspondeert

met voorwaarde BA3b (geen multiplicatie van packets) uit het begin van deze sectie. en axioma's 3

en 4 corresponderen met basis aanname BA2. Axioma 5 correspondeert met de eerste mogelijkheid

voor verzending (punt 1 hierboven) en axioma 6 met de tweede mogelijkheid (punt 2 hierboven).

De gegeven formulering van dit zesde axioma laat toe dat in de vertragingsperiode d nog op het

allerlaatste moment een packet op de asynchrone invoer kan komen dat dan doorgestuurd wordt.

Dit kan desgewenst veranderd worden door by. de operator P buiten het bereik van de operator

F =d te halen. Axioma 7 geeft de regelmatigheid van de synchrone invoer met periode c weer. De

sterkere formulering zoals in het eerste axioma is in dit geval niet nodig omdat deze sterk ere for­

mulering voor de synchrone invoer al voIgt uit dit eerste axiom a gecombineerd met het feit dat

elke synchrone invoer leidt tot een uitvoer met vertraging d (dit laatste voIgt uit het vijfde en

zesde axioma). Axioma 8 zegt dat de uitvoer pas packets kan gaan verzenden tijd d na het

ontvangen van het eerste packet van de synchrone invoer.

Merk op dat basis aanname BA4 al automatisch ingebouwd is door de vertraging d en dat

voorwaarde BA3a (geen creatie van nieuwe packets) uit het begin van deze sectie vervuld is

vanwege het eerste. vijfde. zesde en zevende axioma (regelmatigheid van synchrone invoer en uit­

voer met periode c). Verder is in bovenstaande specificatie opengelaten wat er gebeurt met packets

die aankomen bij de asynchrone invoer. In het zesde axioma wordt slechts uitgedrukt dat een

packet van de asynchrone invoer in plaats van een leeg packet van de synchrone invoer kan wor­

den verzonden. maar of de packets van de asynchrone invoer worden gebuff erd of niet enz. wordt

opzettelijk niet gespecificeerd omdat hierover ook niets gezegd wordt in de informele specificatie.

Page 14: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

A vailable Reports from the Theoretical Computing Science Group

Author(s)

TlR82.1

R Kuiper, W.P. de Roever

TIR83.1

TIR83.2

TIR84.1

TIR84.2

TIR84.3

TIR84.4

TIR85.1

TIR85.2

R Koymans,

J. Vytopil,

W.P. de Roever

H. Barringer, R Kuiper

R Gerth,

W.P. de Roever

RGcrth

H.Barringcr,

R Kuiper,

A. Pnucli

H. Barringer,

R Kuiper

W.P. de Roever

O. Griinberg, .... N.Francez,

J. Makowsky,

W.P. de Roever

Title

Fairness Assumptions for CSP in a Tem­poral Logic Framework

Real-Time Programming and Synchronous Message passing (2nd ACM PODC)

Towards the Hierarchical, Temporal Logic, Specification of Concurrent Systems

A Proof System for Concurrent Ada Pro­grams (SCP4)

Transition Logic - how to reason about tem­poral properties in a compositional way (16th ACM FOCS)

Now you may compose Temporal Logic Specifications (proc. STOC84)

Hierarchical Development of Concurrent

Systems in a Temporal Logic Framework

The Quest for Compositionality - a survey

of assertion-based proof systems for con­

current progams, Part I: Concurrency based on shared variables (IFIP85)

A proof-rule-for fair termination-ofguarded-- -

commands (Inf.& Control 1986)

Classification

EUT DESCARTES

Page 15: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

TIR85.3

TIR85.4

TIR85.5

TIR86.1

TIR86.2

TIR86.3

TIR86.4

TIR86.5

TIR86.6

TIR86.7

TIR86.8

TIR86.9

TIR86.10

F.A. Stomp,

W.P. de Roever, R Gerth

R Koymans, W.P. de Roever

H. Barringer, R Kuiper,

A. Pnueli

R. Koymans

J. Hooman, W.P. de Roever

R Ger[h,

L. Shira

R. Koymans,

- 2 -

The Jl-calculus as an assertion language for fairness arguments (Inf.& Control 1987)

Examples of a Real-Time Temporal Logic Specification (LNCS207) ,

A Compositional Approach to a, CSP-like Language

Specifying Message Passing and Real-Time CSN86/01 Systems (extended abstract)

The Quest goes on: A Survey of Proof Sys- EUT-Report tems for Partial Correctness of CSP 86-WSK-OI (LNCS227)

On Proving Communication Closedness bf CSN86/07 Distributed Layers (LNCS236)

CSN86/08 RK. Shyamasundar, Compositional Semantics for Real-Time W.P. de Roever. Distributed Computing (Inf.&Control 1987) R Gerth,

S. Arun Kumar

C. Huizing.

R Gerth. W.P. de Roever

J. Hooman

W.P. de Roever

R Gerth. A. Boucher

R Gerth. W.P. de Roever

R. Koymans

Full Abstraction of a Real-Time Denota- CSN86/09 PE.Ol tional Semantics for an OCCAM-like Language

A Compositional Proof Theory for Real- CSN86/10 TR.4-1-1(1) Time Distributed Message Passing

Questions to Robin Milner - A Responder's CSN86/11 Commentary (IFIP86)

A Timed Failures Model for Extended CSN86/12 TR.4-4(I) Communicating Processes

Proving Monitors Revisited: a first step CSN86/13 towards verifying object oriented systems (Fund. Informatica IX-4)

Specifying Message Passing Systems CSN86/14 PE.02 Requires Extending Temporal Logic

Page 16: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

- 3 -

TIR86.11 H. Barringer, A Really· Abstract Temporal Logic Seman-R. Kuiper,

A. Poueli tics for Concurrency (Proc. POPL86)

TIR87.1 R. Gerth On the existence of sound and complete CSN87/01 axiomatizations of the monitor concept

TIR87.2 R. Kuiper Enforcing Nondeterminism via Linear Time CSN87/05 Temporal Logic Specifications

TIR87.3 R. Koymans Tcmporele Logica Specifieatie van Message CSN87/06 Passing en Real-Time Systemen (in Dutch)

TIR87.4 R. Koymans Specifying Message Passing and Real-Time CSN87/07 PE.03 Systems with Real-Time Temporal Logic

Page 17: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

COMPUTING SCIENCE NOTES

In this series appeared

No. 85/01

85/02

85/03

85/04

86/01

86/02

86/03

86/04

86/05

86/06

86/07

Author(s) R.H. Mak

W.M.C.J. van Overveld

W.J.M. Leunnens

T. Verhoeff H.M.J.L. Schols

R. Koymans

G.A. Bussing K.M. van Hee M. Voorhoeve

Rob Hoogerwoord

G.J. Houben J. Paredaens K.M. van Hee

Jan L.G. Dietz Kees M. van Bee

Tom Verhoeff

R. Gerth L. Shira

Title The formal specification and derivation of CMOS-circuits

On arithmetic operations with M-out-of-N-codes

Use of a computer for evaluation of flow films

Delay insensitiv~-directed trace structures satisfy the foam rubber wrapper postulate

Specifying message passing and real-time systems

ELISA, A language for formal specifications of information systems

Some reflections on the implementation of trace structures

The partition of an information system in several parallel systems

A framework for the conceptual modeling of discrete dynamic systems

Nondeterminism and divergence created by concealment in CSP

On proving counnunication closedness of distributed layers

Page 18: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

86/08

86/09

86/10

86/11

86/12

86/13

86/14

87/01

87/02

87/03

87/04

R. Koymans R.K. Shyamasundar W.P. de Roever R. Gerth S. Arun Kumar

C. Huizing R. Gerth W.P. de Roever

J. Hooman

W.P. de Roever

A. Boucher R. Gerth

R. Gerth W.P. de Roever

R. Koymans

R. Gerth

Simon J. Klaver Chris F.M. Verberne

G.J. Houben J.Paredaens

T.Verhoeff

Compositional semantics for real-time distributed computing (Inf.&Control 1987)

Full abstraction of a real-time denotational semantics for an OCCAM-like language

A compositional proof theory for real-time distributed message passing

Questions to Robin Milner - A responder's commentary (IFIP86)

A timed failures model for extended communicating processes

Proving monitors revisited: a first step towards verifying object oriented systems (Fund. Informatica IX-4)

Specifying passing systems requires extending temporal logic

On the existence of sound and complete axiomatizations of the monitor concept

Federatieve Databases

A formal approach to distri­buted . infot"JIlatio.J) .. systems

Delay-insensitive codes -An overview

Page 19: Temporele logica specificatie van message passing en real- time … · Temporele logica specificatie van message passing en real-time systemen Citation for published version (APA):

87/05 R.Kuiper

87/06 R.Koymans

87/07 R.Koymans

Enforcin.g non-determinism via linear time temporal logic specification.

Temporele logica specificatie van message passing en real-time systemen (in Dutch).

Specifying message passing and real-time systems with real-time temporal logic.