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

Σχετικά έγγραφα
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

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

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

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

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

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

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

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ασκήσεις από παλιές εξετάσεις

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

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

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

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

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

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

6η Διάλεξη Διάσχιση Γράφων και Δέντρων

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

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

Διάλεξη 20: Γράφοι I - Εισαγωγή

Διάλεξη 18: Γράφοι I Εισαγωγή

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

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

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 4: Μη Ντετερμινιστικά (Αντιαιτιοκρατικά) Πεπερασμένα Αυτόματα (ΝFA)

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

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

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

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

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

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

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

Ασκήσεις μελέτης της 8 ης διάλεξης

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 4 Σωροί, Γράφοι

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

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

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

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

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

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

HY Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο. Φροντιστήριο 6

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

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

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

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

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

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

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

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

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

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

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

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

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

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

ΠΛΗ111. Ανοιξη Μάθηµα 10 ο. Γράφοι. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

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

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

Γνωστό: P (M) = 2 M = τρόποι επιλογής υποσυνόλου του M. Π.χ. M = {A, B, C} π. 1. Π.χ.

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

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών

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

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

Transcript:

Αυτοματοποιημένη Επαλήθευση Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Έλεγχος Μοντέλου Αλγόριθμοι γράφων Αλγόριθμοι αυτομάτων Αυτόματα ως προδιαγραφές ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-1

Έλεγχος μοντέλου Το σύστημα μοντελοποιείται ως ένας γράφος. Οι προδιαγραφές αναφέρονται στη γραφική αναπαράσταση. Για τον έλεγχο χρησιμοποιούμε αλγόριθμους γράφων. Με αυτόν τον τρόπο μπορούμε να ελέγξουμε ιδιότητες όπως Αμετάβλητη συνθήκη: ιδιότητες που πρέπει να ισχύουν σε κάθε κατάσταση του μοντέλου Ανίχνευση αδιεξόδων: υπάρχει κάποια κατάσταση από την οποία κάθε πρόοδος είναι αδύνατη; Νεκρός κώδικας: υπάρχουν κομμάτια του κώδικα που δεν θα εκτελεστούν ποτέ; ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-2

Αλγόριθμος επαλήθευσης Εφαρμόζουμε κάποια διαδικασία διάσχισης του γράφου (κατά βάθος ή κατά πλάτος διερεύνηση). Κατά τη διάσχιση ελέγχουμε τις καταστάσεις και τις μεταβάσεις. Αν διαπιστώσουμε κάποιο λάθος επιστρέφουμε αντιπαράδειγμα. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-3

Διαδικασία διάσχισης κατά βάθος DepthFirstSearch(graph G){ για κάθε κατάσταση w visited[w] = False; για κάθε αρχική κατάσταση v DFS(v); } DFS(vertex v){ visited[v] = True; για κάθε w γειτονική της v if (visited[w]==false) DFS(w) } ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-4

Παράδειγμα DepthFirstSearch q1 Hash table: q1 q2 q4 q3 Stack: q2 q3 q4 q2 q3 q1 q4 q5 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-5

Έλεγχος ιδιοτήτων με τη DFS Αμετάβλητη συνθήκη: ελέγχουμε πως όλες οι εφικτές καταστάσεις ικανοποιούν τη ζητούμενη ιδιότητα. Διαφορετικά επιστρέφουμε μονοπάτι από την αρχική κατάσταση στην κατάσταση που παραβιάζει την ιδιότητα. Ανίχνευση αδιεξόδων: ελέγχουμε κατά πόσο υπάρχει εφικτή κατάσταση από όπου καμιά μετάβαση δεν επιτρέπεται. Νεκρός κώδικας: κατά τη DFS μαρκάρουμε όλες τις καταστάσεις από τις οποίες περνούμε. Αν υπάρχουν καταστάσεις που δεν έχουμε επισκεφθεί αντιστοιχούν σε νεκρό κώδικα. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-6

G (PC0=CR0/\PC1=CR1) η ιδιότητα αυτή είναι αμετάβλητη συνθήκη του συστήματος L0,L1 L0,L1 L0,NC1 NC0,L1 L0,NC1 NC0,L1 NC0,NC1 CR0,L1 L0,CR1 NC0,NC1 CR0,NC1 NC0,CR1 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-7

Μοντελοέλεγχος Μας ενδιαφέρουν πολλές άλλες ιδιότητες εκτός από τις ιδιότητες τύπου G p. Απαιτείται αλγόριθμος ελέγχου οποιασδήποτε ιδιότητας της PLTL. Αυτό μπορεί να επιτευχθεί με τη μετατροπή ιδιοτήτων χρονικής λογικής σε γράφους (πεπερασμένα αυτόματα). Με αυτό τον τρόπο ο ίδιος φορμαλισμός χρησιμοποιείται τόσο για την μοντελοποίηση όσο και για την προδιαγραφή συστημάτων. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-8

