Γραμμική Χρονική Λογική (Linear Temporal Logic) (ΗR Κεφάλαιο 3.1 και 3.2)

Σχετικά έγγραφα
ΕΠΛ664 ΑΝΑΛΥΣΗ ΚΑΙ ΕΠΑΛΗΘΕΥΣΗ ΣΥΣΤΗΜΑΤΩΝ

ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 1-1

ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 1-1

Γραμμική Χρονική Λογική (Linear Temporal Logic)

CTL - Λογική Δένδρου Υπολογισμού (ΗR Κεφάλαιο 3.4)

Αυτοματοποιημένη Επαλήθευση

CTL - Λογική Δένδρου Υπολογισμού

Γραμμική και διακλαδωμένη χρονική λογική

Θέματα στη Μοντελοποίηση Συστημάτων

Σειρά Προβλημάτων 1 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Σειρά Προβλημάτων 1 Λύσεις

Άλγεβρες ιεργασιών και Τροπικές Λογικές

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα:

Σειρά Προβλημάτων 4 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις

ΜΕΤΑΠΤΥΧΙΑΚΗ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Αντώνιος Δ. Γουγλίδης

Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

CTL Έλεγχος Μοντέλου (ΗR Κεφάλαιο 3.5 και 3.6.1)

ΠΡΟΔΙΑΓΡΑΦΗ ΙΔΙΟΤΗΤΩΝ ΜΕ ΧΡΟΝΙΚΗ ΛΟΓΙΚΗ Ι

Λύσεις Σειράς Ασκήσεων 4

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Σειρά Προβλημάτων 4 Ημερομηνία Παράδοσης: 13/11/13

Λύσεις Σειράς Ασκήσεων 4

Ασφαλή Συστήματα Μέθοδοι ελέγχου και εξακρίβωσης ορθής λειτουργίας

Ανάλυση της Ορθότητας Προγραμμάτων

ΜΑΘΗΜΑ: Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ. 1 η ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ: ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

ΧΡΟΝΙΚΗ ΛΟΓΙΚΗ Ι ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΤΜ. ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ. 29 Ιουνίου 2007 ΔΙΑΦΑΝΕΙΑ 1

Α Typing System for Privacy

Ανάλυση της Ορθότητας Προγραμμάτων

Χρόνος και Άλγεβρες Διεργασιών

ΕΠΑΛΗΘΕΥΣΗ ΠΡΟΓΡΑΜΜΑΤΩΝ Ι

Κατηγορηματικός Λογισμός (ΗR Κεφάλαιο )

Λογική στην Πληροφορική - Εισαγωγή

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Περιεχόμενα 1 Πρωτοβάθμια Λογική Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων ) / 60

ιαφάνειες παρουσίασης #1

Σειρά Προβλημάτων 3 Ημερομηνία Παράδοσης: 04/04/16

ΗΥ Λογική. Διδάσκων: Δημήτρης Πλεξουσάκης Καθηγητής

4. Ο,τιδήποτε δεν ορίζεται με βάση τα (1) (3) δεν είναι προτασιακός τύπος.

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Ενότητα 1: Εισαγωγή. Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

ΓΛΩΣΣΙΚΗ ΤΕΧΝΟΛΟΓΙΑ. Μάθημα 2 ο : Βασικές έννοιες. Γεώργιος Πετάσης. Ακαδημαϊκό Έτος:

Συγγραφή κώδικα, δοκιμασία, επαλήθευση. Γιάννης Σμαραγδάκης

Σειρά Προβλημάτων 1 Λύσεις

ΟΡΓΑΝΙΣΜΟΣ ΒΙΟΜΗΧΑΝΙΚΗΣ ΙΔΙΟΚΤΗΣΙΑΣ

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΣΤΗ CTL/LTL

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 5. Αφηρημένοι Τύποι Δεδομένων / Στοίβες και Ουρές

Άλγεβρες Διεργασιών και Σχέσεις Ισοδυναμίας

Λογική Πρώτης Τάξης. Γιώργος Κορφιάτης. Νοέµβριος Εθνικό Μετσόβιο Πολυτεχνείο

Αμοιβαίος αποκλεισμός

