Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Βιβλίο Γενεθλίων Λειτουργίες: Προσθήκη, Εύρεση, Υπενθύμιση, Αρχικοποίηση.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Βιβλίο Γενεθλίων Λειτουργίες: Προσθήκη, Εύρεση, Υπενθύμιση, Αρχικοποίηση."— Μεταγράφημα παρουσίασης:

1 Βιβλίο Γενεθλίων Λειτουργίες: Προσθήκη, Εύρεση, Υπενθύμιση, Αρχικοποίηση

2 Βασικοί τύποι: [ΝΑΜΕ] [DATE] Η ακριβής μορφή ονομάτων και ημερομηνιών δεν ενδιαφέρει (06/03, 03/06, March 6th etc) Καθορισμός βοηθητικών τύπων και συναρτήσεων

3 Καθορισμός κατάστασης του συστήματος με σχήμα Z Όνομα σχήματος Κατάσταση συστήματος (μεταβλητές δηλωμένων τύπων) Σχέσεις μεταξύ τιμών των μεταβλητών (παραμένουν αληθείς σε όλες τις Καταστάσεις και διατηρούνται από όλες τις λειτουργίες) known είναι το δυναμοσύνολο των ονομάτων με αποθηκευμένες ημερομηνίες birthday είναι μία μερική συνάρτηση που αντιστοιχείζει ορισμένα ονόματα στις αντίστοιχες ημερομηνίες γέννησης Η σχέση μεταξύ known και birthday είναι η αναλλοίωτη συνθήκη του συστήματος: το σύνολο known αντιστοιχεί στο πεδίο ορισμού (dom) της συνάρτησης birthday

4 Πιθανή κατάσταση του συστήματος known = {Susy, Mike, John} birthday = {John 25 March, Susy 20 Dec, Mike 20 Dec } H αναλλοίωτη συνθήκη known = dom birthday ισχύει. δεν υπάρχει όριο στον αριθμό των αποθηκευμένων ημερομηνιών δεν περιγράφεται η σειρά των καταχωρήσεων κάθε άτομο έχει μόνο μία ημερομηνία γενεθλίων (η birthday είναι συνάρτηση) δύο άτομα μπορούν να έχουν την ίδια ημερομηνία γενεθλίων

5 Καθορισμός των λειτουργιών του συστήματος Ορισμένες λειτουργίες τροποποιούν την κατάσταση του συστήματος και άλλες την αφήνουν αναλλοίωτη Ορισμένες λειτουργίες έχουν είσοδο και/ή έξοδο

6 Προσθήκη της ημερομηνίας γενεθλίων ενός ατόμου το οποίο δεν βρίσκεται στο βιβλίο Αυτό το σχήμα τροποποιεί την κατάσταση: - περιγράφει την κατάσταση πριν τη λειτουργία (μη τονισμένες μεταβλητές) - περιγράφει την κατάσταση μετά τη λειτουργία (τονισμένες μεταβλητές) - Σε αυτό το σχήμα δεν περιγράφεται τι θα γίνει αν δεν πληρείται η προ-συνθήκη Όνομα λειτουργίας (σχήμα) εισαγωγή σχήματος είσοδος λειτουργίας προ-συνθήκη επέκταση της συνάρτησης (αν η προ-συνθήκη πληρείται)

7 Προσθήκη της ημερομηνίας γενεθλίων ενός ατόμου το οποίο δεν βρίσκεται στο βιβλίο Η λειτουργία AddBirthday αναμένεται να επεκτείνει το σύνολο των γνωστών ονομάτων με το νέο όνομα: known’ = known  {name ?} Η προδιαγραφή για την AddBirthday μπορεί να χρησιμοποιηθεί για να αποδειχθεί η παραπάνω πρόταση: Η απόδειξη τέτοιων προτάσεων εξασφαλίζει ότι οι προδιαγραφές είναι ορθές Σε μεγάλο βαθμό η συμπεριφορά του συστήματος μπορεί να αναλυθεί χωρίς αυτό να υλοποιηθεί !

8 Εύρεση της ημερομηνίας γενεθλίων ενός ατόμου γνωστού στο σύστημα Αυτό το σχήμα αφήνει την κατάσταση του συστήματος αναλλοίωτη και είναι ισοδύναμο με:

9 Εύρεση του ποιος έχει γενέθλια σε μία συγκεκριμένη ημέρα Αρχική κατάσταση του συστήματος: cards! είναι ένα σύνολο ονομάτων (στους οποίους πρέπει να σταλεί κάρτα !!!) known =  υποδηλώνει ότι η birthday είναι επίσης κενή

10 Links for Z language: The Z Notation: A reference manual http://spivey.oriel.ox.ac.uk/~mike/zrm/ Example and Definitions http://cs.haifa.ac.il/courses/softe/zdocs/ZExamples.pdf One Line Editor example http://sern.ucalgary.ca/courses/SENG/611/F01/FormalSpecs.html http://sern.ucalgary.ca/courses/SENG/611/F01/FormalSpecs.html The Z Notation (Oxford) http://archive.comlab.ox.ac.uk/z.html Community Z Tools Project (Sourceforge) http://czt.sourceforge.net/ Z Notation Examples http://staff.washington.edu/~jon/z/z-examples.html Introduction to Z http://www.cs.wm.edu/~coppit/csci435/references/spivey-intro-to-z.pdf


Κατέβασμα ppt "Βιβλίο Γενεθλίων Λειτουργίες: Προσθήκη, Εύρεση, Υπενθύμιση, Αρχικοποίηση."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google