Αυτόματα πεπερασμένων λέξεων Ένα αυτόματο ορίζεται ως μία πλειάδα Α= Σ, S, Δ, Ι, F όπου Σ είναι το αλφάβητο του αυτομάτου S είναι το σύνολο των καταστάσεων Δ : S Σ S, είναι η σχέση μεταβάσεων Ι S, είναι το σύνολο των αρχικών καταστάσεων F S, είναι το σύνολο των αποδεκτών καταστάσεων ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-9

Παράδειγμα Έστω M= Σ, S, Δ, Ι, F όπου Σ= {Α, Β}, S = {S 0, S 1 }, Δ = {(S 0, Α, S 0 ), (S 0, Β, S 1 ), (S 1, Β, S 1 ), (S 1, Α, S 0 )}, Ι = {S 0 }, F = {S 0 }. S 0 B S 1 B ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-10

Η γλώσσα ενός αυτόματου Λέξη ενός αλφάβητου Σ ονομάζουμε μια ακολουθία γραμμάτων από το Σ, π.χ. ΑΒΑΑΒ. Μία ακολουθία από καταστάσεις, π.χ. S 0 S 1 S 2 S n ονομάζεται εκτέλεση της λέξης a 1 a 2 a n αν και μόνο αν η S 0 είναι αρχική κατάσταση, και για κάθε i, (S i-1, a i,s i ) είναι μετάβαση. Ονομάζεται αποδεκτή εκτέλεση της λέξης αν η S n είναι αποδεκτή κατάσταση. Μία λέξη είναι αποδεκτή αν υπάρχει αποδεκτή εκτέλεση της λέξης από το αυτόματο. Γλώσσα του αυτομάτου είναι το σύνολο των λέξεων που είναι αποδεκτές από αυτό. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-11

Παράδειγμα (συν.) Οι λέξεις BBB, BBBB ανήκουν στη γλώσσα του αυτομάτου, ενώ... Οι λέξεις BB, BBB δεν ανήκουν. Ποια είναι η γλώσσα του αυτομάτου; S 0 B S 1 B ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-12

Μη ντετερμινιστικό αυτόματο Δ = {(S 0,,S 0 ), (S 0,B,S 0 ), (S 0,,S 1 ),(S 1,,S 1 )}.,B S 0 S 1 Α Ποια η γλώσσα του αυτομάτου; Ισοδύναμο ντετερμινιστικό αυτόματο. B S 0 S 1 B ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-13

Αυτόματα μη-πεπερασμένων λέξεων Ίδιος ορισμός, με τη διαφορά ότι τώρα οι λέξεις είναι μηπεπερασμένου μήκους. Λέξη ενός αλφάβητου Σ ονομάζουμε μια μη-πεπερασμένη ακολουθία γραμμάτων από το Σ. Μία ακολουθία από καταστάσεις, π.χ. S 0 S 1 S 2 ονομάζεται αποδεκτή εκτέλεση της λέξης a 1 a 2 αν και μόνο αν η S 0 είναι αρχική κατάσταση, υπάρχει μία αποδεκτή κατάσταση η οποία παρουσιάζεται άπειρες φορές στην εκτέλεση, και για κάθε i, (S i-1, a i, S i ) είναι μετάβαση. Μία λέξη είναι αποδεκτή αν υπάρχει εκτέλεση της λέξης από το αυτόματο. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-14

Παράδειγμα S 0 B S 1 B Έστω η λέξη Α Β Α Β Α Β Α Β Α Β και η εκτέλεση της λέξης S 0 S 1 S 0 S 1 S 0 S 1 S 0 S 1 Η εκτέλεση είναι αποδεκτή αφού η κατάσταση S 0 παρουσιάζεται άπειρες φορές στην εκτέλεση. Η λέξη Β Β Β Β Β Β Β δεν ανήκει στη γλώσσα του αυτομάτου αφού η εκτέλεση της λέξης S 0 S 1 S 1 S 1 S 1 S 1 δεν είναι αποδεκτή εκτέλεση. Η λέξη Α Β Α Β Β Α Β Β Β...; ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-15

Μη ντετερμινιστικό αυτόματο μη πεπερασμένων λέξεων Ποια η γλώσσα του αυτομάτου;,b S 0 S 1 Α Έστω B PC 0 =CR 0, και B Ποια είναι η LTL προδιαγραφή που αντιστοιχεί στο πιο πάνω αυτόματο; ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-16

