Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. Πρωτόκολλο Εναλλασσόμενου Β it Μόκα Ευαγγελία 152 Μ π ελόγια Αικατερίνη 154 Τυπικές Μέθοδοι Ανάλυσης Συστημάτων Υπεύθυνος : Κατσαρός Παναγιώτης Τυπικές Μέθοδοι Ανάλυσης Συστημάτων Υπεύθυνος : Κατσαρός Παναγιώτης Παρασκευή 6/7/2007
Quit ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤ Πρωτόκολλο μετάδοσης μηνυμάτων σε γραμμή με πιθανές «απώλειες» Εγγύηση επιτυχούς επικοινωνίας Εγγύηση επιτυχούς επικοινωνίας ΣΤΟΧΟΣΣΤΟΧΟΣ Επιτρέπεται η απώλεια μηνυμάτων από τη γραμμή & η αποστολή πλεονασματικών
Quit ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤ ΛΕΙΤΟΥΡΓΙΑ Sender Receiver Message Channel ΟΝΤΟΤΗΤΕΣΟΝΤΟΤΗΤΕΣ Acknowledgment Channel Αποστολή πακέτων με 1 bit ελέγχου 0 1 CONTROL BIT
Quit ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤ ΛΕΙΤΟΥΡΓΙΑ Μετάδοση: 1 ου πακέτου + bit ελέγχου 0 RECEIVERRECEIVER SENDERSENDER Επιβεβαίωση: bit ελέγχου 0 Μετάδοση: 2 ου πακέτου + bit ελέγχου 1 Επιβεβαίωση: bit ελέγχου 1 RECEIVERRECEIVER SENDERSENDER Με λήψη 1 ου πακέτου Με παραλαβή επιβεβαίωσης Με λήψη 2 ου πακέτου
Quit ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤ ΛΕΙΤΟΥΡΓΙΑ Αγνόηση πακέτων με μη αναμενόμενο bit ελέγχου Εναλλαγή bit ελέγχου Εναλλαγή bit ελέγχου Διασφάλιση από απώλεια πακέτων & μετάδοση πλεονασματικών Διασφάλιση από απώλεια πακέτων & μετάδοση πλεονασματικών Μετάδοση πακέτων & bit ελέγχου Μετάδοση πακέτων & bit ελέγχου Μετάδοση bit ελέγχου επιβεβαίωσης Μετάδοση bit ελέγχου επιβεβαίωσης Message Channel ChannelMessage Acknowledgment Acknowledgment
Quit ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤ ΛΕΙΤΟΥΡΓΙΑ Διαρκής αποστολή ίδιου πακέτου με ίδιο bit ελέγχου Διαρκής αποστολή ίδιου πακέτου με ίδιο bit ελέγχου Διαρκής αποστολή προηγούμενης επιβεβαίωσης Διαρκής αποστολή προηγούμενης επιβεβαίωσης SENDERSENDER RECEIVERRECEIVER Λήψη μη αναμενόμενου bit ελέγχου Λήψη μη αναμενόμενου bit ελέγχου
Quit ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤ ΛΕΙΤΟΥΡΓΙΑ SenderReceiver msg0 ack0 msg1 ack1 msg0 ack0 msg1
Quit ΠΡΩΤΟΚΟΛΛΟ ΕΝΑΛΛΑΣΣΟΜΕΝΟΥ ΒΙΤ ΛΕΙΤΟΥΡΓΙΑ SenderReceiver msg0 ack1 msg0 ack0 msg1
Quit colset BIT = int with 0..1; colset BIT = int with 0..1; colset DATA = string; colset DATA = string; colset INTxDATAxBIT= product INT * DATA * BIT; colset INTxDATAxBIT= product INT * DATA * BIT; colset INTxDATA = product INT * DATA; colset INTxDATA = product INT * DATA; colset INTxBIT = product INT * BIT; colset INTxBIT = product INT * BIT; var n : INT; var n : INT; var p,str : DATA; var p,str : DATA; var b, k : BIT; var b, k : BIT; val stop = "########"; val stop = "########"; ΤΥΠΟΙ (COLOR SETS)
Quit colset msglist = list INTxDATAxBIT; colset msglist = list INTxDATAxBIT; colset bitlist = list BIT; colset bitlist = list BIT; var seq, seq2 : msglist; var seq, seq2 : msglist; var ackseq, ackseq2 : bitlist; var ackseq, ackseq2 : bitlist; ΤΥΠΟΙ (COLOR SETS) ΛΙΣΤΕΣ
Quit TOP Ο αποστολέας στέλνει το μήνυμα μαζί με το bit ελέγχου Το μήνυμα + bit προωθείται μέσω του καναλιού στον παραλήπτη Ο παραλήπτης λαμβάνει το μήνυμα και στέλνει την επιβεβαίωση (bit) Η επιβεβαίωση προωθείται μέσω του καναλιού στον αποστολέα
Quit SENDER Αρχικό μήνυμα Προώθηση μηνύματος & bit ελέγχου Προώθηση πακέτου & bit ελέγχου Λήψη bit επιβεβαίωσης Προώθηση bit επιβεβαίωσης Φρουρός Διατήρηση control bit & θέσης επομένου πακέτου
Quit SENDER Ένα πακέτο προστίθεται στη λίστα seq μόνο αν δεν υπάρχει ήδη, για αποφυγή έκρηξης χώρου καταστάσεων
Quit SENDER Αν το bit της κεφαλής της λίστας ackseq είναι το αναμενόμενο: Αν ισούται με 0 n=n+1 & k=1, Αν ισούται με 0 n=n+1 & k=1, Αν ισούται με ένα n=n+1 & k=0 Αν ισούται με ένα n=n+1 & k=0 Αλλιώς το k & το n παραμένουν ίδια
Quit SENDER ΠΑΡΑΔΕΙΓΜΑ
Quit SENDER ΠΑΡΑΔΕΙΓΜΑ
Quit SENDER ΠΑΡΑΔΕΙΓΜΑ
Quit MESSAGE CHANNEL Προώθηση Πακέτου & Bit Ελέγχου Φρουρός Προώθηση Πακέτου & Bit Ελέγχου στον Παραλήπτη
Quit colset Ten0 = int with 0..10; colset Ten0 = int with 0..10; colset Ten1 = int with 1..10; colset Ten1 = int with 1..10; var s: Ten0; var s: Ten0; var r: Ten1; var r: Ten1; fun Ok(s:Ten0,r:Ten1) = (r<=s); fun Ok(s:Ten0,r:Ten1) = (r<=s); MESSAGE CHANNEL
Quit MESSAGE CHANNEL Αν το πακέτο δε βρίσκεται ήδη στη λίστα seq2 των πακέτων που προωθούνται στον παραλήπτη & η συνάρτηση ΟΚ είναι αληθής, τότε προστίθεται στη λίστα Διαφορετικά η seq2 παραμένει ως έχει
Quit MESSAGE CHANNEL ΠΑΡΑΔΕΙΓΜΑ
Quit MESSAGE CHANNEL ΠΑΡΑΔΕΙΓΜΑ
Quit MESSAGE CHANNEL ΠΑΡΑΔΕΙΓΜΑ
Quit MESSAGE CHANNEL ΠΑΡΑΔΕΙΓΜΑ
Quit RECEIVER Λήψη μηνύματος & bit ελέγχου μέσω του place B Φρουρός Συγκέντρωση του μηνύματος Διατήρηση του αναμενόμενου control bit Προώθηση επιβεβαίωσης Είσοδος της λίστας seq
Quit RECEIVER Αν το bit που περιέχει το πρώτο στοιχείο της λίστας (κεφαλή) είναι το αναμενόμενο και το μήνυμα δεν περιέχει τη μεταβλητή τέλους, τότε το μήνυμα προστίθεται στη μέχρι τώρα ληφθείσα ακολουθία
Quit RECEIVER Αν το bit της κεφαλής της λίστας είναι το αναμενόμενο: Αν ισούται με μηδέν k=1 Αν ισούται με ένα k=0 Αλλιώς το k παραμένει ίδιο
Quit RECEIVER Αν το bit της κεφαλής της λίστας είναι το αναμενόμενο και (δεν είναι το ίδιο με το τελευταίο στοιχείο της λίστας ackseq ή η λίστα ackseq είναι κενή) προστίθεται στη λίστα επιβεβαίωσης ackseq
Quit RECEIVER Αν το bit της κεφαλής της λίστας δεν είναι το αναμενόμενο προστίθεται στη λίστα ackseq η προηγούμενη επιβεβαίωση αν δεν είναι ίδια με το τελευταίο στοιχείο της ackseq ή η ackseq είναι κενή
Quit RECEIVER Διαφορετικά η λίστα επιβεβαιώσεων παραμένει ως έχει
Quit RECEIVER ΠΑΡΑΔΕΙΓΜΑ
Quit RECEIVER ΠΑΡΑΔΕΙΓΜΑ
Quit ACKNOWLEDGMENT CHANNEL Προώθηση Επιβεβαίωσης Φρουρός Συνάρτηση OK Προώθηση Επιβεβαίωσης στον αποστολέα Αν η συνάρτηση ΟΚ είναι αληθής και (η λίστα ackseq2 είναι κενή ή η επιβεβαίωση δεν είναι ίδια με το τελευταίο στοιχείο της ackseq2), τότε η ack προστίθεται σε αυτή Διαφορετικά η ackseq2 παραμένει ως έχει Λήψη της λίστας Επιβεβαίωσης
Quit ACKNOWLEDGMENT CHANNEL ΠΑΡΑΔΕΙΓΜΑ
Quit ACKNOWLEDGMENT CHANNEL ΠΑΡΑΔΕΙΓΜΑ
Quit STATISTICS State Space Nodes: 637 Nodes: 637 Arcs: 8394 Arcs: 8394 Secs: 1 Secs: 1 Status: Full Status: Full Ο γράφος του χώρου καταστάσεων αποτελείται από 637 κόμβους & 8394 τόξαREPORT Η κατασκευή του συνολικού γράφου γίνεται σε 1 sec
Quit STATISTICS Scc Graph Nodes: 271 Nodes: 271 Arcs: 4789 Arcs: 4789 Secs: 0 Secs: 0 Ο γράφος των ισχυρά συνδεδεμένων τμημάτων αποτελείται από 271 τμήματα & 4789 τόξαREPORT Η κατασκευή του γίνεται σε 0 sec
Quit STATISTICS Τα ισχυρά συνδεδεμένα τμήματα είναι λιγότερα από τους κόμβουςREPORT Το σύστημα έχει τουλάχιστον ένα ισχυρά συνδεδεμένο τμήμα που περιέχει περισσότερους από έναν κόμβους Υπάρχουν μη-πεπερασμένες ακολουθίες εκτέλεσης Δεν μπορούμε να είμαστε σίγουροι ότι το πρωτόκολλο τερματίζει
Quit BOUNDEDNESS PROPERTIES REPORT Οι ιδιότητες περατότητας δείχνουν πόσα tokens μπορεί να έχει ένα place O μέγιστος & ο ελάχιστος αριθμός μαρκών που μπορεί να έχει κάθε place
Quit BOUNDEDNESS PROPERTIES Best Integer Bounds Upper Lower Upper Lower AcknowledgementChannel'SA MessageChannel'SP Receiver'NextBitRec Sender'NextBitSend Sender'Send REPORT
Quit BOUNDEDNESS PROPERTIES Best Integer Bounds Upper Lower Upper Lower Top'A Top‘Β Top'C Top‘D Top'Received REPORT
Quit REPORT HOME PROPERTIES Home Markings [554] To Marking 554 είναι το επιθυμητό final marking, όπου όλα τα πακέτα έχουν ληφθεί στη σωστή σειρά.
Quit REPORT HOME PROPERTIES
Quit REPORT LIVENESS PROPERTIES To Marking 554 είναι το μοναδικό dead marking To πρωτόκολλο είναι μερικώς ορθό. Αν η εκτέλεση σταματήσει, σταματά στο επιθυμητό final marking Dead Markings [554]
Quit REPORT LIVENESS PROPERTIES To Marking 554 είναι home marking Πάντα υπάρχει η δυνατότητα για σωστό τερματισμό. Είναι αδύνατο να φτάσουμε σε μία κατάσταση, από την οποία δεν μπορούμε να φτάσουμε στο final marking Dead Markings [554]
Quit REPORT LIVENESS PROPERTIES Kάθε μετάβαση είναι ενεργοποιημένη σε τουλάχιστον ένα προσιτό μαρκάρισμα Dead Transition Instances: None
Quit REPORT LIVENESS PROPERTIES Μια διαρκής μετάβαση είναι μια μετάβαση η οποία πάντα μπορεί να ενεργοποιηθεί άλλη μια φορά Live Transition Instances: None Όταν υπάρχουν νεκρά μαρκαρίσματα, δεν μπορούν να υπάρχουν διαρκείς μεταβάσεις.
Quit REPORT FAIRNESS PROPERTIES FAIRNESS PROPERTIES AcknowledgementChannel'Transmit_Acknow 1 No Fairness MessageChannel'Transmit_Packet 1 No Fairness Receiver'Receive_Packet 1: No Fairness Sender'Receive_Acknow 1: No Fairness Sender'Send_Packet 1: Impartial
Quit REPORT FAIRNESS PROPERTIES FAIRNESS PROPERTIES Για το ABP είναι σημαντική η διασφάλιση της αμεροληψίας Θέλουμε να διασφαλίσουμε την υπόθεση ότι αν το κάθε μήνυμα στέλνεται αρκούντως πολλές φορές, τελικά αυτό θα φθάνει στον προορισμό του
Quit REPORT FAIRNESS PROPERTIES FAIRNESS PROPERTIES Η μετάβαση Send_Packet είναι αμερόληπτη Αν πάψει να εκτελείται, τότε το πρωτόκολλο, μετά από κάποια επιπρόσθετα βήματα, πρέπει να τερματίσει
Computers: Information Technology in Perspective By Long and Long Copyright 2002 Prentice Hall, Inc. ΕΥΧΑΡΙΣΤΟΥΜΕ ΓΙΑ ΤΗΝ ΠΡΟΣΟΧΗ ΣΑΣ Παρασκευή 6/7/2007 Μόκα Ευαγγελία 152 Μ π ελόγια Αικατερίνη 154 Τυπικές Μέθοδοι Ανάλυσης Συστημάτων Υπεύθυνος : Κατσαρός Παναγιώτης Τυπικές Μέθοδοι Ανάλυσης Συστημάτων Υπεύθυνος : Κατσαρός Παναγιώτης