ΕΠΛ664: Ανάλυση και Επαλθευση Συστημάτων Τμμα Πληροφορικς Άσκηση 1 Σειρά Προβλημάτων 1 Λύσεις (α) Χρησιμοποιούμε τις επιπλέον μεταβλητές PC0, PC1, (program counters) οι οποίες παίρνουν ως τιμές ονόματα των γραμμών του κώδικα όπως φαίνεται πιο κάτω. Process P i while true do{ 1. flag[i] := 1; 2. while (turn == 1-i){ 3. wait flag[1-i] = 0; 4. turn := i; 5. flag[i] := 0; Ο γράφος μεταβάσεων δίνεται από την πλειάδα (V, S, T, p) όπου V = {PC0, PC1, flag[], turn S = σύνολο όλων των δυνατών αναθέσεων τιμών στις πιο πάνω μεταβλητές Τ = { T1 : PC0=1 (PC0, flag[0]) := (2, 1), T2 : PC0=2 turn=1 PC0 := 3, T3 : PC0=2 turn=0 PC0 := 5, T4 : PC0=3 flag[1]=0 PC0 := 4, T5 : PC0= 4 (PC0, turn) := (2, 0), T6 : PC0= 5 (PC0, flag[0]) := (1, 0), T7 : PC1= 1 (PC1, flag[1]) := (2, 1), T8: PC1= 2 turn=0 PC1 := 3, T9: PC1= 2 turn=1 PC1 := 5, T10 : PC1= 3 flag[0]=0 PC1 := 4, T11: PC1= 4 (PC1, turn) := (2, 1), T12 : PC1= 5 (PC1, flag[1]) := (1, 0), p (PC0 = 1) (PC1 = 1) (turn = 0) (flag[] = [0,0]) (β) Tο σύστημα μεταβάσεων αποτελείται από τετράδες (Α,Β,x,y) που αναφέρονται στις τιμές των μεταβλητών (PC1, PC2, turn και flag) που ισχύουν στην κάθε κατάσταση. Το σχεδιάγραμμα παραλείπεται. (γ) Για να είναι κατάλληλος ο αλγόριθμος για διασφάλιση αμοιβαίου αποκλεισμού, θα πρέπει να είναι αδύνατο οι δύο διεργασίες να βρίσκονται ταυτόχρονα στο σημείο 5 του κώδικα. Δηλαδ δεν θα πρέπει να υπάρχει κατάσταση στο σύστημα μεταβάσεων, όπου PC0 = 5 και PC1 = 5. Από τη μελέτη του συστματος μεταβάσεων στο μέρος (β) Λύσεις Σειράς Προβλημάτων 1 Εαρινό Εξάμηνο 2014 Σελίδα 1
ΕΠΛ664: Ανάλυση και Επαλθευση Συστημάτων Τμμα Πληροφορικς οδηγούμαστε στο συμπέρασμα ότι είναι αυτό είναι δυνατό. Ένα μονοπάτι που οδηγεί στην κατάσταση αυτ είναι: (1,1,0,[0,0]) (1,2,0,[0,1]) (1,3,0,[0,1]) ])]) (1,4,0,[0,1]) ]) (2,4,0,[1,1]) (5,4,0,[1,1]) (5,2,1,[1,1]) (5,5,1,[1,1]) όπου χρησιμοποιούμε το συμβολισμό για να δείξουμε ότι από την κατάσταση Κ είναι δυνατ η εκτέλεση της μετάβασης Τ η οποία μας οδηγεί στη κατάσταση Κ. Επομένως, ο αλγόριθμος δεν διασφαλίζει αμοιβαίο αποκλεισμό. Άσκηση 2 (α) Δεν υπάρχει κατάσταση στην οποία να ικανοποιείται το a πριν από την πρώτη εμφάνιση του b. a U b (β) Αν το a εμφανίζεται για μη πεπερασμένο αριθμό φορών τότε και το b εμφανίζεται για μη πεπερασμένο αριθμό φορών. (GF a) (GF b) (γ) Μετά από κάθε b κάποια στιγμ στο μέλλον θα ακολουθσει μια μη κεν ακολουθία από a και ακριβώς μετά ένα c. G [b F (a (a U c )] (δ) Το c θα εμφανιστεί για ένα πεπερασμένο αριθμό φορών. FG c (ε) Σε κάθε μονοπάτι υπάρχουν ακριβώς δύο καταστάσεις που ικανοποιούν το c. c U (c X( c U (c XG c))) (ζ) Η τιμ της πρότασης a εναλλάσσεται ανάμεσα σε True και False σε διαδοχικά βματα. G ((a X a) ( a X a)) (στ) Αν υπάρχουν άπειρες εμφανίσεις του a ακολουθούμενες από b τότε πρέπει να υπάρχουν άπειρες εμφανίσεις του c. GF (a Χ b) GF c Άσκηση 3 i. F G b 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 1444444.. 2. Η δομ δεν ικανοποιεί την ιδιότητα αφού αυτ δεν ισχύει για κάθε μονοπάτι που ξεκινά από την αρχικ κατάσταση, π.χ. 12121212. ii. a U b 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 12 2. Η δομ δεν ικανοποιεί την ιδιότητα αφού αυτ δεν ισχύει για κάθε μονοπάτι που ξεκινά από την αρχικ κατάσταση, π.χ. 13 iii. a U (X b) 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 13.. Λύσεις Σειράς Προβλημάτων 1 Εαρινό Εξάμηνο 2014 Σελίδα 2
ΕΠΛ664: Ανάλυση και Επαλθευση Συστημάτων Τμμα Πληροφορικς 2. Η δομ ικανοποιεί την ιδιότητα. Το Χb ικανοποιείται για όλα τα μονοπάτια που ξεκινούν από την κατάσταση 1 και προχωρούν προς τις καταστάσεις 2 και 4. Τα μονοπάτια που ξεκινούν από την κατάσταση 1 και προχωρούν προς την κατάσταση 3 ικανοποιούν a, στην κατάσταση 1 και Χb στην κατάσταση 3. iv. a U [ X a X b ] 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 121212 2. Η δομ ικανοποιεί την ιδιότητα. Ισχύει, αφού ισχύει και η ιδιότητα (iii). Το στο δεξί μέλος του U δεν περιορίζει τα μονοπάτια στα οποία ικανοποιείται η ιδιότητα (iii), αλλά αντίθετα τα αυξάνει. v. X b G ( a b) 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 121212 2. Η δομ ικανοποιεί την ιδιότητα. Για μονοπάτια που ξεκινούν από την αρχικ και ακολουθούν οι καταστάσεις 2 4 ισχύει το X b. Για τα μονοπάτια που ξεκινούν από την αρχικ και ακολουθεί η κατάσταση 3 ισχύει το G ( a b) αφού αυτό δεν ικανοποιείται μόνο στην κατάσταση 2 η οποία δεν είναι προσβάσιμη από κανένα μονοπάτι που περνά από την κατάσταση 3. vi. G a X (a b) 1. Μονοπάτι που ικανοποιεί την ιδιότητα: 134 2. Η δομ ικανοποιεί την ιδιότητα αφού στο μοναδικό μονοπάτι που ικανοποιεί το G a ισχύει ότι στην δεύτερη κατάσταση όχι a b. Άσκηση 4 (α) Ο τελεστς R έχει οριστεί ως φ R ψ ( φ U ψ). Ως εκ τούτου, η σημασιολογία του τελεστ αυτού έχει ως εξς: Ένα μονοπάτι w ικανοποιεί w φ R ψ αν και μόνο αν w ( φ U ψ) αν και μόνο αν όχι [ w ( φ U ψ) ] αν και μόνο αν όχι [ i 0 τέτοιο ώστε w i ψ και j, 0 j < i, w j φ ] αν και μόνο αν i 0 όχι [ w i ψ και j, 0 j < i, w j φ ] αν και μόνο αν i 0 [όχι w i ψ όχι ( j, 0 j < i, w j φ ] αν και μόνο αν i 0 [w i ψ j, 0 j < i, w j φ ] αν και μόνο αν i 0 w i ψ i 0 τέτοιο ώστε w i φ και j, 0 j < i, w j ψ Επεκτείνοντας το πιο πάνω, έχουμε ότι μια δομ Kripke M ικανοποιεί M φ R ψ εάν κάθε μονοπάτι w που ξεκινά από την αρχικ κατάσταση της δομς Μ ικανοποιεί το w φ R ψ. Λύσεις Σειράς Προβλημάτων 1 Εαρινό Εξάμηνο 2014 Σελίδα 3
ΕΠΛ664: Ανάλυση και Επαλθευση Συστημάτων Τμμα Πληροφορικς (β) (i) Θα δείξουμε ότι p R q q (p X(p R q)). Συγκεκριμένα θα δείξουμε ότι για οποιαδποτε δομ Kripke M και μονοπάτι που ξεκινά από την αρχικ κατάσταση αυτς, w, έχουμε ότι w p R q αν και μόνο αν w q (p X(p R q)). Η απόδειξη έχει ως εξς: w p R q αν και μόνο αν {αιτιολόγηση βματος: από σημασιολογία του R i 0 w i q i 0 τέτοιο ώστε w i p και j, 0 j < i, w j q αν και μόνο αν {αιτιολ.: i 0 w i q w 0 q i 1 w i q w 0 q i 1 w i q i 0 τέτοιο ώστε w i p και j, 0 j < i, w j q αν και μόνο αν {αιτιολ.: i 0 p[i] p[0] i 1 p[i] w 0 q i 1 w i q w 0 p και j, 0 j < 0, w j q i 1 τέτοιο ώστε w i p και j, 0 j < i, w j q αν και μόνο αν w 0 q i 1 w i q w 0 p και w 0 q i 1 τέτοιο ώστε w i p και j, 0 j < i, w j q αν και μόνο αν w 0 q i 1 w i q w 0 p και w 0 q w 0 q και i 1 τ. ώ. w i p και j, 1 j < i, w j q αν και μόνο αν {αιτιολ.: (Α Β) (Α Γ) (Α Δ) = Α (Β Γ Δ) w 0 q ( i 1 w i q w 0 p i 1 τ. ω. w i p και j, 1 j<i, w j q) αν και μόνο αν w 0 q [w 0 p w 1 p R q] αν και μόνο αν w q (p X(p R q)) (ii) Η ισοδυναμία δεν είναι ορθ. Αντιπαράδειγμα: Στην πιο πάνω δομ ικανοποιείται το αριστερό μέλος της ισοδυναμίας, ενώ το δεξί μέλος δεν ικανοποιείται. Λύσεις Σειράς Προβλημάτων 1 Εαρινό Εξάμηνο 2014 Σελίδα 4
ΕΠΛ664: Ανάλυση και Επαλθευση Συστημάτων Τμμα Πληροφορικς Άσκηση 5 i. [ q U ( p q)] G p Η πρόταση αυτ είναι ταυτολογία. Από τον ορισμό της, η πιο πάνω πρόταση είναι false μόνο στην περίπτωση που το αριστερό μέλος της είναι true και το δεξί είναι false. Έστω ότι δεν είναι ταυτολογία. Δηλαδ το δεξί μέλος της συνεπαγωγς είναι false και το αριστερό true. Για να είναι το δεξί μέλος false, τότε σε κάθε κατάσταση της δομς θα ισχύει το p. Αν όμως σε κάθε κατάσταση ισχύει το p τότε το αριστερό μέλος της συνεπαγωγς θα είναι false. ΑΝΤΙΦΑΣΗ Επομένως, η πρόταση αυτ αποτελεί ταυτολογία. ii. G (p U q) (G p G q): Υπάρχει δομ που ικανοποιεί αυτ την πρόταση, αλλά η πρόταση δεν ικανοποιείται σε όλες τις δομές. Δομ που ικανοποιεί την πρόταση: Δομ που δεν ικανοποιεί την πρόταση: iii. (G F p G F q) G (p F q): Υπάρχει δομ που ικανοποιεί αυτ την πρόταση, αλλά η πρόταση δεν ικανοποιείται σε όλες τις δομές. Δομ που ικανοποιεί την πρόταση: Δομ που δεν ικανοποιεί την πρόταση: {r iv. G (p U q) (G p G q): Υπάρχει δομ που ικανοποιεί αυτ την πρόταση, αλλά η πρόταση δεν ικανοποιείται σε όλες τις δομές. Δομ που ικανοποιεί την πρόταση: { Δομ που δεν ικανοποιεί την πρόταση: {p,q Λύσεις Σειράς Προβλημάτων 1 Εαρινό Εξάμηνο 2014 Σελίδα 5