60 likes | 244 Views
מפרטים פורמאליים תירגול מספר 10. Lamport - רק התורים מבוסס על המאמר: “specifying concurrent program modules” by Leslie Lamport (ACM Transaction on programming languages and systems Vol. 5 April 1983, pages 190-222). מפרטים פורמאליים - תירגול. שחר דג. התור הרגיל (תזכורת).
E N D
מפרטים פורמאלייםתירגול מספר 10 Lamport - רק התורים מבוסס על המאמר: “specifying concurrent program modules” by Leslie Lamport (ACM Transaction on programming languages and systems Vol. 5 April 1983, pages 190-222) מפרטים פורמאליים - תירגול שחר דג
התור הרגיל(תזכורת) מפרטים פורמאליים - תירגול שחר דג
התור שמאבד הודעות TMT replaces PUT RCV replaces GET In 3(c), ≺ denotes the relation “is a proper sub-sequence of” In 5, if in(RCV) and infinitely often the queue is not empty, then eventually we will exit RCV (reminder: p ⇝ q : ⃞(p → ⃟q)) מפרטים פורמאליים - תירגול שחר דג
השולח Squeue – the messages that we have to send Snum – the current sequence number Sarg – the input parameter to SEND Stmtarg – the argument for the next call to MTMT or NULL if not known yet Srcvval – the returned value by the last call to ARCV or NULL if the value was already processed מפרטים פורמאליים - תירגול שחר דג
המקבל rqueue - the queue of the received messages rnum - the sequence number of the last message rval - the returned value from RECEIVE rtmtarg - the argument for the next call to MTMT or NULL if not known yet rrcvval - the last received message or NULL if it already been handled The rezoning for the receiver is very similar to the rezoning for the sender and it is left to the reader. מפרטים פורמאליים - תירגול שחר דג
המערכת השלמה ערוץ שידור אמין (בעצם ממש תור רגיל) rrcvval stmtarg snum rnum rval sarg squeue rqueue rtmtarg srcvval מפרטים פורמאליים - תירגול שחר דג