Κεφάλαιο 3ο «Διαγράμματα Μετάβασης Κατάστασης» (State Transition Diagrams, STD)
Παράδειγμα Διαγράμματος Ροής Δεδομένων χωρίς έλεγχο Επεξεργάσου Επεξεργασμένη Θερμοκρασία από αισθητήρες Μετέτρεψε σε Κελσίου Θερμοκρασία Υπολόγισε χρόνο αντίδρασης Μετέτρεψε σε PSI Πίεση Χρόνος αντίδρασης Επεξεργασμένη πίεση Μετέτρεψε σε ω.λ.δ Χρόνος σε ω.λ.δ Μετέτρεψε σε ASCII Χρόνος σε ASCII Επεξεργάσου πίεση Πίεση από αισθητήρες
Διάγραμμα Ροής Δεδομένων του Συστήματος Συσκευασίας των Φακέλων Τσαγιού χωρίς την διαδικασία ελέγχου νέο βάρος φακέλου Επιδιωκόμενο βάρος φακέλων Άλλαξε βάρος φακέλου 6 βάρος φακέλου αίτηση αναφοράς αναφορά στατιστικών Ζύγισε φάκελο 1 Στατιστικές αναφορές φακέλων Φτιάξε στατιστική αναφορά 5 Καταμέτρηση φακέλων Απομάκρυνε φάκελο 4 θέση βραχίονα κινήσεις για απομάκρυνση φακέλου Έλεγξε πληρότητα κουτιού 2 Άλλαξε κουτί 3 κινήσεις για αλλαγή κουτιού
Διάγραμμα Μετάβασης Κατάστασης για το Σύστημα Συσκευασίας Φακέλων Τσαγιού ΑΝΕΝΕΡΓΟ Κατάσταση Μετάβαση Διακοπή D: Ζύγισε φάκελο D: Έλεγξε για γεμάτο κουτί Εκκίνηση Ε: Ζύγισε φάκελο Ε: Έλεγξε για γεμάτο κουτί Συνθήκη Ενέργεια ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΦΑΚΕΛΩΝ Φάκελος απομακρύνθηκε D: Απομάκρυνε φάκελο Λάθος βάρος Ε: Απομάκρυνε φάκελο Γεμάτο κουτί D: Ζύγισε φάκελο Ε: Άλλαξε κουτί Κουτί άλλαξε D: Άλλαξε κουτί Ε: Ζύγισε φάκελο ΑΠΟΜΑΚΡΥΝΣΗ ΦΑΚΕΛΟΥ ΑΛΛΑΓΗ ΚΟΥΤΙΟΥ
Διάγραμμα Ροής Δεδομένων του Συστήματος Συσκευασίας Φακέλων Τσαγιού με την διαδικασία ελέγχου νέο βάρος φακέλου βάρος φακέλου Επιδιωκόμενο βάρος φακέλων Άλλαξε βάρος φακέλου 6 αίτηση αναφοράς αναφορά στατιστικών Ζύγισε φάκελο 1 Στατιστικές αναφορές φακέλων Φτιάξε στατιστική αναφορά 5 Ε/D λάθος βάρος σταμάτα/ ξεκίνα Καταμέτρηση φακέλων Έλεγχος συσκευασίας φακέλων Ε/D 7 Απομάκρυνε φάκελο 4 γεμάτο κουτί Ε/D κινήσεις για απομάκρυνση φακέλου Ε/D ο φάκελος μεταφέρθηκε Διερεύνησε πληρότητα κουτιού 2 το κουτί άλλαξε θέση βραχίονα Άλλαξε κουτί 3 θέση βραχίονα κινήσεις για αλλαγή κουτιού
Παρόμοιες Καταστάσεις ΑΝΕΝΕΡΓΗ c1 Ε: DTA c2 Ε: DTB ΠΡΑΞΗ Α ΠΡΑΞΗ Β c5 D: DTC E: DTA c3 D: DTA E: DTC c4 D: DTB E: DTC c5 D: DTC E: DTB ΚΑΤΑΣΤΑΣΗ Χ * ΠΡΑΞΗ C * ΚΑΤΑΣΤΑΣΗ Y * ΠΡΑΞΗ C *
Αρχικές Καταστάσεις c A c A Κατάσταση 1 Κατάσταση 2 Κατάσταση 3 c A Καθάρισμα οθόνης Εμφάνιση οθόνης υποδοχής Οθόνη Υποδοχής c A Κατάσταση 2 Α) Χωρίς ενέργειες Β) Με ενέργειες
Τελική Κατάσταση ΚΑΤΑΣΤΑΣΗ 1 c A Δεν υπάρχει έξοδος ΤΕΛΙΚΗ ΚΑΤΑΣΤΑΣΗ c A c A ΚΑΤΑΣΤΑΣΗ 3
Ενέργεια προς Τερματιστή πολύ υψηλή Αντίδραση Ελέγχου Άναψε προειδοποιητικό λαμπάκι ΠΡΟΕΙΔΟΠΟΙΗΤΙΚΟ ΛΑΜΠΑΚΙ ΚΑΤΑΣΤΑΣΗ ΑΝΕΝΕΡΓΗ πολύ υψηλή Άναψε προειδοποιητικό λαμπάκι
Μετασχηματισμός Δεδομένων Διάρκειας Τύπος Α ΘΕΡΜΑΝΤΙΚΟ ΣΩΜΑ Θ.Σ. σε λειτουργία Παρακολούθησε Ε/D Θερμοκρασία επετεύχθη Έλεγξε
Συνεχείς Μετασχηματισμοί Δεδομένων: είδος Β ΠΑΙΧΤΗΣ κίνηση παίχτη Ανάμενε Κίνηση Ανθρώπου Ε/D αποδεκτή κίνηση Έλεγξε Παιχνίδι Σκακιού Σκακιέρα
Μετασχηματισμός Δεδομένων σε Ένα Βήμα (μηδενικού χρόνου-one shot) 1. Δεδομένα άμεσα διαθέσιμα 2. Μετ/σμός πεπερασμένου πλήθους εντολών ΠΑΙΚΤΗΣ Εμφάνιση σκακιέρας Εμφάνισε σκακιέρα Σ Έλεγξε παρτίδα σκακιού Σκακιέρα
Συνεχείς Μετασχηματισμοί Δεδομένων και Μετασχηματισμοί Δεδομένων Σε Ένα Βήμα ΜΔ1: Συνεχής Μετασχηματισμός Δεδομένων ΜΔ2: Μετασχηματισμός Δεδομένων Σε Ένα Βήμα ΑΝΕΝΕΡΓΗ ΚΑΤΑΣΤΑΣΗ O ΜΔ2 έχει ολοκληρωθεί πριν αυτό το σημείο σ1 E: ΜΔ1 T: ΜΔ2 ΕΚΤΕΛΕΙΤΑΙ O ΜΔ1 σ2 Α: ΜΔ1
Διακριτή Ενέργεια στη Διαδικασία Ελέγχου (ΣΗΜΑ-S) Έλεγξε αντίδραση Τέλος αντίδρασης Έλεγξε δεξαμενή ΑΝΤΙΔΡΑΣΗ ΓΕΜΑΤΗ ΔΕΞΑΜΕΝΗ Λήξη χρόνου αντίδρασης ΣΗΜΑ τέλος αντίδρασης Τέλος αντίδρασης
Συνεχής Ενέργεια στην Διαδικασία Ελέγχου (αληθές/ψευδές _ Raise/Lower-R/L) Έλεγξε Βαλβίδα Εισόδου ανοιχτή είσοδος Έλεγξε Βαλβίδα Εξόδου ΣΗΚΩΣΕ ανοιχτή είσοδος ανοιχτή είσοδος
Μεταβατική Κατάσταση Έλεγξε παρτίδα σκακιού Κίνηση δεκτή Κίνηση δεκτή T: Εκτίμησε κίνηση Σκακιέρα T Τέλος παιχνιδιού / όχι τέλος παιχνιδιού Εκτίμησε κίνηση Αποτέλεσμα Τέλος παιχνιδιού * Επέστρεψε σε ανενεργό κατάσταση * Όχι τέλος παιχνιδιού * Συνέχισε το παιχνίδι * 1. Μετά από μετ/σμό με σκανδαλισμό (μηδεν. χρόνου) 2. Σημεία λήψης αποφάσεων 3. Εμφανίζονται χωρίς όνομα
Παράδειγμα Χρήσης Αποθήκης Γεγονότος Έναρξη Αντίδρασης εξοπλισμός έτοιμος Αρχικοποίησε Εξοπλισμό ΑΝΕΝΕΡΓΗ ΚΑΤΑΣΤΑΣΗ αρχικοποίηση Ε: Αρχικοποίησε εξοπλισμό ΧΕΙΡΙΣΤΗΣ αρχικοποίησε Έλεγξε Σύστημα επιτεύχθηκε E/D E/D Θέρμανε στη ΕΚΚΙΝΗΣΗ ΕΞΟΠΛΙΣΜΟΥ εξοπλισμός έτοιμος D: Αρχικοποίησε εξοπλισμό ΑΝΕΜΕΝΕ εκκιν. αντίδρ. ΑΝΑΜΟΝΗ ΓΙΑ ΕΚΚΙΝΗΣΗ ΑΝΤΙΔΡΑΣΗΣ εκκίνηση αντίδρασης Ε: Θέρμανε στη
Κατασκευή Διαγράμματος STD DFD Υπάρχει; ΝΑΙ Ροές Γεγονότων από και πρός Διαδικασία Ελέγχου (Συνθήκες, ενέργειες) ΟΧΙ Ακολουθία λειτουργικής συμπεριφοράς συστήματος
Προκαταρκτικό Διάγραμμα Ροής Δεδομένων για Σύστημα Κεντρικής Θέρμανσης Έναρξη / διακοπή Λυχνία ένδειξης χαμηλής θερμ. on/off Ανέβασε Ενεργοποίηση θερμαντ. Σώμ. ΘΕΡΜΑΝΤΙΚΟ ΣΩΜΑ ΧΕΙΡΙΣΤΗΣ Επιθυμητή Θερμοκρασία Επιθυμητή Παρακολούθα Δέξου Επιθυμητή ΜΕΤΡΗΤΗΣ ΘΕΡΜΟΚΡΑΣΙΑΣ
ΔΡΔ για Σύστημα Κεντρικής Θέρμανσης με Διαδικασία Ελέγχου Λυχνία ένδειξης χαμηλής θερμ. on/off Start/stop Έλεγξε Θέρμανση Ενεργοποίηση θερμαντ. Σώμ. επίτευξη θερμ. ΘΕΡΜΑΝΤΙΚΟ ΣΩΜΑ ΧΕΙΡΙΣΤΗΣ Ε/Α Δέξου Επιθυμητή θερμοκρ. E/D Λήψη επιθυμητής θερμ. Ε/Α πολύ κρύο Παρακολούθα Αύξησε * Επιθυμητή * Επιθυμητή ΜΕΤΡΗΤΗΣ ΘΕΡΜΟΚΡΑΣΙΑΣ
ΔΜΚ του Συστήματος Κεντρικής Θέρμανσης ΑΝΕΝΕΡΓΟ Έναρξη Ε: Δέξου απαιτούμενη ΕΙΣΟΔΟΣ ΑΠΑΙΤΟΥΜΕΝΗΣ ΘΕΡΜΟΚΡΑΣΙΑΣ Λήψη απαιτούμενης ς D: Δέξου απαιτούμενη Άναψε ενδεικτ. λυχνία χ.θ. Ε: Ανέβασε Διακοπή D: Παρακολούθα ΘΕΡΜΑΝΣΗ Χαμηλή Θερμοκρ. D : Παρακολούθα Άναψε ενδεικτ. λυχνία χ.θ. Ε: Ανέβασε Επίτευξη απαιτούμενης ς D: Ανέβασε Σβήσε ενδεικτ. λυχνία χ.θ. Ε: Παρακολούθα ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΘΕΡΜΟΚΡΑΣΙΑ
ΚΑΤΑΣΚΕΥΗ STD ΧΩΡΙΣ DFD Αν υπάρχει DFD: Συσχετισμός συνθηκών/ενεργειών του STD με το DFD. Αν δεν υπάρχει DFD: Δημιουργία συνθηκών/ενεργειών έτσι ώστε το σύστημα να κάνει αυτό που θέλουμε. ΣΥΣΤΑΣΕΙΣ 1. Εκκίνηση από την Αρχική κατάσταση (Αδράνεια;) 2. Ακολουθία Λειτουργικής Συμπεριφοράς του Συστήμ. (συνθήκες, ενέργειες, καταστάσεις) 3. Μη προσκόλληση στην τυπικότητα του Διαγράμματος.
STD robot βαφής Αυτοκινήτου Από περιγραφή πελάτη Αυτοκίνητο κινείται μπροστά στο ρομπότ. Ρομπότ βάφει το αυτοκίνητο Ρομπότ σαρώνει αυτοκίνητο και ξαναβάφει σημεία που έχει παραλείψει. Ρομπότ δίνει ένδειξη ότι η βαφή τέλειωσε.
Αρχικό ΔΜΚ ελέγχου ρομπότ βαφής (εντοπισμός συνθηκών/ενεργειών) ΑΝΕΝΕΡΓΗ ΚΑΤΑΣΤΑΣΗ ΒΑΨΙΜΟ άφιξη αυτοκινήτου Έναρξη βαφής αυτοκίνητο βάφτηκε Τέλος βαφής Έναρξη σάρωσης αυτοκίνητο πλήρως βαμμένο Τέλος σάρωσης Ένδειξη ότι το βάψιμο τελείωσε αυτοκίνητο ρετουσαρίστηκε Τέλος ρετουσαρίσματος Έναρξη σάρωσης ΣΑΡΩΣΗ ΡΕΤΟΥΣΑΡΙΣΜΑ αυτοκίνητο όχι πλήρως βαμμένο Τέλος σάρωσης Έναρξη Ρετουσαρίσματος
Προκαταρκτικό Διάγραμμα Ροής Δεδομένων βαφέα-ρομπότ με Διαδικασία Ελέγχου Βάψε αυτοκίνητο Ολοκλήρωση βαφής(2) Ε/D Διόρθωση βαφής(5) Ε/D Διόρθωσε βάφή Άφιξη αυτοκινήτου(1) Ιμάντας μεταφοράς Αυτοκίνητο τέλειωσε Έλεγχος ρομπότ Ε/D Αυτοκίνητο όχι πλήρως βαμμένο(4) Αυτοκίνητο πλήρως βαμμένο(3) Εξέτασε αυτοκίνητο
Έλεγχος STD Συντακτικός : 1) Ονοματολογία, 2) Σύνδεση συμβόλων, 3)Αντιστοιχία συμπεριφοράς(std-dfd), 4)Κανόνες μετάβασης (από κατάσταση σε κατάσταση, είδη ενεργειών π.χ. E/D, T, κλπ). Λογικός: περιγράφεται το σωστό σύστημα; Ευκολία κατανόησης.
Σωστές Καταστάσεις και Μεταβάσεις ΕΙΣΑΓΩΓΗ ΝΕΑΣ ΚΙΝΗΣΗΣ αποδεκτή κίνηση ΕΙΣΑΓΩΓΗ ΝΕΑΣ ΚΙΝΗΣΗΣ αποδεκτή κίνηση Τ: Εμφάνιση σκακιέρας ΕΜΦΑΝΙΣΕ ΚΙΝΗΣΗ ΕΜΦΑΝΙΣΗ ΕΝΗΜΕΡΩΜΕΝΗΣ ΣΚΑΚΙΕΡΑΣ
Διάγραμμα Μετάβασης Κατάστασης με Επίπεδα Έλεγξε αντίδραση 1 Έλεγχος ς E/D Διατήρησε 2 Ε/D Πολύ ζέστη Έλεγξε 2.3 Πολύ κρύο παρακολούθα 2.4 Σωστή *Ε: Διατήρησε * Ε: Παρακολούθα Ε/D Ε/D Σωστή D: Μείωσε πολύ ζέστη Ε: Μείωσε ΨΥΞΗ ΣΤΑΘΕΡΗ ΘΕΡΜΟΚΡΑΣΙΑ Σωστή D: Αύξησε Πολύ κρύο Ε: Αύξησε ΘΕΡΜΑΝΣΗ Αύξησε 2.1 Ρύθμιση θερμότητας Ρύθμιση θερμότητας Μείωσε 2.2
Συγχώνευση Διαγραμμάτων Μετάβασης Κατάστασης Ζεστό ΑΝΑΜΟΝΗ ΓΙΑ ΑΥΤΟΚΙΝΗΤΟ Ζεστό D: Βάψιμο S: Διαδ. Σταματάει D: Σάρ. & ρετουσ. αυτ. S: Διαδικ. σταματάει. ΒΑΨΙΜΟ φτάνει αυτοκίνητο Ε: Βάψε αυτοκ. ΣΑΡΩΣΗ & ΡΕΤΟΥΣΑΡΙΣΜΑ βαφτ.πλήρως D: Σάρ. & Ρετ. αυτοκίνητο βάφτηκε Ε: Σάρ. & ρετουσάρ. αυτ. D: Βάψε αυτοκίνητο a) STD συστήματος βαψίματος Ε: Παρακολούθησε ΣΩΣΤΗ ΘΕΡΜΟΚΡΑΣΙΑ Υψηλή θερμ. Ε: Χαμήλωσε θερμ. R: Ζεστό ΥΨΗΛΗ ΘΕΡΜΟΚΡΑΣΙΑ b) STD συστήματος ελέγχου ς σωστή θερμ. D: Χαμήλωσε θ. L: Ζεστό
Συνδυασμένο Διάγραμμα Μετάβασης Κατάστασης του Ρομπότ-Βαφέα και Ελεγκτή Θερμοκρασίας Ε: Παρακολούθα Σωστή D: Κατέβασε ΑΝΑΜΟΝΗ ΓΙΑ ΑΥΤΟΚΙΝΗΤΟ Πολύ ζεστό E: κατέβασε Άφιξη αυτοκινήτου Ε: Βάψε αυτοκίνητο Αυτοκίνητο πλήρως βαμμένο D: Εξέτασε και ξαναβάψε αυτοκίνητο Πολύ ζεστό D: Εξέτασε και ξαναβάψε αυτοκίνητο Σ: αυτοκίνητο εγκαταλείφθηκε ΥΨΗΛΗ ΘΕΡΜΟΚΡΑΣΙΑ ΒΑΨΙΜΟ ΑΥΤΟΚΙΝΗΤΟΥ Πολύ ζεστό D: Βάψε αυτοκίνητο Σ: αυτοκίνητο εγκαταλείφθηκε ΕΞΕΤΑΣΗ ΚΑΙ ΞΑΝΑΒΑΨΙΜΟ ΑΥΤΟΚΙΝΗΤΟΥ Αυτοκίνητο βάφτηκε D: Βάψε αυτοκίνητο Ε: Εξέτασε και ξαναβάψε αυτοκίνητο
Ένα Άλλο Διάγραμμα Μετάβασης Κατάστασης για Βάψιμο Αυτοκινήτου ΑΝΕΝΕΡΓΗ ΚΑΤΑΣΤΑΣΗ άφιξη αυτοκινήτου Ε: τοποθέτηση βραχίονα ΤΟΠΟΘΕΤΗΣΗ ΒΡΑΧΙΟΝΑ βραχίονας τοποθετημένος D: Τοποθέτηση βραχίονα Ε: Κίνηση βαψίματος Ε: Βάψιμο αυτοκινήτου ΒΑΨΙΜΟ ΑΥΤΟΚΙΝΗΤΟΥ αυτοκίνητο βάφτηκε D: Κίνηση βαψίματος D: Βάψιμο αυτοκινήτου Ε: Σάρωση ΣΑΡΩΣΗ ΑΥΤΟΚΙΝΗΤΟΥ αυτοκ. βαμμένο πλήρως D: Σάρωση S: Αυτοκίνητο έτοιμο άβαφα σημεία D: Σάρωση Ε: Κίνηση ρετουσαρίσματος Ε: Βάψιμο αυτοκινήτου ΡΕΤΟΥΣΑΡΙΣΜΑ ΑΥΤΟΚΙΝΗΤΟΥ αυτοκίνητο βαμμένο πλήρως D: Κίνηση ρετουσαρίσματος D: Βάψιμο αυτοκινήτου S: Αυτοκίνητο έτοιμο
Ξεχωριστά Διάγραμμα Μετάβασης Κατάστασης με/χωρίς την Κίνηση του Ρομπότ Όλα έτοιμα S: έτοιμο αυτοκίνητο ΑΝΕΝΕΡΓΟ Άφιξη αυτοκινήτου Ε: Τοποθέτησε βραχίονα ΤΟΠΟΘΕΤΗΣΗ ΒΡΑΧΙΟΝΑ Βραχίονας σε θέση D: Τοποθέτησε βραχίονα Ε: κίνηση βαψίματος ΒΑΨΙΜΟ ΑΥΤΟΚΙΝΗΤΟΥ Αυτοκίνητο βάφτηκε D: κίνηση βαψίματος ΕΞΕΤΑΣΗ ΑΥΤΟΚΙΝΗΤΟΥ ΞΑΝΑΒΑΨΙΜΟ ΑΥΤΟΚΙΝΗΤΟΥ Αυτοκίνητο πλήρως βαμμένο D: κινήσεις ξαναβαψίματος S: έτοιμο αυτοκίνητο Άβαφα τμήματα Ε: κίνηση ξαναβαψίματος Όλα έτοιμα D: εξέτασε αυτοκίνητο ΑΝΕΝΕΡΓΟ Βραχίονας σε θέση Ε: βάψε αυτοκίνητο ΒΑΨΙΜΟ ΑΥΤΟΚΙΝΗΤΟΥ Αυτοκίνητο βάφτηκε D: βάψε αυτοκίνητο Ε: εξέτασε αυτοκίνητο ΕΞΕΤΑΣΗ ΑΥΤΟΚΙΝΗΤΟΥ Άβαφα τμήματα D: εξέτασε αυτοκίνητο Ε: βάψε αυτοκίνητο ΞΑΝΑΒΑΨΙΜΟ ΑΥΤΟΚΙΝΗΤΟΥ Αυτ/το πλήρως βαμμένο D: βάψε αυτοκίνητο
Προσθήκη flags στο Διάγραμμα Μετάβασης Κατάστασης (α) ΑΝΕΝΕΡΓΗ ΚΑΤΑΣΤΑΣΗ άφιξη αυτοκινήτου Ε: τοποθέτηση βραχίονα ΤΟΠΟΘΕΤΗΣΗ ΒΡΑΧΙΟΝΑ βραχίονας τοποθετημένος D: Τοποθέτηση βραχίονα Ε: Κίνηση βαψίματος S: Σε θέση για βάψιμο ΒΑΨΙΜΟ ΑΥΤΟΚΙΝΗΤΟΥ αυτοκίνητο βάφτηκε D: Κίνηση βαψίματος S: Τέλος βαψίματος αυτοκίνητο βαμμένο πλήρως D: Κίνηση ρετουσαρίσματος S: Τέλος ρετουσαρίσματος S: Αυτοκίνητο έτοιμο ΣΑΡΩΣΗ ΑΥΤΟΚΙΝΗΤΟΥ δεν απαιτείται ρετούς S: Αυτοκίνητο έτοιμο απαιτείται ρετουσάρισμα Ε: Κίνηση ρετουσαρίσματος ΡΕΤΟΥΣΑΡΙΣΜΑ ΑΥΤΟΚΙΝΗΤΟΥ
Προσθήκη flags στο Διάγραμμα Μετάβασης Κατάστασης (β) ΑΝΕΝΕΡΓΗ ΚΑΤΑΣΤΑΣΗ ΒΑΨΙΜΟ ΑΥΤΟΚΙΝΗΤΟΥ πλήρως βαμμένο S: Δεν απαιτ. ρετούς άφιξη αυτοκινήτου Ε: τοποθέτηση βραχίονα τέλος βαψίματος D: Βάψιμο αυτοκινήτου Ε: Σάρωση αυτοκινήτου ΣΑΡΩΣΗ ΑΥΤΟΚΙΝΗΤΟΥ άβαφα σημεία D: Σάρωση αυτοκινήτου Ε: Βάψιμο αυτοκινήτου S: Απαιτείται ρετουσάρισμα ΡΕΤΟΥΣΑΡΙΣΜΑ ΑΥΤΟΚΙΝΗΤΟΥ τέλος ρετουσαρίσματος D: Βάψιμο αυτοκινήτου