Λύσεις Σειράς Ασκήσεων 4

Πληροφορική 2. Γλώσσες Προγραμματισμού

HY118-Διακριτά Μαθηματικά

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

HY118- ιακριτά Μαθηµατικά

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

ΠΛΗ 20, 3 η ΟΣΣ (Κατηγορηματική Λογική)

Θεμελιώδη Θέματα Επιστήμης Υπολογιστών

Ασκήσεις Επανάληψης Λύσεις

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

Βασικές Δομές μοντέλων Petri Nets. C.A. Petri

Μη γράφετε στο πίσω μέρος της σελίδας

Θέματα Μεταγλωττιστών

Μη γράφετε στο πίσω μέρος της σελίδας

Διάλεξη 05: Αφηρημένοι Τύποι Δεδομένων

Κατανεμημένα Συστήματα Ι

ΚΑΤΗΓΟΡΗΜΑΤΙΚΟΣ ΛΟΓΙΣΜΟΣ Ι

Blum Complexity. Αλγόριθμοι και Πολυπλοκότητα ΙΙ. Παναγιώτης Γροντάς. Δεκέμβριος

ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-1

Στοιχεία Κατηγορηματικής Λογικής

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Λογική. Δημήτρης Πλεξουσάκης

Πληροφοριακά Συστήματα Διοίκησης. Επισκόπηση μοντέλων λήψης αποφάσεων Τεχνικές Μαθηματικού Προγραμματισμού

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Αποφασισιµότητα. HY118- ιακριτά Μαθηµατικά. Βασικές µέθοδοι απόδειξης. 07 -Αποδείξεις. ιακριτά Μαθηµατικά, Εαρινό εξάµηνο 2017

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επανάληψης. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΑΡΧΕΣ ΤΗΣ ΕΠΙΣΤΗΜΗΣ ΤΩΝ Η/Υ ΜΑΘΗΜΑ ΓΕΝΙΚΗΣ ΠΑΙΔΕΙΑΣ Β ΛΥΚΕΙΟΥ

Εφαρμογές της Λογικής στην Πληροφορική

Ασκήσεις Επανάληψης Λύσεις

Γιατί οι Νόμοι της Φύσης εξηγούν; 2 Νοεμβ. 2016

Στοιχεία Κατηγορηματικής Λογικής

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

Δομές Δεδομένων & Αλγόριθμοι

Μάθημα: Δ3. Δίκτυα Γνώσης και Σημασιολογικός Ιστός. Διάλεξη 01 & 02. Δρ. Γεώργιος Χρ. Μακρής

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΘΕΩΡΙΑ ΚΑΙ ΕΦΑΡΜΟΓΗ ΤΟΥ ΓΡΑΜΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΣΤΗ ΛΗΨΗ ΑΠΟΦΑΣΕΩΝ (1)

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

> μεγαλύτερο <= μικρότερο ή ίσο < μικρότερο == ισότητα >= μεγαλύτερο ή ίσο!= διαφορετικό

Τεχνολογίες Υλοποίησης Αλγορίθµων

Προδιαγραφές Απαιτήσεων Επικύρωση Απαιτήσεων

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

3. Προσομοίωση ενός Συστήματος Αναμονής.

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΕΠΙΧΕΙΡΗΣΙΑΚΗ ΕΡΕΥΝΑ ΠΕΡΣΕΦΟΝΗ ΠΟΛΥΧΡΟΝΙΔΟΥ ΤΜΗΜΑ ΛΟΓΙΣΤΙΚΗΣ ΤΕ

Transcript:

Γραμμική Χρονική Λογική (Linear Temporal Logic) (ΗR Κεφάλαιο 3.1 και 3.2) Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Επαλήθευση Συστημάτων και Μοντελοέλεγχος Σύνταξη της PLTL Δομές Kripke και Σημασιολογία ΕΠΛ 412 Λογική στην Πληροφορική 6-1

