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

Σχετικά έγγραφα
CTL - Λογική Δένδρου Υπολογισμού

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (3)

Δώστε έναν επαγωγικό ορισμό για το παραπάνω σύνολο παραστάσεων.

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

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

a n = 3 n a n+1 = 3 a n, a 0 = 1

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

Βρόχοι. Εντολή επανάληψης. Το άθροισμα των αριθμών 1 5 υπολογίζεται με την εντολή. Πρόβλημα. Πώς θα υπολογίσουμε το άθροισμα των ακέραιων ;

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

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

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

(Γραμμικές) Αναδρομικές Σχέσεις

Διάλεξη 04: Παραδείγματα Ανάλυσης

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

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

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

(Γραμμικές) Αναδρομικές Σχέσεις

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

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

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

(Γραμμικές) Αναδρομικές Σχέσεις

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n

Δυναμικός προγραμματισμός για δέντρα

Τεχνητή Νοημοσύνη. 2η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες)

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

1 ιαδικασία διαγωνιοποίησης

Μάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (1)

Κανονικές Γλώσσες. Κανονικές Γλώσσες. Κανονικές Γλώσσες και Αυτόματα. Κανονικές Γλώσσες και Αυτόματα

Σημειώσεις Λογικής I. Εαρινό Εξάμηνο Καθηγητής: Λ. Κυρούσης

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

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

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Συνδυαστική Απαρίθμηση

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

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

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

ΔΕΟ13 - Επαναληπτικές Εξετάσεις 2010 Λύσεις

α n z n = 1 + 2z 2 + 5z 3 n=0

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

Αναδρομή Ανάλυση Αλγορίθμων

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Διδάσκων: Παναγιώτης Ανδρέου

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

Κανονικές Γλώσσες. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Οι εντολές ελέγχου της ροής ενός προγράμματος.

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

Πληροφορική 2. Αλγόριθμοι

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

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

Σχεδίαση & Ανάλυση Αλγορίθμων

ΑΡΧΕΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ Γ ΤΑΞΗΣ ΕΠΑΛ (ΟΜΑ Α Β ) 2010

n ίδια n διαφορετικά n n 0 n n n 1 n n n n 0 4

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

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

Φροντιστήριο 10 Λύσεις

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

Διδάσκων: Παναγιώτης Ανδρέου

Χρονικά Συστήματα και Σχέσεις Ισοδυναμίας

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

Μαθηματική Λογική και Λογικός Προγραμματισμός

Αναδρομή (Recursion) Πώς να λύσουμε ένα πρόβλημα κάνοντας λίγη δουλειά και ανάγοντας το υπόλοιπο να λυθεί με τον ίδιο τρόπο.

Transcript:

