Σ Υ Π Τ Μ Α 8 Ιουνίου 2010 Άσκηση 1 Μια εταιρία τηλεφωνίας προσπαθεί να βρει πού θα τοποθετήσει τις συνιστώσες τηλεφωνικού καταλόγου που θα εξυπηρετούν τους συνδρομητές της. Η εταιρία εξυπηρετεί κατά βάση τέσσερεις μεγάλες πόλεις Α, Β, Γ, με ίσους πληθυσμούς. Σε κάθε πόλη έχει τοποθετήσει ένα μεγάλο κόμβο, ενώ οι κόμβοι αυτοί συνδέονται όλοι απ ευθείας κεντρικά με τον κόμβο Ε (πρόκειται δηλαδή για ένα δέντρο με ρίζα το Ε και φύλλα τους κόμβους των πόλεων Α ως ). Η εταιρία σκέπτεται τις εξής δύο λύσεις: (α) Μια κεντρική βάση δεδομένων σε κάποιο από τους κόμβους Α ως Ε και (β) τη δημιουργία τεσσάρων βάσεων δεδομένων που θα αντιστοιχούν στους συνδρομητές κάθε πόλης χωριστά. Κάθε κάτοικος μιας πόλης κάθε φορά που ψάχνει ένα αριθμό τηλεφώνου ψάχνει με πιθανότητα p κάτοικο της ίδιας πόλης και με πιθανότητα 1 p κάτοικο άλλης πόλης (ισοπίθανα για τις άλλες πόλεις, δηλ. (1 p)/3 για κάθε πόλη). Για ποια τιμή του p είναι πιο συμφέρουσα από πλευράς τηλεπικοινωνιακού κόστους η κεντρική λύση (α); Άσκηση 2 Ο σχεδιαστής ενός συστήματος κινητής τηλεφωνίας προσπαθεί να τοποθετήσει σωστά τις συνιστώσες λογισμικού και συγκεκριμένα εκείνη, που υλοποιεί τον τηλεφωνικό κατάλογο του χρήστη. Ο εν λόγω κατάλογος καλείται από τη διεπαφή κινητού-χρήστη ό- ποτε ο τελευταίος χρειάζεται να τηλεφωνήσει σε κάποιο άτομο. Στην περίπτωση που το άτομο αυτό υπάρχει στον κατάλογο γίνεται αμέσως η κλήση, όπως π.χ. φαίνεται στο Σχήμα 1. ιαφορετικά ερωτά- Σχήμα 1: ται πρώτα η βάση δεδομένων της εταιρίας κινητής τηλεφωνίας. Ενας αντιπροσωπευτικός διάλογος φαίνεται στο Σχήμα 2. Ο σχεδιαστής θα τοποθετήσει τον κατάλογο είτε στο κινητό (που θεωρείται πως έχει αρκετή χωρητικότητα) είτε στην πλευρά του σταθμού βάσης. Κριτήριο είναι η ελαχιστοποίηση της τηλεπικοινωνιακής κίνησης, που περνάει μέσα από την ασύρματη σύνδεση μεταξύ σταθμού βάσης και κινητού τηλεφώνου. Θεωρώντας ότι τα δύο σενάρια είναι στατιστικά αντιπροσωπευτικά από πλευράς μεγεθών κίνησης, αλλά ότι το πρώτο συμβαίνει 50 φορές πιο συχνά από το δεύτερο, υπολογίστε την τιμή του N, που δίνει αποτέλεσμα την τοποθέτηση του καταλόγου στη μια ή την άλλη πλευρά στις εξής δύο περιπτώσεις: 1
Σχήμα 2: (α) Υποθέτοντας ότι μεταξύ κινητού και καταλόγου γίνεται συμπίεση 70% και (β) δε γίνεται καμμία συμπίεση. Άσκηση 3 (i) Το σύνολο ιχνών A μιας διεργασίας X με αλφάβητο {a, b, c} περιλαμβάνει τα ίχνη a, b, c 2 και a 6. Ποιο είναι το ελάχιστο σύνολο ιχνών A 0 που έχει την παραπάνω ιδιότητα; (ii) Να δώσετε τον τύπο μιας διεργασίας Y, στα ίχνη της οποίας περιλαμβάνονται τα εξής: a, b, c n και a n για κάθε n. Άσκηση 4 Να γράψετε μια διεργασία σε γλώσσα LOTOS που θα δημιουργεί συμπεριφορά παρόμοια με εκείνη της διεργασίας Y του προηγούμενου θέματος. Άσκηση 5 ίνεται η γνωστή από τις σημειώσεις μηχανή πώλησης καφέ του Hoare με τύπο ΜΗΧ = 2 (μεγ ΜΗΧ μικ 1 ΜΗΧ) 1 (μικ ΜΗΧ 1 (μεγ ΜΗΧ 1 STOP)) και αλφάβητο αμηχ = {μικ, μεγ, 2, 1, 1 } όπου 1 σημαίνει ρέστα 1 Ευρώ. Με τη μηχανή αυτή έρχεται σε αλληλεπίδραση ένας πελάτης, που επιθυμεί άλλοτε να αγοράζει μεγάλο καφέ με δύο Ευρώ (ρίχνοντας ένα νόμισμα των δύο Ευρώ ή δύο του ενός Ευρώ) και άλλοτε μικρό καφέ με ένα Ευρώ. Να περιγράψετε τον πελάτη και το αποτέλεσμα της αλληλεπίδρασής του με τη μηχανή. καφέ με ένα Ευρώ. 2
Άσκηση 6 Να γράψετε σε UML το διάγραμμα ακολουθίας για μια μηχανή πώλησης καφέ που λειτουργεί ως εξής: έχεται οποιοδήποτε ποσό, το οποίο ο πελάτης ρίχνει αρχικά στη μηχανή. Στη συνέχεια πατάει ένα κουμπί με το οποίο επιλέγει δύο είδη καφέ, εκ των οποίων το ένα κοστίζει ένα Ευρώ και το άλλο δύο Ευρώ. Εφόσον το ποσό που έχει ρίξει ο πελάτης είναι μεγαλύτερο από την τιμή του καφέ, η μηχανή κρατάει το αντίτιμο και επιστρέφει το υπόλοιπο στον πελάτη δίνοντας και τον κατάλληλο καφέ. ιαφορετικά επιστρέφει όλα τα χρήματα χωρίς να δώσει καφέ. Επί πλέον, αν ο πελάτης αργήσει πάνω από 30 sec να επιλέξει είδος καφέ, η μηχανή πάλι επιστρέφει τα χρήματα. Άσκηση 7 Ενα σύστημα με μια είσοδο και δυο εξόδους περιγράφεται κατά Hoare ως εξής: X = in?x out1!a out2!x X Να γράψετε προδιαγραφές για τα δύο κανάλια εξόδου, που θα δείχνουν ότι στο ένα εξ αυτών βγαίνουν τα εισερχόμενα σύμβολα, χωρίς να αποθηκεύεται πάνω από ένα σύμβολο, ενώ στο άλλο εμφανίζονται τόσα a, όσα σχεδόν είναι τα σύμβολα που έχουν μπει στο κανάλι εισόδου. Άσκηση 8 Να γράψετε μερικές ενδεικτικές δοκιμές καλής λειτουργίας για μια εφαρμογή που δέχεται δύο ακέραιους αριθμούς, το πολύ 10ψήφιους, και υπολογίζει το γινόμενό τους (το πολύ 20ψήφιο). Άσκηση 9 Να γράψετε μια ενδεικτική δοκιμή καλής λειτουργίας για τη μηχανή πώλησης καφέ του θέματος 10. Άσκηση 10 Να γράψετε σε γλώσσα SDL-GR τη μηχανή πώλησης καφέ που περιγράφεται στο παράδειγμα 15 (σελ. 113) του βιβλίου σας. Άσκηση 11 Να αναλύσετε τη λειτουργία του συστήματος που περιγράφεται σε SDL στα επόμενα Σχήματα 3 ως 6. Άσκηση 12 Να αλλάξετε τη λειτουργία του συστήματος που περιγράφεται σε SDL στα επόμενα Σχήματα 3 ως 6 έτσι ώστε η διαδικασία παραγωγής του σήματος Bump να υλοποιείται εσωτερικά στο σύστημα. 3
Σχήμα 3: Daemon Game Σχήμα 4: Block Game 4
Σχήμα 5: Process Monitor 5
Σχήμα 6: Process Game 6