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