Ανάγκη για ανάλυση συστημάτων Η κοινωνία της πληροφορίας είναι γεγονός. Υπολογιστές και προγράμματα έχουν εξαπλωθεί σε πολλαπλούς τομείς της ζωής μας: ενθυλακωμένα συστήματα (embedded systems) e-banking και e-shopping μεταφορικά μέσα ιατρική Η αξιοπιστία υλικού και λογισμικού είναι κύριας σημασίας Λάθη μπορεί να αποβούν όχι μόνο δαπανηρά (FDIV στο Pentium-II 475 εκατομμύρια USD) αλλά και μοιραία (Therac-25) It is fair to state, that in this digital era correct systems for information processing are more valuable than gold. ΕΠΛ 412 Λογική στην Πληροφορική 6-2

Η τύχη του Ariane-5 To Ariane-5 εκτοξεύθηκε στις 4 Ιουνίου 1996, για να συντριφθεί 36 δευτερόλεπτα αργότερα λόγω ενός σφάλματος στο λογισμικό ελέγχου. (To οποίο εκ των υστέρων εντοπίστηκε χρησιμοποιώντας τυπικές μεθόδους.) ΕΠΛ 412 Λογική στην Πληροφορική 6-3

Επαλήθευση Συστημάτων Διαδεδομένες τεχνικές επαλήθευσης λογισμικού Εξέταση κώδικα από τρίτο στατική τεχνική αναγνωρίζει από 31% μέχρι και το 90% των λαθών δύσκολα λάθη, π.χ. αλγοριθμικά λάθη ή λάθη που προκύπτουν από παραλληλισμό στο πρόγραμμα, δεν εντοπίζονται εύκολα Τesting Επαλήθευση συστημάτων αφορά στον έλεγχο κατά πόσο ένα σύστημα ικανοποιεί τις απαιτήσεις που υπάρχουν από αυτό. δυναμική τεχνική όπου ο κώδικας εκτελείται 30-50% του κόστους διεκπεραίωσης ενός λογισμικού προγράμματος αφιερώνεται στο testing. Ο χρόνος και η προσπάθεια που ξοδεύεται στον έλεγχο ενός συστήματος είναι συχνά μεγαλύτερος από αυτόν της κατασκευής του. Επιτρεπόμενη πυκνότητα λαθών: 1.5 λάθη ανά 1000 γραμμές κώδικα. ΕΠΛ 412 Λογική στην Πληροφορική 6-4

Τυπικές Μέθοδοι Formal Methods Στόχος: η απόδειξη της ορθότητας ενός συστήματος με μαθηματική ακρίβεια Χρήση τυπικών μεθόδων σε συνδυασμό με εργαλεία Τι είναι οι τυπικές μέθοδοι; εφαρμοσμένα μαθηματικά για τη μοντελοποίηση και ανάλυση υπολογιστικών συστημάτων Προσφέρουν τη δυνατότητα της επαλήθευσης συστημάτων από τη φάση σχεδιασμού αποδοτικές και αυστηρές μεθόδους ελέγχου συστημάτων (πιο μεγάλη κάλυψη και ψηλότερη εγγύηση ορθότητας) μείωση του χρόνου/κόστους που απαιτείται για επαλήθευση ΕΠΛ 412 Λογική στην Πληροφορική 6-5