Προδιαγραφή με αυτόματα Αναθέτουμε σε κάθε γράμμα του αλφάβητου κάποια ατομική πρόταση. Για παράδειγμα: Α : η διεργασία P 0 βρίσκεται στην κρίσιμη περιοχή, δηλ. PC 0 = CR 0 Β : η διεργασία P 0 δεν βρίσκεται στην κρίσιμη περιοχή, δηλ. PC 0 = CR 0 Η ιδιότητα G F (PC 0 = CR 0 ) μεταφράζεται ως το αυτόματο S 0 B S 1 B ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-17

Προδιαγραφή με αυτόματα Αμοιβαίος αποκλεισμός Έστω PC 0 =CR 0 /\ PC 1 =CR 1 B (PC 0 =CR 0 /\ PC 1 =CR 1 ) C TRUE Το πιο κάτω αυτόματο εκφράζει την ιδιότητα G (PC 0 =CR 0 /\ PC 1 =CR 1 ) B S 0 S 1 C ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-18

Μοντελοποίηση με αυτόματα Από το σύστημα μεταβάσεων 1. Προσθέτουμε μία νέα αρχική κατάσταση την οποία συνδέουμε με τις παλιές αρχικές καταστάσεις. 2. Μεταφέρουμε τις ατομικές προτάσεις των καταστάσεων στις ακμές που δείχνουν προς αυτές. 3. Θέτουμε όλες τις καταστάσεις ως αποδεκτές. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-19

Παράδειγμα L0,L1 L0,L1 L0,NC1 NC0,L1 L0,NC1 NC0,L1 NC0,NC1 CR0,L1 L0,CR1 NC0,NC1 CR0,NC1 NC0,CR1 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-20

Βήμα 1 init L0,L1 L0,L1 L0,NC1 NC0,L1 L0,NC1 NC0,L1 NC0,N C1 CR0,L1 L0,CR1 NC0,N C1 CR0,N C1 NC0,C R1 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-21

Βήμα 2 L0,L1 init L0,L1 L0,L1 L0,L1 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-22

Βήμα 3 L0,L1 init L0,L1 L0,L1 L0,L1 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-23

Συνθήκη ορθότητας Πότε ένα μοντέλο ικανοποιεί την προδιαγραφή του; Έστω L(Model) η γλώσσα του μοντέλου. Έστω L(Spec) η γλώσσα της προδιαγραφής Πρέπει να ισχύει ότι : L(Model) L(Spec). ΟΡΘΟΤΗΤΑ Λανθασμένη συμπεριφορά Sequences satisfying Spec Program executions ll sequences Sequences satisfying Spec Program executions ll sequences ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-24

Απόδειξη της ορθότητας Είναι αρκετό να δείξουμε ότι L(Model) L(Spec) ή εναλλακτικά, ότι, L(Model) L(Spec) = Ø, όπου L(Spec) είναι το συμπλήρωμα του αυτομάτου Spec, δηλαδή οι λέξεις που δεν λαμβάνονται από αυτό Για να το πράξουμε πρέπει να γνωρίζουμε πώς να υπολογίζουμε την τομή δύο αυτομάτων, δηλαδή το αυτόματο που αποδέχεται μόνο τις λέξεις που είναι αποδεκτές και από τα δύο αυτόματα πώς να υπολογίζουμε το συμπλήρωμα ενός αυτομάτου, δηλαδή το αυτόματο που αποδέχεται μόνο τις λέξεις που δεν είναι αποδεκτές από το αυτόματο πώς να μεταφράζουμε ιδιότητες της LTL σε αυτόματα ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-25

Έστω δύο αυτόματα Τομή δύο αυτομάτων Α 1 = Σ, S 1, Δ 1, Ι 1, F 1 και Α 2 = Σ, S 2, Δ 2, Ι 2, S 2 Ορίζουμε ως τομή των δύο αυτομάτων το αυτόματο Α= Σ, S, Δ, Ι, F όπου καταστάσεις του Α είναι τα ζεύγη (x,y) όπου x είναι κατάσταση του S 1 και y είναι κατάσταση του S 2. αρχικές καταστάσεις του Α είναι τα ζεύγη (x,y) όπου x είναι αρχική κατάσταση στο I 1 και y είναι αρχική κατάσταση στο Ι 2. αποδεκτές καταστάσεις του Α είναι τα ζεύγη (x,y) όπου x είναι αποδεκτή κατάσταση στο F 1 και y είναι αποδεκτή κατάσταση στο F 2. ((x,y) a (x,y )) είναι μετάβαση του Α αν (x,a,x ) είναι μετάβαση του Α 1 και (y,a,y ) είναι μετάβαση του Α 2. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-26

Παράδειγμα S 0 B,C S 1 B,C T 0 B T 1 C Καταστάσεις: (S 0,T 0 ), (S 0,T 1 ), (S 1,T 0 ), (S 1,T 1 ). Αποδεκτές: (S 0,T 0 ), (S 0,T 1 ). Αρχική: (S 0,T 0 ). S 0,T 1 C S 0,T 0 B S 1,T 1 C B S 1,T 0 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-27