CTL - Λογική Δένδρου Υπολογισμού Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Διακλαδωμένες Χρονικές λογικές CTL σύνταξη και ερμηνεία Έλεγχος μοντέλου για τη CTL Σύγκριση των PLTL και CTL Δικαιοσύνη ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-1 Γραμμική και διακλαδωμένη χρονική λογική Γραμμική χρονική λογική: οι ιδιότητες αναφέρονται σε (και ελέγχουν όλες τις δυνατές εκτελέσεις ενός μοντέλου π.χ. ηδομήkripke Μ ικανοποιεί την ιδιότητα x<15 U x=100 αν σε κάθε εκτέλεση της δομής ισχύει ότι x <15 μέχρις ότου το x πάρει την τιμή 100. Διακλαδωμένη χρονική λογική: οι ιδιότητες αναφέρονται και ελέγχουν τη δενδρική δομή του μοντέλου, π.χ. ηδομήkripke Μ ικανοποιεί την ιδιότητα Α (x < 15 U x=100 αν σε κάθε εκτέλεση της δομής ισχύει ότι x <15 μέχρις ότου το x πάρει την τιμή 100, και, ηδομήkripke Μ ικανοποιεί την ιδιότητα Ε (x < 15 U x=100 αν υπάρχει εκτέλεση της δομής όπου ισχύει ότι x <15 μέχρις ότου το x πάρει την τιμή 100. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-2 1

Γιατί διακλαδωμένη χρονική λογική; Εκφραστικότητα: μας δίνει τα μέσα να εκφράσουμε διαφορετική κατηγορία ιδιοτήτων. Για παράδειγμα τη δυνατότητα (και όχι την αναγκαιότητα να συμβεί κάτι. Ισχύει όμως και το αντίθετο: υπάρχουν ιδιότητες γραμμικών λογικών που δεν μπορούν να εκφραστούν σε διακλαδωμένη λογική. Πολυπλοκότητα μοντελοελέγχου: Διαφορετικοί αλγόριθμοι για αυτοματοποιημένη επαλήθευση με διαφορετική πολυπλοκότητα χρόνου και χώρου. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-3 Διακλαδωμένες χρονικές λογικές Διακλαδωμένες χρονικές λογικής που έχουν προταθεί περιλαμβάνουν Λογική Hennessy Milner (HML Λογική Δένδρου Υπολογισμού (Computation Tree Logic CTL Επεκταμένη Λογική Δένδρου Υπολογισμού CTL * (συνδυάζει σε ένα πρότυπο τις CTL και PLTL μ-calculus χωρίς εναλλαγή μ-calculus ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-4 2

Προτασιακή γραμμική χρονική λογική Η Προτασιακή Γραμμική Χρονική Λογική ορίζεται ως το μικρότερο σύνολο ιδιοτήτων που παράγονται από τους πιο κάτω κανόνες κάθε ατομική πρόταση p είναι ιδιότητα Αν οι Φ και Ψ είναι ιδιότητες, τότε και οι Φ και Φ Ψ είναι ιδιότητες Αν η Φ είναι μια ιδιότητα, τότε και η Χ Φ (next είναι ιδιότητα Αν οι Φ και Ψ είναι ιδιότητες, τότε και η Φ U Ψ (until είναι ιδιότητα Πως μπορούμε να εκφράσουμε ότι σε κάθε δυνατή εκτέλεση είναι πάντα δυνατή η επιστροφή στην αρχική κατάσταση; G F start; ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-5 Προτασιακή διακλαδωμένη χρονική λογική Επεκτείνουμε την PLTL με ποσοτικούς τελεστές μονοπατιών Α, όπου A φ σημαίνει ότι η ιδιότητα φ ικανοποιείται σε όλες τις εκτελέσεις (μονοπάτια του μοντέλου Ε, όπου Ε φ σημαίνει ότι υπάρχει εκτέλεση του μοντέλου που ικανοποιεί την ιδιότητα φ Ιδιότητες του τύπου A φ και E φ ονομάζονται ιδιότητες κατάστασης (state formulae. PLTL ιδιότητες ονομάζονται ιδιότητες εκτέλεσης (path formulae. Πως μπορούμε να εκφράσουμε ότι σε κάθε δυνατή εκτέλεση είναι πάντα δυνατή η επιστροφή στην αρχική κατάσταση; AG ΕF start! ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-6 3

CTL (Computation Tree Logic Η CTL ορίζεται ως το μικρότερο σύνολο ιδιοτήτων που παράγονται ως εξής: Φ,Ψ :: = p Φ Φ Ψ Α φ Ε φ φ :: = Χ Φ Φ U Ψ 1. Ιδιότητες κατάστασης Φ κάθε ατομική πρόταση p είναι ιδιότητα κατάστασης Αν οι Φ και Ψ είναι ιδιότητες κατάστασης, τότε και οι Φ και Φ Ψ είναι ιδιότητες κατάστασης Αν η φ είναι μια ιδιότητα εκτέλεσης, τότε οι Α φ και η Ε φ είναι ιδιότητες κατάστασης 2. Ιδιότητες εκτέλεσης φ Αν οι Φ και Ψ είναι ιδιότητες κατάστασης, τότε οι Χ Φ και Φ U Ψ είναι ιδιότητες εκτέλεσης ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-7 Παραγόμενοι τελεστές F Φ true U Φ G Φ F Φ ΕF Φ Ε(true U Φ δυνατόν Φ ΑG Φ ΕF Φ σταθερά Φ ΑF Φ A(true U Φ αναπόφευκτα Φ EG Φ AF Φ δυνατόν πάντα Φ ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-8 4

Παράδειγμα ΕF red ΕG red AF red AG red ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-9 Παραδείγματα Έστω ΑΠ οι ατομικές προτάσεις που αφορούν τη μεταβλητή x, τους τελεστές <,, και =, και η συνάρτηση x+c Οι πιο κάτω ιδιότητες είναι νόμιμες CTL ιδιότητες (x + 7 < 21 (x = 32 AF (x + 12 > 30 EG (x 0 x < 20 x = 10 AX E(x 11 U x = 0 Οι πιο κάτω ιδιότητες δεν είναι νόμιμες E ( F (x < 10 G (x + 12 > y E (x < 21 X (x = 32 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-10 5

Ερμηνεία της CTL Η τυπική ερμηνεία της CTL δίνεται (και πάλι σε σχέση με τις δομές 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. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-11 Σημασιολογία της CTL: ιδιότητες κατάστασης Ορίζουμε τη σχέση όπου Μ, s Φ αν και μόνο αν η ιδιότητα Φ ικανοποιείται στην κατάσταση s τηςδομήςμωςεξής: Μ, s p αν και μόνο αν p Label(s Μ, s Φ αν και μόνο αν δεν ισχύει ότι Μ,s Φ Μ, s ΦΨ αν και μόνο αν (Μ, s Φ ή (Μ, s Ψ Μ, s Ε φ αν και μόνο αν Μ,w φ για κάποιο μονοπάτι w που ξεκινά από την s Μ, s Α φ αν και μόνο αν Μ,w φ για κάθε μονοπάτι w που ξεκινά από την s ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-12 6

Σημασιολογία της CTL: ιδιότητες εκτέλεσης Έστω μονοπάτι w = s 0 s 1 s 2 της δομής Kripke M και ιδιότητα φ. Ορίζουμε τη σχέση όπου M, w φ αν και μόνο αν η ιδιότητα φ ικανοποιείται στο μονοπάτι w της δομής Μ ως εξής: Μ, w X Φ αν και μόνο αν M, w[1] Φ Μ, w Φ U Ψ αν και μόνο αν υπάρχει j 0 τέτοιο ώστε M,w[j] Ψ και για κάθε 0k< j, M,w[k] Φ όπου αν w = s 0 s 1 s 2,w[k] είναι η κατάσταση s k. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-13 Παράδειγμα {p} {p,q} 0 1 3 {p} 2 {q} Ποιες από τις πιο κάτω ιδιότητες ισχύουν; Μ, 0 E X p Μ, 0 A(p U q Μ, 0 EF EG p Μ, 0 AX EG p Μ, 0 A X p Μ, 0 A G p ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-14 7

Ταυτολογίες της CTL PLTL κανόνες ανάπτυξης Φ U Ψ Ψ (Φ Χ(Φ U Ψ F Φ true U Φ G Φ false R Φ CTL κανόνες ανάπτυξης E(Φ U Ψ Ψ (Φ EΧ E(ΦUΨ A(Φ U Ψ Ψ (Φ AΧ A(ΦUΨ EF Φ Φ EΧ EF Φ ΑF Φ Φ AΧ AF Φ EG Φ Φ EΧ EG Φ AG Φ Φ AΧ AG Φ ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-15 Αμοιβαίος αποκλεισμός Turn=1 Ν1,N2 Turn=2 N1,N2 Turn=1 N1,T2 Turn=1 T1,N2 Turn=2 N1,T2 Turn=2 T1,N2 Turn=1 T1,T2 Turn=1 C1,N2 Turn=2 N1,C2 Turn=2 T1,T2 Turn=1 C1,T2 Turn=2 T1,C2 N i : η διεργασία i είναι εκτός της κρίσιμής της περιοχής Τ i : η διεργασία i προσπαθεί να εισέλθει στην κρίσιμη περιοχή C i : η διεργασία i είναιεντόςτηςκρίσιμήςτηςπεριοχής ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-16 8

Αμοιβαίος Αποκλεισμός Ασφάλεια: οι δύο διεργασίες δεν βρίσκονται ποτέ ταυτόχρονα στην κρίσιμη τους περιοχή ΑG( (C1 C2 Ζωτικότητα: Κάθε φορά που η διεργασία 1 προσπαθεί να εισέλθει στην κρίσιμη της περιοχή θα το πράξει ΑG(Τ1 ΑF C1 Έλλειψη εμποδίων: Κάθε φορά που η διεργασία 1 βρίσκεται στη μη κρίσιμη της περιοχή, είναι δυνατόν, στην επόμενη χρονική στιγμή να προσπαθήσει να εισέλθει στην κρίσιμη της περιοχή ΑG(Ν1 ΕΧ Τ1 Έλλειψη αυστηρής διάταξης: Είναι δυνατόν, η διεργασία 1 να εισέλθει στην κρίσιμη της περιοχή δύο συνεχόμενες φορές χωρίς να παρεμβληθεί η διεργασία 2. ΕF(C1 Ε(C1 U ( C1 Ε( C2 U C1 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-17 Ιδιότητες στη CTL Δυνατότητα προσέγγισης κατάστασης απλή EF Φ εξαρτώμενη E(Ψ U Φ από κάθε κατάσταση ΑG (EF Φ Ασφάλεια (κάτι κακό δεν συμβαίνει ποτέ απλή ΑG bad Ζωτικότητα (Liveness ΑG (Φ ΑF Ψ Δικαιοσύνη ΑG (EF Φ ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-18 9

Έλεγχος Μοντελου της CTL Πως μπορούμε να ελέγξουμε κατά πόσο μια κατάσταση s ικανοποιεί μια CTL ιδιότητα Φ; Υπολογίζουμε αναδρομικά το σύνολο Sat(Φ των καταστάσεων που ικανοποιούν την Φ. Ελέγχουμε αν η s ανήκει στο Sat(Φ. Αναδρομικός υπολογισμός προσδιόρισε όλες τις υποιδιότητες της Φ υπολόγισε το σύνολο Sat(p για όλες τις ατομικές προτάσεις p της Φ συνέχισε με τις μικρότερες υποιδιότητες που περιέχουν ατομικές προτάσεις έλεγξε τις υποιδιότητες που περιέχουν αυτές τις ιδιότητες και ούτω καθεξής μέχρι να φτάσεις στην Φ. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-19 Αλγόριθμος Μοντελο-ελέγχου Αναδρομικός υπολογισμός από κάτω προς τα πάνω θεώρησε το δένδρο που αντιστοιχεί στην ιδιότητα Φ υπολόγισε το σύνολο Sat(p για τις ιδιότητες που βρίσκονται στα φύλλα του δένδρου της Φ συνέχισε με τις υποιδιότητες που βρίσκονται σε ύψος 1 στοδένδροτηςφ, στις υποιδιότητες που βρίσκονται σε ύψος 2 και ούτω καθεξής μέχρι να φτάσεις στη ρίζα του δένδρου, δηλαδή στην Φ. Το δένδρο που αντιστοιχεί στην ιδιότητα A[AΧ p U E[EΧ(p q U p ]] είναι το AU AΧ EΧ p p q ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-20 EU p 10

Επαρκή Σύνολα Τελεστών Ο αλγόριθμος βασίζεται στο γεγονός ότι το σύνολο των τελεστών,, Τ (true, ΕΧ, ΕU, AF είναι επαρκές για τη CTL. Δηλαδή όλοι οι υπόλοιποι τελεστές μπορούν να διατυπωθούν βάσει αυτών: ΑX Φ = EX Φ Α(Φ 1 UΦ 2 = (Ε[Φ 2 U(Φ 1 Φ 2 ] EG Φ 2 ΕF Φ = E(T U Φ ΕG Φ = AF Φ ΑG Φ 1 = EF Φ 1 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-21 Αναδρομική Διαδικασία (1 SAT(Φ{ Case Φ = T return S Φ = return Φ = p return {s S p Label(s} Φ = Φ 1 return S SAT (Φ 1 Φ = Φ 1 Φ 2 return SAT(Φ 1 SAT(Φ 2 Φ = Φ 1 Φ 2 return SAT(Φ 1 SAT(Φ 2 Φ = Φ 1 Φ 2 return SAT(Φ 1 Φ 2 Φ = ΑX Φ 1 return SAT(EX Φ 1 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-22 11

Αναδρομική Διαδικασία (2 } Φ = ΕX Φ 1 return SAT ΕΧ (Φ 1 Φ = Α(Φ 1 UΦ 2 return SAT((Ε[Φ 2 U(Φ 1 Φ 2 ] EGΦ 2 Φ = E(Φ 1 U Φ 2 return SAT EU (Φ 1, Φ 2 Φ = ΕF Φ 1 return SAT(E(T U Φ 1 Φ = ΕG Φ 1 return SAT(AF Φ 1 Φ = ΑF Φ 1 return SAT AF (Φ 1 Φ = ΑG Φ 1 return SAT(EF Φ 1 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-23 H διαδικασία SAT EX (Φ Υπολογίζει τις καταστάσεις που ικανοποιούν την Φ (SAT(Φ και μετά οπισθοδρομεί για να υπολογίσει το σύνολο των καταστάσεων που μπορούν να μεταβούν σ αυτές. SAT ΕΧ (Φ{ Χ = SAT(Φ; Υ = {s S υπάρχει s τ.ώ. s s, s X}; return Y; } ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-24 12

H διαδικασία SAT AF (Φ Υπολογίζει τις καταστάσεις Χ που ικανοποιούν την Φ (SAT(Φ και μετά οπισθοδρομεί για να υπολογίσει το σύνολο των καταστάσεων των οποίων κάθε εκτέλεση φθάνει σε μία από τις καταστάσεις Χ σε ένα βήμα, δύο βήματα, κ.ο.κ.. SAT ΑF (Φ{ Χ = S; Y = SAT(Φ; while (X!= Y X = Y; Y = Y {s S αν, για κάθε s τ.ω. s s, τότε s X}; return Y; } ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-25 H διαδικασία SAT ΕU (Φ,Ψ Υπολογίζει τις καταστάσεις W και Υ που ικανοποιούν τις Φ και Ψ αντίστοιχα και μετά οπισθοδρομεί από τις καταστάσεις Υ προσθέτοντας στο σύνολο των αποδεκτών καταστάσεων εκείνες που ανήκουν στη W. SAT EU (Φ, Ψ{ Χ = S; W = SAT(Φ; Y = SAT(Ψ; while (X!= Y X = Y; Y = Y {s W υπάρχει s τ.ώ. s s και s X}; return Y; } ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-26 13

Έλεγχος της E(yellow U blue Θα υπολογίσουμε το σύνολο Sat(E(yellow U blue 0 1 2 3 yellow yellow blue white Sat(yellow = {0, 1} Sat(blue = {2} ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-27 Έλεγχος της E(yellow U blue 0 1 2 3 Επανάληψη 1 0 1 2 3 Υ 1 = {2} Επανάληψη 2 0 1 2 3 Υ 2 = {1, 2} Επανάληψη 3 0 1 2 3 Υ 3 = {0, 1, 2} Επανάληψη 4 0 1 2 3 Υ 4 = {0, 1, 2} ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-28 14

Αλγόριθμος: Μοντελο-έλεγχος στη CTL διάσχιση του δένδρου που αντιστοιχεί στην ιδιότητα από κάτω προς τα πάνω εύρεση σταθερού σημείου για ιδιότητες ΑF και ΕU Χρόνος εκτέλεσης χείριστης περίπτωσης είναι της τάξης O( Φ Ν 2 όπου Φ είναι το μήκος της ιδιότητας Φ και Ν ο αριθμός καταστάσεων τουμοντέλουτουσυστήματος. Υλοποιημένος σε εργαλεία όπως τα UPPAAL, SMV, Cadence, ΝuSMV ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-29 CTL στην πράξη Τυπικές ιδιότητες μπορούν να διατυπωθούν ως ψηλού επιπέδου προδιαγραφές. Σε τέτοιες προδιαγραφές ο χρήστης δεν χρειάζεται να γνωρίζει χρονική λογική απλά τοποθετεί τις ατομικές προτάσεις που τον ενδιαφέρουν στις προδιαγραφές που θέλει να ελέγξει Τέτοιου είδους προδιαγραφές μπορούν να χωριστούν σε τρεις βασικές κατηγορίες ολικές: αναφέρονται στο σύνολο της εκτέλεσης του συστήματος μετά: αναφέρονται σε εκτελέσεις μετά από κάποια κατάσταση ανάμεσα: αναφέρονται στους υπολογισμούς που λαμβάνουν χώρο ανάμεσα σε δύο καταστάσεις ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-30 15

Τυπικές προδιαγραφές ψηλού επιπέδου Μελέτη 555 προδιαγραφών έδειξε τις πιο κάτω συχνότητες για τις δημοφιλέστερες προδιαγραφές προδιαγραφή τύπος CTL ιδιότητα συχνότητα ανταπόκριση ολική ΑG (p ΑF q 43.3% καθολικότητα ολική ΑG p 19.8% απουσία ολική ΑG p 7.4% προβάδισμα ολική ΑG p Α( p U q 4.5% απουσία ανάμεσα ΑG ((q r 3.2% Α(( p ΑG r W r απουσία μετά ΑG (p ΑF q 2.1% ύπαρξη ολική ΑF p 2.1% ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-31 CTL (Computation Tree Logic Η CTL ορίζεται ως το μικρότερο σύνολο ιδιοτήτων που παράγονται ως εξής: Φ,Ψ :: = p Φ Φ Ψ Α φ Ε φ φ :: = Χ Φ Φ U Ψ 1. Ιδιότητες κατάστασης Φ κάθε ατομική πρόταση p είναι ιδιότητα κατάστασης Αν οι Φ και Ψ είναι ιδιότητες κατάστασης, τότε και οι Φ και Φ Ψ είναι ιδιότητες κατάστασης Αν η φ είναι μια ιδιότητα εκτέλεσης, τότε οι Α φ και η Ε φ είναι ιδιότητες κατάστασης 2. Ιδιότητες εκτέλεσης φ Αν οι Φ και Ψ είναι ιδιότητες κατάστασης, τότε οι Χ Φ και Φ U Ψ είναι ιδιότητες εκτέλεσης ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-32 16

PLTL Η PLTL μπορεί παρόμοια να οριστεί με βάση την πιο κάτω γραμματική Φ :: = Α φ φ :: = p φ φ ψ Χ φ φ U ψ 1. Ιδιότητες κατάστασης Φ Αν η φ είναι μια ιδιότητα εκτέλεσης τότε η Α φ είναι ιδιότητα κατάστασης 2. Ιδιότητες εκτέλεσης φ κάθε ατομική πρόταση p είναι ιδιότητα εκτέλεσης Αν οι φ και ψ είναι ιδιότητες εκτέλεσης, τότε και οι φ και φ ψ είναι ιδιότητες εκτέλεσης Αν οι φ και ψ είναι ιδιότητες εκτέλεσης, τότε οι Χ φ και φ U ψ είναι ιδιότητες εκτέλεσης ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-33 PLTL και CTL Οι δύο τύποι λογικής έχουν διαφορετική εκφραστικότητα: υπάρχουν ιδιότητες της CTL που δεν μπορούν να εκφραστούν στην PLTL, π.χ. ΑG EF p υπάρχουν ιδιότητες που δεν μπορούν να εκφραστούν στην CTL, π.χ. F (p X p H ιδιότητα αυτή εκφράζει ότι σε κάθε εκτέλεση η p θα ικανοποιηθεί για δύο συνεχόμενες χρονικές στιγμές. Οι ιδιότητες ΑF (p AX p και ΑF (p ΕX p εκφράζουν διαφορετικές προτάσεις. Η πολυπλοκότητα του μοντελο-ελέγχου για τους δύο τύπους λογικής είναι CTL : O( Formula System 2 PLTL : O(2 Formula System 2 Συχνά όμως ιδιότητες της CTL είναι μακρύτερες από ιδιότητες της PLTL. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-34 17

CTL * Διακλαδωμένη χρονική λογική με μεγαλύτερη εκφραστικότητα. Η σύνταξη της δίνεται ως εξής: Φ :: = p Φ Φ Ψ Α φ Ε φ φ :: = Φ φ φ ψ Χ ψ φ U ψ Έτσι, γιαπαράδειγμαοιιδιότητες ΑΧΧ p, ΕGF p είναι νόμιμες CTL * ιδιότητες. Προσοχή: οι ιδιότητες ΑF ΑF p (CTL και ΑGF p (CTL * αν και συντακτικά διαφορετικές, εκφράζουν την ίδια προδιαγραφή. Η πολυπλοκότητα του μοντελο-ελέγχου για τη CTL * είναι PSPACE και O(2 System Formula. Μέχρι στιγμής δεν έχει διαδοθεί η χρήση εργαλείου για μοντελο-έλεγχο της CTL *. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-35 Εκφραστικότητα χρονικών λογικών Δύο ιδιότητες είναι ισοδύναμες αν και μόνο αν ικανοποιούνται από ακριβώς τις ίδιες καταστάσεις όλων των δομών Kripke. Μία χρονική λογική Λ είναι τουλάχιστον τόσο εκφραστική όσο και μια λογική Λ αν και μόνο αν για κάθε ιδιότητά της Λ υπάρχει ισοδύναμη ιδιότητα της Λ. Η εκφραστικότητα των λογικών PLTL, CTL και CTL * φαίνεται στο πιο κάτω διάγραμμα. CTL * AF (p X p AG EF p PLTL CTL AF (p X p A (p U q AG EF p ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-36 18

Μοντελο-έλεγχος με δικαιοσύνη Εκφράζουμε τη ζητούμενη ιδιότητα δικαιοσύνης σαν μια ιδιότητα, έστω Φ και για να αποδείξουμε κάποια ιδιότητα Ψ ελέγχουμε τη ΦΨ. Αντιπαράδειγμα Bad ( Ψ Fair (Φ Program Εναλλακτικά, τροποποιούμε τον αλγόριθμο επαλήθευσης. Για παράδειγμα, για ελαφριά δικαιοσύνη διεργασιών: ψάξε για ισχυρά συνδεδεμένους υπογράφους, όπου για κάθε διεργασία P είτε ο υπογράφος περιέχει κάποια μετάβαση της P, ή περιέχει κατάσταση όπου η P δεν μπορεί να προχωρήσει. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-37 Ιδιότητες δικαιοσύνης Μη εξαρτώμενη δικαιοσύνη: ηιδιότηταrunning ικανοποιείται απείρως συχνά G F running Ελαφρά δικαιοσύνη: αν κάποια μετάβαση είναι συνεχώς έτοιμη για εκτέλεση από κάποια κατάσταση και μετά τότε θα τρέξει άπειρες φορές F G enabled G F running Ισχυρή δικαιοσύνη: αν κάποια μετάβαση είναι συνεχώς έτοιμη για εκτέλεση τότε θα τρέξει άπειρες φορές G F enabled G F running ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-38 19

Παράδειγμα 3 Ισχύει η ιδιότητα Φ = AG(green AF red; 1 2 Όχι, αφού υπάρχει ένα πράσινο μονοπάτι. Το μονοπάτι αυτό όμως δεν είναι δίκαιο διότι η κόκκινη μετάβαση είναι έτοιμη για εκτέλεση άπειρες φορές στο μονοπάτι (από την κατάσταση 1 χωρίς ποτέ να εκτελείται. Γιανααποκλείσουμεαυτότομονοπάτιμπορούμεναπροσθέσουμεμια υπόθεση δικαιοσύνης, όπως την Φ δ = AG (redenabled AF red Τότε ελέγχουμε την ιδιότητα Φ δ Φ, ηοποίαισχύει. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 5-39 20