Τυπικές Μέθοδοι Formal Methods Συστήνονται για δημιουργία λογισμικού κρίσιμης ασφάλειας από οργανισμούς όπως τους ESA (European Space Agency, FAA (Federal Aviation Authority) και NASA. Formal methods should be part of the education of every computer scientist and software engineer, just as the appropriate branch of applied maths is a necessary part of the education of all other engineers. NASA ΕΠΛ 412 Λογική στην Πληροφορική 6-6

Τυπικές μέθοδοι ανάλυσης συστημάτων Στόχος: η απόδειξη της ορθότητας ενός συστήματος με μαθηματική ακρίβεια Χρήση τυπικών τεχνικών σε συνδυασμό με εργαλεία Διαφορετικές προσεγγίσεις: τεχνικές ελέγχου μοντέλου (model-checking) παραγωγικές μέθοδοι (deductive methods) τυπικός έλεγχος πειραμάτων (formal testing) ΕΠΛ 412 Λογική στην Πληροφορική 6-7

Το σύστημα ικανοποιεί την απαίτηση ; Παραγωγικές μέθοδοι μέθοδος: δώσε μια λογική απόδειξη ότι η ιδιότητα ισχύει εργαλεία: theorem prover ή proof checker εφαρμόζεται αν: το σύστημα έχει τη μορφή μαθηματικής θεωρίας Προσομοιώσεις και πειράματα μέθοδος: έλεγξε κατά πόσο ισχύει η σε κάθε εκτέλεση του συστήματος εργαλεία: προσομοιωτής/tester εφαρμόζεται αν: το σύστημα είναι εκτελέσιμο Μοντέλο-έλεγχος μέθοδος: συστηματικός έλεγχος της ιδιότητας στις καταστάσεις του μοντέλου. εργαλεία: model-checker εφαρμόζεται αν: το σύστημα παράγει ένα (πεπερασμένο) μοντέλο συμπεριφοράς ΕΠΛ 412 Λογική στην Πληροφορική 6-8

Model-checking Επαναστατική μέθοδος για την αυτοματοποιημένη επαλήθευση συστημάτων Ελέγχει κατά πόσο ένα μοντέλο ικανοποιεί μια τροπική ιδιότητα π.χ. Το σύστημα δίνει το σωστό αποτέλεσμα; Το σύστημα περιέχει αδιέξοδα (deadlock); Για παράδειγμα όταν δύο παράλληλα προγράμματα περιμένουν το ένα το άλλο, σταματώντας με αυτό τον τρόπο ολόκληρο το σύστημα. Μπορεί να εμφανιστεί αδιέξοδο μέσα σε μια ώρα από την εκκίνηση της εκτέλεσης του συστήματος; Η απάντηση δίνεται πάντα μέσα σε 8 λεπτά; Βασίζεται σε συστηματικό έλεγχο του συνόλου καταστάσεων ενός συστήματος. Ο μοντέλο-έλεγχος απαιτεί μια ακριβή και ξεκάθαρη δήλωση των ιδιοτήτων που θα ελεγχθούν. Αυτό γίνεται συνήθως σε μια χρονική λογική (temporal logic). ΕΠΛ 412 Λογική στην Πληροφορική 6-9

Model-checking απαιτήσεις σύστημα Τυπική διατύπωση Μοντελοποίηση σύνολο από ιδιότητες μοντέλο συστήματος Model Checking TRUE ανεπάρκεια μνήμης FALSE και αντιπαράδειγμα Προσομοίωση εύρεση λάθους ΕΠΛ 412 Λογική στην Πληροφορική 6-10

Πλεονεκτήματα του μοντέλο-ελέγχου Εφαρμόζεται σε πολλά συστήματα (υλικό, λογισμικό, πρωτόκολλα, ) Ύπαρξη εργαλείων Σε περίπτωση μη ικανοποίησης μας δίνει αντιπαράδειγμα Μαθηματικά αποδεδειγμένη Κοιτάζει όλες τις δυνατές εκτελέσεις ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 6-11

Περιορισμοί του μοντέλο-ελέγχου Ασχολείται κυρίως με εφαρμογές με πολύπλοκη ροή και όχι επεξεργασία δεδομένων Τα αποτελέσματα βασίζονται στην ποιότητα του μοντέλου Η πολυπλοκότητα (state-space explosion problem) μπορεί να αποτελέσει εμπόδιο Η δημιουργία κατάλληλων μοντέλων απαιτεί πείρα. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 6-12

And the Turing award goes to Milner, 1991: for the developments of logical formalisms in computer science (LCF, the mechanization of Scott's Logic of Computable Functions, probably the first theoretically based yet practical tool for machine assisted proof construction). Pnueli, 1996: For seminal work introducing temporal logic into computing science and for outstanding contributions to program and systems verification. Clarke, Emerson, Sifakis, 2007: For [their roles] in developing model checking into a highly effective verification technology, widely adopted in the hardware and software industries. Robin Milner (1934-2010) Amir Pnueli (1941-2009) E. Allen Emerson Edmund M. Clarke, (1945- ) Ιωσήφ Σιφάκης (1946 - ) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 6-13

Παραδείγματα Εφαρμογών Ασφάλεια: To πρωτόκολλο Needham Schroeder Εύρεση λάθους 17 χρόνια μετά από τη δημιουργία και διαδεδομένη χρήση του Λογισμικό σε διαστημικούς πυραύλους Το Mars Pathfinder της NASA Συστήματα συγκοινωνιών Μοντέλο τραίνων με 10 476 καταστάσεις Εργαλεία μοντελο-ελέγχου για τις C, Java, C++ ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 6-14

Ιδιότητες πρωτοκόλλων αμοιβαίου αποκλεισμού Σε ένα πρωτόκολλο αμοιβαίου αποκλεισμού (mutual exclusion) συνήθως επιζητούμε ικανοποίηση ιδιοτήτων όπως: Απαγορεύεται να βρίσκονται περισσότερες από μία διεργασίες στην κρίσιμη τους περιοχή ταυτόχρονα Αν σε κάποια χρονική στιγμή μια διεργασία επιθυμεί να μπει στην κρίσιμη της περιοχή, τότε, κάποτε θα της δοθεί η άδεια για να το πράξει Πως μπορούμε να εκφράσουμε τέτοιες ιδιότητες με σαφήνεια και ακρίβεια; ΕΠΛ 412 Λογική στην Πληροφορική 6-15

Ιδιότητες φώτων της τροχαίας Ιδιότητες που αναμένουμε να ικανοποιούνται από τα φώτα της τροχαίας περιλαμβάνουν Από κόκκινο το φως δεν μπορεί να γίνει αμέσως πράσινο Στο μέλλον το φως θα ξαναγίνει πράσινο Από κόκκινο το φως θα γίνει πράσινο αφού περάσει από το κίτρινο για κάποιο χρονικό διάστημα Πως μπορούμε να εκφράσουμε τέτοιες ιδιότητες με σαφήνεια και ακρίβεια; Χρησιμοποιώντας χρονική λογική (temporal logic). ΕΠΛ 412 Λογική στην Πληροφορική 6-16

Χρονική και τροπική λογική Γλώσσα για τη διατύπωση ιδιοτήτων συστημάτων που αφορούν συμπεριφορά που μεταβάλλεται με τον χρόνο. Τροπικές λογικές (modal logics) αναπτύχθηκαν από φιλόσοφους για τη μελέτη διαφορετικών τρόπων αλήθειας (δυνατότητα και αναγκαιότητα, π.χ. απαραίτητα ισχύει η Φ, δυνατόν να ισχύει η Φ ). Χρονικές λογικές (temporal logics) αποτελούν μια ειδική κατηγορία τροπικών λογικών όπου οι λογικές τιμές των ισχυρισμών μεταβάλλονται με τον χρόνο. Τυπικοί κατασκευαστές (χρονικοί τελεστές) είναι p ή F p: Το p θα συμβεί σε κάποια μελλοντική στιγμή p ή G p : Το p θα συμβεί σε κάθε μελλοντική στιγμή Η χρονική λογική χρησιμοποιείται συχνά για την προδιαγραφή και επαλήθευση συστημάτων αλληλεπίδρασης. ΕΠΛ 412 Λογική στην Πληροφορική 6-17

Ατομικές προτάσεις Οι ατομικές προτάσεις είναι τα βασικά στοιχεία μιας χρονικής λογικής και αντιστοιχούν σε λογικές εκφράσεις p, q, r που χρησιμοποιούν μεταβλητές δεδομένων (ακέραιοι, λίστες, σύνολα, κλπ) και μεταβλητές ελέγχου (π.χ. program counter) σταθερές (ακέραιοι 0, 1, 2,..., λίστες, σύνολα) κατηγορηματικά σύμβολα (,,, ) ΕΠΛ 412 Λογική στην Πληροφορική 6-18

Σύνταξη γραμμικής χρονικής λογικής Η Προτασιακή Γραμμική Χρονική Λογική (PLTL) ορίζεται ως το μικρότερο σύνολο ιδιοτήτων που παράγονται ως εξής: Φ ::= p Φ Φ Φ X Φ Φ U Φ Δηλαδή: Κάθε ατομική πρόταση p είναι ιδιότητα Αν οι Φ και Ψ είναι ιδιότητες, τότε και οι Φ και Φ Ψ είναι ιδιότητες Αν η Φ είναι μια ιδιότητα, τότε και η Χ Φ (next) είναι ιδιότητα Αν οι Φ και Ψ είναι ιδιότητες, τότε και η Φ U Ψ (until) είναι ιδιότητα ΕΠΛ 412 Λογική στην Πληροφορική 6-19

Παραγόμενοι τελεστές Φ Ψ ( Φ Ψ) Φ Ψ Φ Ψ Φ Ψ (Φ Ψ) (Ψ Φ) true Φ Φ false true F Φ true U Φ G Φ F Φ F (future) είναι η ιδιότητα που εκφράζει το κάποτε G (globally) είναι η ιδιότητα που εκφράζει το πάντα ΕΠΛ 412 Λογική στην Πληροφορική 6-20

Εκφραστικότητα της PLTL H Γραμμική Χρονική Λογική μπορεί να εκφράσει ιδιότητες ασφάλειας (safety) : τίποτε κακό δεν θα συμβεί, G bad ζωτικότητας (liveness): κάτι καλό τελικά θα συμβεί, F good ανταπόκρισης : π.χ. κάθε αίτηση θα εξυπηρετηθεί G (req F serviced) αντιδραστικότητας: π.χ. (GF enabled) (G F executed) ΕΠΛ 412 Λογική στην Πληροφορική 6-21

Παραδείγματα ιδιοτήτων Έστω ΑΠ οι ατομικές προτάσεις που αφορούν τη μεταβλητή x, τους τελεστές <,, και =, και η συνάρτηση x+c Οι πιο κάτω ιδιότητες είναι νόμιμες PLTL ιδιότητες (x + 7 < 21) (x = 32) F (x + 12 > 30) G (x 0 x < 20) x = 10 X (x 11 U x = 0) Οι πιο κάτω ιδιότητες είναι μη-νόμιμες F (x + 12 > y) X(x+4) (x = 32 F (x + 12 > 30)) ΕΠΛ 412 Λογική στην Πληροφορική 6-22

Ιδιότητες φώτων της τροχαίας Από κόκκινο το φως δεν μπορεί να γίνεται αμέσως πράσινο G (κόκκινο X πράσινο) Στο μέλλον το φως θα γίνει πράσινο F πράσινο Από κόκκινο το φως γίνεται πράσινο αφού περάσει από το κίτρινο για κάποιο χρονικό διάστημα G (κόκκινο (κόκκινο U (κίτρινο (κίτρινο U πράσινο)))) ΕΠΛ 412 Λογική στην Πληροφορική 6-23

Ερμηνεία της PLTL Η σημασιολογική ερμηνεία της PLTL δίνεται σε σχέση με τις δομές Kripke. Μια δομή Kripke ορίζεται ως μια πλειάδα M = (S, R, I, Label) όπου S είναι ένα αριθμήσιμο σύνολο από καταστάσεις Ι S είναι το σύνολο των αρχικών καταστάσεων R S S είναι μία σχέση μεταβάσεων, όπου (s, s ) R αν υπάρχει μετάβαση από την κατάσταση s στην κατάσταση s Label : S 2 AP είναι μια συνάρτηση η οποία συνδέει κάθε κατάσταση με τις ατομικές προτάσεις τις οποίες ικανοποιεί. Έστω μια κατάσταση s S. Τότε, Label(s) είναι το σύνολο των ατομικών προτάσεων που ισχύουν στην κατάσταση s. Ονομάζουμε μια ακολουθία από καταστάσεις s 0 s 1 s 2 μονοπάτι αν s 0 είναι μια αρχική κατάσταση και (s i, s i+1 ) R για κάθε i 0. ΕΠΛ 412 Λογική στην Πληροφορική 6-24

Παράδειγμα H Δομή Kripke ( S = {s 0, s 1, s 2 }, I = {s 0 }, R = {(s 0, s 1 ), (s 1, s 0 ), (s 1, s 2 ), (s 2, s 2 )}, Label(s 1 ) = {extended}, Label(s 2 ) = {extended, malfunction} ) release pull release s 0 s 1 s 2 Μονοπάτια p 1 = s 0 s 1 s 0 s 1 s 0 s 1 s 0 p 2 = s 0 s 1 s 2 s 2 s 2 s 2 s 2 p 3 = s 0 s 1 s 0 s 1 s 2 s 2 s 2 {extended} {extended, malfunction} ΕΠΛ 412 Λογική στην Πληροφορική 6-25

Σημασιολογία της PLTL Έστω μονοπάτι s = s 0 s 1 s 2,και ιδιότητα Φ. Ορίζουμε τη σχέση όπου s Φ αν και μόνο αν η ιδιότητα Φ ικανοποιείται στο μονοπάτι s ως εξής: s p αν και μόνο αν p Label(s 0 ) s Φ αν και μόνο αν δεν ισχύει ότι s Φ s Φ Ψ αν και μόνο αν (s Φ) ή (s Ψ) s X Φ αν και μόνο αν s 1 Φ s Φ U Ψ αν και μόνο αν υπάρχει j 0 τέτοιο ώστε s j Ψ και για κάθε 0 k < j s k Φ Ορισμός: Aν s = s 0 s 1 s 2, s i είναι το μονοπάτι s i s i+1 s i+2. ΕΠΛ 412 Λογική στην Πληροφορική 6-26

release Παράδειγμα pull release s 0 s 1 s 2 {extended} {extended, malfunction} Θεωρήστε το μονοπάτι p 3 = s 0 s 1 s 0 s 1 s 2 s 2 s 2 Ποιες από τις πιο κάτω ιδιότητες ικανοποιούνται; p 3 p 3 p 3 p 3 p 3 extended Χ extended Χ Χ extended F extended G extended p 3 F G extended p 3 p 3 p 3 F G extended ( extended) U malfunction G( extended Χ extended) ΕΠΛ 412 Λογική στην Πληροφορική 6-27

Σημασιολογία της PLTL (συν.) Μ Φ αν και μόνο αν όλα τα μονοπάτια που ξεκινούν από κάθε αρχική κατάσταση της Kripke δομής Μ ικανοποιούν την ιδιότητα Φ. Κατά το μοντελο-έλεγχο δεδομένης κάποιας δομής Kripke και μίας ιδιότητας Φ ελέγχουμε κατά πόσο Μ Φ. ΕΠΛ 412 Λογική στην Πληροφορική 6-28

Παράδειγμα (συν.) release s 0 pull release s 1 s 2 {extended} {extended, malfunction} Ποιες από τις πιο κάτω ιδιότητες ικανοποιούνται από το σύστημα; S extended S Χ extended S Χ Χ extended S F extended S G extended S F G extended S F G extended S ( extended) U malfunction S G( extended Χ extended) ΕΠΛ 412 Λογική στην Πληροφορική 6-29

Ισοδυναμίες της PLTL G Φ F Φ F Φ G Φ X Φ X Φ G G Φ G Φ F F Φ F Φ Φ U (Φ U Ψ) Φ U Ψ F G F Φ G F Φ G F G Φ F G Φ X (Φ U Ψ) (X Φ) U (X Ψ) Φ U Ψ Ψ (Φ X(Φ U Ψ)) F Φ Φ X F Φ G Φ Φ X G Φ ΕΠΛ 412 Λογική στην Πληροφορική 6-30

Προδιαγραφές στην PLTL Sender S queue.s κανάλι queue.r Receiver R Θα χρησιμοποιήσουμε ατομικές προτάσεις που αφορούν τις μεταβλητές m, m, queue.s, queue.r και τον τελεστή. Ιδιότητα 1: Ένα μήνυμα δεν μπορεί να ανήκει και στις δύο ουρές G (m queue.s m queue.r) Ιδιότητα 2: Το κανάλι δεν χάνει μηνύματα G (m queue.s F (m queue.r)) ΕΠΛ 412 Λογική στην Πληροφορική 6-31

Προδιαγραφές στην PLTL Ιδιότητα 3: To κανάλι προωθεί μόνο μηνύματα που προέρχονται από τον S. G (( m queue.r) U (m queue.s)) G[ (m queue.r) ( (m queue.r)u(m queue.s))] G [( (m queue.r) F (m queue.r)) ( (m queue.r) U (m queue.s))] ( (m queue.r)) G [( (m queue.r) F (m queue.r)) ( (m queue.r) U (m queue.s))] ΕΠΛ 412 Λογική στην Πληροφορική 6-32

Προδιαγραφές στην PLTL Ιδιότητα 4: Το κανάλι προωθεί μηνύματα με τη σειρά που στέλλονται G [((m queue.s) (m queue.s) F(m queue.s)) (F ((m queue.r) (m queue.r) F(m queue.r))) ] ΕΠΛ 412 Λογική στην Πληροφορική 6-33

Αμοιβαίος αποκλεισμός Θεωρείστε το πιο κάτω πρωτόκολλο αμοιβαίου αποκλεισμού. L 0 : while True do NC 0 : wait(turn=0); //κρίσιμο τμήμα CR 0 : Turn=1 endwhile L 1 : while True do NC 1 : wait(turn=1); //κρίσιμο τμήμα CR 1 : Turn=0 endwhile Ερωτήματα: Υπάρχει περίπτωση κάποια διεργασία να φθάσει σε αδιέξοδο περιμένοντας επ άπειρω να της δοθεί άδεια πρόσβασης; Υπάρχει περίπτωση να δοθεί και στις δύο διεργασίες άδεια ταυτόχρονα; Πως μπορούμε να διατυπώσουμε με σαφήνεια τις πιο πάνω απαιτήσεις και να ελέγξουμε την ικανοποίησή τους από το σύστημα; ΕΠΛ 412 Λογική στην Πληροφορική 6-34

Η δομή Kripke Turn=0 L0,L1 Turn=1 L0,L1 Turn=0 L0,NC1 Turn=0 NC0,L1 Turn=1 L0,NC1 Turn=1 NC0,L1 Turn=0 NC0,NC1 Turn=0 CR0,L1 Turn=1 L0,CR1 Turn=1 NC0,NC1 Turn=0 CR0,NC1 Turn=1 NC0,CR1 ΕΠΛ 412 Λογική στην Πληροφορική 6-35

G (PC0=CR0 PC1=CR1) Ποτέ δεν ισχύει ότι και οι δύο διεργασίες έχουν πάρει ταυτόχρονα άδεια Turn=0 L0,L1 Turn=1 L0,L1 Turn=0 L0,NC1 Turn=0 NC0,L1 Turn=1 L0,NC1 Turn=1 NC0,L1 Turn=0 NC0,NC 1 Turn=0 CR0,L1 Turn=1 L0,CR1 Turn=1 NC0,NC 1 Turn=0 CR0,NC 1 Turn=1 NC0,CR 1 ΕΠΛ 412 Λογική στην Πληροφορική 6-36

G (Turn=0 F Turn=1) Πάντα αν Turn=0 στο μέλλον Τurn = 1 Turn=0 L0,L1 Turn=1 L0,L1 Turn=0 L0,NC1 Turn=0 NC0,L1 Turn=1 L0,NC1 Turn=1 NC0,L1 Turn=0 NC0,NC1 Turn=0 CR0,L1 Turn=1 L0,CR1 Turn=1 NC0,NC1 Turn=0 CR0,NC1 Turn=1 NC0,CR1 ΕΠΛ 412 Λογική στην Πληροφορική 6-37

Παραλλαγές της PLTL Παραλλαγές της PLTL περιλαμβάνουν γενικεύσεις που επιτρέπουν και μονοπάτια πεπερασμένου μήκους προσθήκες τελεστών που επιτρέπουν συλλογισμούς για το παρελθόν π.χ. X Φ εκφράζει ότι η Φ ικανοποιείται στην προηγούμενη κατάσταση G Φ εκφράζει ότι η Φ ικανοποιείται σε κάθε προηγούμενη κατάσταση προσθήκες τελεστών που επιτρέπουν συλλογισμούς για χρονικές ιδιότητες π.χ. F <t Φ εκφράζει ότι η Φ ικανοποιείται στo μέλλον σε λιγότερες από t μονάδες χρόνου πρωτοβάθμιους κατασκευαστές, κλπ. ΕΠΛ 412 Λογική στην Πληροφορική 6-38