Έλεγχος κενής γλώσσας Πρέπει να ελέγξουμε κατά πόσο υπάρχει αποδεκτή εκτέλεση (που περνά από αποδεκτές καταστάσεις άπειρες φορές). S 0,T 0 S 0,T 1 B S 1,T 0 C S 1,T 1 C B ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-28

Εύρεση αποδεκτών μονοπατιών Αν υπάρχει αποδεκτή εκτέλεση, τότε υπάρχει τουλάχιστον μια αποδεκτή κατάσταση η οποία επαναλαμβάνεται άπειρες φορές. Αυτή η κατάσταση πρέπει να εμφανίζεται σε κύκλο. Επομένως το πρόβλημα μας μεταφράζεται στην εύρεση κύκλου που περιέχει μία (τουλάχιστον) αποδεκτή κατάσταση. Ισοδύναμα, θέλουμε να βρούμε ένα εφικτό ισχυρά συνδεδεμένο υπογράφο με αποδεκτή κατάσταση (Ισχυρά συνδεδεμένος υπογράφος είναι ένα σύνολο από κόμβους όπου υπάρχει μονοπάτι από κάθε κόμβο προς κάθε άλλο κόμβο). ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-29

Συμπλήρωμα αυτομάτου Η εύρεση του συμπληρώματος ενός αυτομάτου είναι δύσκολη. Εναλλακτικά μπορούμε να ξεκινήσουμε με την άρνηση της ζητούμενης ιδιότητας και να τη μετατρέψουμε κατ ευθείαν στο αυτόματο που μας ενδιαφέρει (το συμπλήρωμα του αυτομάτου που εκφράζει τη γλώσσα με τη ζητούμενη ιδιότητα). ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-30

Παράδειγμα Τα φώτα της τροχαίας Έστω το πιο κάτω μοντέλο φώτων της τροχαίας R Y G R Y G S o S 1 S 2 S 3 S R Y G 4 R Y G R Y G Θέλουμε να αποδείξουμε, ότι κάθε φορά που το κίτρινο φως είναι αναμμένο μόνο του, μετά θα ακολουθήσει το κόκκινο φως. Δηλαδή, θέλουμε να αποδείξουμε την ιδιότητα χρονικής λογικής G ( R Y X R) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-31

Η άρνηση της ιδιότητας Θα κτίσουμε το αυτόματο της άρνησης της ζητούμενης ιδιότητα, δηλαδή, της ιδιότητας G ( R Y X R) F ( R Y X R) F (( R Y ) ( X R)) F (( R Y ) X ( R)) Η οποία μεταφράζεται ως το πιο κάτω αυτόματο true R Y R Q 0 Q 2 Q 1 true ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-32

Το γινόμενο ιδιότητας-μοντέλου Σύνολο των καταστάσεων του γινομένου των δύο αυτομάτων είναι όλες οι καταστάσεις (S i, Q j ), όπου 0 i 4, και 0 j 2. Αρχική κατάσταση είναι η (S 0, Q 0 ), και αποδεκτές καταστάσεις οι (S i, Q 2 ), για κάθε 0 i 4. Απομένει να υπολογίσουμε τις μεταβάσεις του γινομένου. Ξεκινώντας από την αρχική κατάσταση έχουμε: R Y G R Y G R Y G S 0,Q 0 S 1,Q 0 S 2,Q 0 S 3,Q 0 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-33

Το γινόμενο ιδιότητας-μοντέλου Από την κατάσταση (S 3, Q 0 ) υπάρχουν δύο εναλλακτικές μεταβάσεις: R Y G R Y G S 3,Q 0 S 4,Q 0 S 0,Q 0 R Y G S 4,Q 1 Η μία επιλογή επιστρέφει στην αρχική κατάσταση (S 0, Q 0 ). Η άλλη οδηγεί στην κατάσταση (S 4, Q 1 ) που αποτελεί αδιέξοδο αφού μετάβαση του S 4 απαιτεί την πρόταση R (δηλαδή ύπαρξη κόκκινου φωτός) ενώ μετάβαση από την κατάσταση Q 1 απαιτεί την αντίθετη πρόταση R (δηλαδή την μη ύπαρξη κόκκινου φωτός). ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-34

Έλεγχος κενής γλώσσας Επομένως το γινόμενο αυτόματο είναι το πιο κάτω R Y G R Y G R Y G R Y G R Y G S 0,Q 0 S 1,Q 0 S 2,Q 0 S 3,Q 0 S 4,Q 0 R Y G S 4,Q 1 Αφού το αυτόματο δεν περιέχει αποδεκτή κατάσταση, η γλώσσα του είναι κενή, και, επομένως, η ζητούμενη ιδιότητα ικανοποιείται. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-35