ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων Εαρινό Εξάμηνο 2012. Φροντιστήριο 8. Φύλλο Ασκήσεων UPPAAL - 1



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

Πρακτικό εργαλείο. για την ταυτοποίηση πρώτου επιπέδου των θυμάτων παράνομης διακίνησης και εμπορίας. τη σεξουαλική εκμετάλλευση

Το ολοκαύτωμα της Κάσου

Όμιλος Λογοτεχνίας. Δράκογλου Αναστασία, Κιννά Πασχαλίνα

Το Ευρωπαϊκό Κοινοβούλιο αποτελεί την άμεσα εκλεγμένη δημοκρατική έκφραση της πολιτικής βούλησης των λαών της Ευρώπης.

ΕΘΙΜΑ ΤΟΥ ΚΟΣΜΟΥ. Αγγελική Περιστέρη Α 2

Σεπτέμβριος 2011: Εφημερίδα μηνός Αυγούστου, έκδ. 34 η

Kεντρικός συντονισμός πολιτικών, μόνιμοι υφυπουργοί, μείωση ειδικών συμβούλων, κατάργηση αναπληρωτών.

ΕΠΙΧΕΙΡΗΜΑΤΟΛΟΓΩ ΥΠΕΡ Η ΚΑΤΑ ΤΗΣ ΧΡΗΣΗΣ ΤΩΝ ΣΥΜΒΑΤΙΚΩΝ ΤΖΑΚΙΩΝ ΚΑΙ ΤΗΣ ΚΑΥΣΗΣ ΞΥΛΕΙΑΣ ΓΙΑ ΟΙΚΙΑΚΉ ΘΕΡΜΑΝΣΗ

Η ΔΙΑΘΕΜΑΤΙΚΗ ΤΗΣ ΔΙΑΘΕΜΑΤΙΚΗΣ

ΣΧΟΛΙΚΟ ΕΤΟΣ

ΓΙΩΡΓΟΣ ΜΠΛΑΝΑΣ ΓΙΑ ΤΟΝ ΑΝΑΡΧΙΣΜΟ

ΜΗΝΙΑΙΟ ΕΛΤΙΟ ΙΟΥΝΙΟΥ 2007

ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΙΚΟ ΣΗΜΕΙΩΜΑ 13 Α' ΜΕΡΟΣ ΑΠΟ ΤΟΝ ΠΟΛΕΜΟ ΤΟΥ 1897 ΣΤΟ ΓΟΥΔΙ

Οι 21 όροι του Λένιν

Υπάρχουν κάποιες στιγμές στην Ιστορία όπου φαίνεται πως οι άνθρωποι σε όλο

Ο συγγραφέας χρησιμοποιεί συνδυασμό μεθόδων για την ανάπτυξη της έβδομης παραγράφου.

Σε ποιες κατηγορίες μειώνεται η σύνταξη από 1/1/2009 (σε εφαρμογή του Ν.3655/2008)

ΠΕΡΙΦΕΡΕΙΑΚΗ ΕΦΟΡΕΙΑ ΑΘΗΝΩΝ. Αθήνα, 19 Ιανουαρίου 2015 Α ΝΑΚΟΙΝΩΣΗ 3/15. ΠΡΟΣ : Όλους τους Βαθμοφόρους της Αθήνας ΚΟΙΝΟΠΟΙΗΣΗ :

Υποψήφιοι Σχολικοί Σύμβουλοι

Δαλιάνη Δήμητρα Λίζας Δημήτρης Μπακομήτρου Ελευθερία Ντουφεξιάδης Βαγγέλης

Ομιλία του Υφυπουργού Ανάπτυξης κου Θανάση Σκορδά στο CapitalVision 2012

Ο αρτινός συγγραφέας Γιάννης Καλπούζος, μιλάει στην «Γ», με την ευκαιρία της έκδοσης του νέου του βιβλίου

Η Ψυχοπαθολογία του Πολιτικού Του Φ.Μωρόγιαννη *

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

Τοποθέτηση Δημάρχου Γ. Πατούλη. για τεχνικό πρόγραμμα 2010

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

Ευρετήριο πινάκων. Ασκήσεις και υπομνήματα

5 η Ενότητα Κουλτούρα και στρατηγική

Α. ΟΡΓΑΝΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΕΦΑΡΜΟΓΗΣ

Σοφία Γιουρούκου, Ψυχολόγος Συνθετική Ψυχοθεραπεύτρια

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

Ασυντήρητες και επικίνδυνες οικοδομές

ΧΙΙΙ Επιτροπή Εκπαιδευτικής Υπηρεσίας

ΕΚΦΡΑΣΗ-ΕΚΘΕΣΗ Β ΛΥΚΕΙΟΥ 1 ο Λύκειο Καισαριανής ΕΠΑΓΓΕΛΜΑ: Κείμενα Προβληματισμού

ΔΕΛΤΙΟ ΤΥΠΟΥ. Ελλείψεις στο φορολογικό νομοσχέδιο. Σοβαρές ελλείψεις στη νέα μορφή του φορολογικού νομοσχεδίου

Ο αθλητισμός εμπνέεται από την ειρήνη. Η ειρήνη εμπνέεται από τον αθλητισμό.

Ο αναλφαβητισμός ως σύγχρονο πρόβλημα

Συνοπτική Παρουσίαση. Ελλάδα

ΚΕΦΑΛΑΙΟ 3 ο ΤΟ ΜΕΛΛΟΝ ΤΗΣ ΕΥΡΩΠΑΪΚΗΣ ΕΝΩΣΗΣ. 3.1 Εισαγωγή

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

Οι ιοί και οι ιογενείς λοιμώξεις του αναπνευστικού συστήματος στα παιδιά

Έλλειψη εσωτερικής ελευθερίας

ΜΗ ΤΥΠΙΚΟΤΗΤΑ ΚΑΙ ΜΗ ΠΡΑΓΜΑΤΙΚΟΤΗΤΑ ΣΤΙΣ ΑΓΟΡΕΣ

ΤΕΙ ΚΑΛΑΜΑΤΑΣ. ΑΡΓΥΡΗ ΔΗΜΗΤΡΑ Σχολής Διοίκησης και Οικονομίας Τμήμα Χρηματοοικονομικής και Ελεγκτικής Επιστήμης Εισηγητής :Λυγγίτσος Αλέξανδρος

Παραμονή Παγκόσμιας Ημέρας Αντικαταναλωτισμού*, 28 Νοεμβρίου 2008

μέρους του και εξυπηρέτηση του υπόλοιπου με ρήτρα ανάπτυξης και απασχόλησης Με επαρκή φορολόγηση του πλούτου, των μεγάλων περιουσιών και εισοδημάτων

289 ον Σύστημα Αεροπροσκόπων Αγίας Φύλας ΟΜΑΔΑ ΠΡΟΣΚΟΠΩΝ ΕΓΧΕΙΡΙΔΙΟ ΧΑΛΚΙΝΟΥ ΤΡΙΦΥΛΛΟΥ

Το σύμπαν μέσα στο οποίο αναδύεστε

Πρόγραμμα Κοινωνικών Δεξιοτήτων Δεκεμβρίου

ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΑΣ «ΚΑΤΟΙΚΙΔΙΑ ΖΩΑ»

ΑΝΑΚΥΚΛΩΣΗ ΤΗΓΑΝΕΛΑΙΟΥ ΓΙΑΤΙ - ΠΩΣ - ΠΟΤΕ

ΔΙΑΔΟΣΗ ΘΕΡΜΟΤΗΤΑΣ Φυσική Β' Γυμνασίου. Επιμέλεια: Ιωάννης Γιαμνιαδάκης

ΠΑΡΟΥΣΙΑΣΗ ΚΑΙ ΚΡΙΤΙΚΗ ΒΙΒΑΙΟΥ

Μια εργασία των μαθητών της Δ τάξης. Νεφέλης Ασπρίδου. Ισαάκ Βενουζίου. Παναγιώτη Μάρκου Αναγνωστόπουλου. με τη βοήθεια συμμετοχή του δασκάλου τους

Παγκόσμια Ημέρα Ψυχικής Υγείας

Ηλεκτρικό φορτίο Ηλεκτρική δύναμη

Ατομικό ιστορικό νηπίου

ΟΡΓΑΝΩΣΗ ΕΝΟΤΗΤΩΝ Α ΤΑΞΗΣ ΕΝΟΤΗΤΑ 3

Φάλουν Ντάφα ιαλέξεις πάνω στον Νόµο του Φο ιαλέξεις στις Ηνωµένες Πολιτείες

ΣΥΝΤΟΝΙΣΤΕΣ ΟΜΑΔΑΣ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ: ΟΜΑΔΑ PROJECT ΑΝΘΡΩΠΙΣΤΙΚΕΣ ΕΠΙΣΤΗΜΕΣ:

Εσωτερικοί Κανονισμοί Τοπικής Αυτοδιοίκησης

Το ρολόι που κρατάς στα χέρια σου κρύβει ένα μυστικό: το μυστικό της κόκκινης ομάδας. Αν είσαι αρκετά τολμηρός, μπορείς κι εσύ να ενημερωθείς για τα

γραμματισμό των νηπίων

ΠΡΟΒΛΗΜΑΤΑ ΤΗΣ ΔΗΜΟΣΙΑΣ ΖΩΗΣ, ΜΙΑ ΨΥΧΑΝΑΛΥΤΙΚΗ ΠΡΟΣΕΓΓΙΣΗ

ΕΞΩΣΧΟΛΙΚΟ ΛΟΓΟΤΕΧΝΙΚΟ ΑΝΑΓΝΩΣΜΑ. Νικόστρατος Ένα ξεχωριστό καλοκαίρι. Κωνσταντίνα Αντωνοπούλου Α2 Γυμνασίου

ΓΙΑ ΝΑ ΠΝΙΞΕΙΣ ΤΟ ΦΙΔΙ ΔΕΝ ΑΡΚΕΙ ΝΑ ΤΣΑΚΙΣΕΙΣ ΤΑ (ΧΡΥΣΑ) ΑΥΓΑ ΤΟΥ

Μια «γριά» νέα. Εύα Παπώτη

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

Διδάγματα από την Επανάσταση του Αξίες για μια Δημιουργική Κύπρο

Το συνέδριο σας πραγματοποιείται σε μια εξαιρετικά δύσκολη συγκυρία για τον τόπο, την οικονομία της χώρας, την κοινωνία και τον κόσμο της εργασίας.

ΣΥΝΕΝΤΕΥΞΗ ΤΥΠΟΥ. Η ολοκληρωμένη προσέγγιση θα εφαρμοστεί με τα παρακάτω Εργαλεία

Η ΨΥΧΗ ΚΑΙ Ο ΘΑΝΑΤΟΣ ( 1 )

Καλωσόρισμα επισήμων. Κυρίες και κύριοι,

ΙΙ. ΤΟ ΒΑΡΟΣ ΤΗΣ ΑΠΟΔΕΙΞΗΣ

ΙΕΘΝΗΣ ΣΥΜΒΑΣΗ ΕΡΓΑΣΙΑΣ 183 «για την αναθεώρηση της (αναθεωρηµένης) σύµβασης για την προστασία της µητρότητας,»

ΕΡΩΤΗΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΑΡΧΕΣ Ι ΙΩΤΙΚΟΥ ΑΣΤΙΚΟΥ ΙΚΑΙΟΥ

Κεφάλαιο 4 ο Η αριστοτελική φυσική

ΑΝΑΝΕΩΣΙΜΕΣ ΠΗΓΕΣ ΕΝΕΡΓΕΙΑΣ (Α.Π.Ε)

Εργαστηριακή εξάσκηση στις διαταραχές της κίνησης και της οπτικής αντίληψης. Διδάσκων :Α.Β.Καραπέτσας

Από το ξεκίνημά του ο ΤΙΤΑΝ εκφράζει

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

Αυτός που δεν μπορεί να δει τα μικρά πράγματα είναι τυφλός και για τα μεγαλύτερα. (Κομφούκιος, πχ)

Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών

Η ιστορία της Εκκλησίας ενδιαφέρει όχι μόνο τα μέλη της αλλά και κάθε άνθρωπο που επιθυμεί να γνωρίσει τα διάφορα πνευματικά ρεύματα που διαμόρφωσαν

ΑΡΧΑΙΑ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ 26/5/2010

Πολιτιστικό Πρόγραμμα «Παπούτσια πολλά παπούτσια.»

Προδημοσιεύτηκαν τα τέσσερις πρώτα προγράμματα του νέου ΕΣΠΑ που αφορούν

...ακολουθώντας τη ροή... ένα ημερολόγιο εμψύχωσης

Οι Πνευματικές Δυνάμεις στο Σύμπαν

Απώλεια και μετασχηματισμοί της τραυματικής εμπειρίας. Παντελής Παπαδόπουλος

ΚΕΦ. 1 Η ΛΟΓΙΣΤΙΚΗ ΚΑΙ Η ΣΗΜΑΣΙΑ ΤΗΣ ΣΤΙΣ ΕΠΙΧΕΙΡΗΣΕΙΣ

Στεκόμαστε αλληλέγγυοι σ όσους, ατομικά ή συλλογικά επανακτούν αυτά που νόμιμα μας κλέβουν οι εξουσιαστές.

Χημεία Β Γυμνασίου Τμήμα Β3. Γρηγόρης Μαγουλάς Φανή Μανούσου Κύρος Μαλλαμίδης Ελίνα Μάλλιαρη Μάγδα Μαντά

Κύριες συντάξεις - άθλια προνοιακά φιλοδωρήματα ΣΕΛΙΔΑ 2. Θα πετσοκόψουν άμεσα και τις καταβαλλόμενες σήμερα συντάξεις ΣΕΛΙΔΑ 3

Πρότυπο Σχέδιο Δράσης για τα Συμβούλια Ένταξης Μεταναστών

ΑΥΓΟΥΣΤΟΣ 2008 ΥΠΟΜΝΗΜΑ ΤΗΣ ΚΕΝΤΡΙΚΗΣ ΕΝΩΣΗΣ ΕΠΙΜΕΛΗΤΗΡΙΩΝ ΕΛΛΑΔΟΣ ΑΡΧΗΓΟ ΤΗΣ ΑΞΙΩΜΑΤΙΚΗΣ ΑΝΤΙΠΟΛΙΤΕΥΣΗΣ ΚΑΙ ΠΡΟΕΔΡΟ ΤΟΥ ΠΑΣΟΚ

KATATAΞH APΘPΩN. 6. Αρχές της προσφοράς και προμήθειας, ανθρώπινων ιστών και/ ή κυττάρων

Η πιθανότητα της Φαουστίνας Μερσέντες (ή γιατί η πολιτική βία είναι πάντοτε φασιστική)

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

Transcript:

Φροντιστήριο 8 Φύλλο Ασκήσεων UPPAAL - 1 Για του σκοπούς του εργαστηρίου θα χρησιμοποιήσουμε το πρόβλημα του καταστήματος εργασιών, όπως αυτό περιγράφεται το βιβλίο του R. Milner, Communication and Concurrency, Prentice-Hall International, Englewood Cliffs, 1989. Θεωρήστε ότι δύο άνθρωποι μοιράζονται τη χρήση δύο εργαλείων (ενός σφυριού και μιας σφύρας) για να κατασκευάσουν αντικείμενα από απλά συστατικά. Κάθε αντικείμενο δημιουργείται με το να οδηγήσουμε ένα στύλο σε μια βάση. Έστω ότι ένα ζεύγος ενός στύλου και μιας βάσης ονομάζεται εργασία. Οι εργασίες καταφτάνουν σειριακά σε μια ζώνη μεταφοράς και τα ολοκληρωμένα αντικείμενα φεύγουν από μια ζώνη μεταφοράς. Το κατάστημα εργασιών θα μπορούσε να εργοδοτεί οποιοδήποτε αριθμό ανθρώπων (οι οποίοι θα ονομάζονται εργάτες), και οι οποίοι θα μοιράζονταν περισσότερα ή λιγότερα εργαλεία. Σε αυτή τη φάση, ας θεωρήσουμε ότι το κατάστημα εργασιών εργοδοτεί 2 εργάτες και έχει ένα σφυρί και μία σφύρα. Για να γίνει το παράδειγμα πιο συγκεκριμένο, θα θεωρήσουμε ότι η φύση της εργασίας επηρεάζει τις ενέργειες του εργάτη με κάποιο συγκεκριμένο τρόπο: Υποθέστε ότι ο εργάτης θα μπορεί να εκτελέσει εύκολες, δύσκολες ή μεσαίας δυσκολίας εργασίες. Οι εύκολες εργασίες εκτελούνται με τα χέρια, οι δύσκολες εργασίες με το σφυρί και οι άλλες εργασίες είτε με το σφυρί είτε με τη σφύρα.

Κατεβάστε το εργαλείο UPPAAL από τη διεύθυνση www.uppaal.org και κάνετε unzip τα περιεχόμενα του αρχείου. Πατώντας στο αρχείο uppaal.jar ξεκινά η εφαρμογή. The System Editor Θα σχεδιάσουμε το μοντέλο του εργάτη. Στο πεδίο Name αντικαταστήστε το Template με το όνομα του μοντέλου σας, έστω Jobber, και σχεδιάστε το πιο κάτω αυτόματο.

Αφού έχετε κατασκευάσει το πιο πάνω αυτόματο, το μοντέλο σας είναι σχεδόν έτοιμο. Πατήστε στο System declarations που βρίσκεται στο αριστερό παράθυρο. Παρατηρούμε μια οθόνη στην οποία μπορούμε να παραθέσουμε όλα τα αυτόματα του μοντέλου. Όπως έχουμε αναφέρει, στο πρόβλημά μας θα έχουμε δύο εργάτες και γι αυτό δημιουργούμε δύο περιπτώσεις Jobber. Έτσι το μοντέλο μας αποτελείται από δύο αυτόματα τα οποία τρέχουν παράλληλα. Με τη χρήση του πλήκτρου F7 μπορούμε να ελέγξουμε για συντακτικά λάθη. The Simulator Αφού το μοντέλο είναι συντακτικώς ορθό τότε μπορούμε να το προσομοιώσουμε, δηλαδή, να ελέγξουμε το χώρο καταστάσεών του βήμα προς βήμα. Αυτό γίνεται με το να επιλέξουμε το tab Simulator. Προσομοιώνουμε το μοντέλο επιλέγοντας την αντίστοιχη μετάβαση ή αφήνουμε τον προσομοιωτή να εκτελέσει τυχαίες μεταβάσεις. Χρησιμοποιώντας τον προσομοιωτή εντοπίστε ένα μονοπάτι που αντιβαίνει τις αρχικές προδιαγραφές του προβλήματος.

Κανάλια Για να διορθώσουμε το πιο πάνω πρόβλημα που έχουμε εντοπίσει, θα χρησιμοποιήσουμε κανάλια. Για να μοντελοποιήσουμε τον συγχρονισμό μεταξύ των εργατών και των εργαλείων θα χρησιμοποιήσουμε κανάλια. Όταν το get_hammer οριστεί ως κανάλι, τότε οι μεταβάσεις μπορούν να πάρουν τα labels get_hammer! και get_hammer?. Για να δημιουργήσουμε τα κανάλια πατούμε στο (global) project Declarations στον System Editor και προσθέτουμε τα ακόλουθα: // Place global declarations here. chan get_hammer, put_hammer, get_mallet, put_mallet; Αλλάξτε το μοντέλο του εργάτη, έτσι ώστε να γίνει όπως την εικόνα που ακολουθεί. Για να βάλουμε ένα κανάλι στο αυτόματο κάνουμε double click σε μια ακμή και γράφουμε get_hammer! ή get_hammer? στο πεδίο Sync. Χρησιμοποιώντας τον προσομοιωτή παρατηρήστε κατά πόσο οι δύο εργάτες μπορούν να δουλέψουν με το ίδιο εργαλείο. Πιο πρόβλημα έχει δημιουργηθεί τώρα; Μια μετάβαση get_hammer! ή get_hammer? δεν μπορεί ποτέ να εκτελεστεί από μόνη της. Η get_hammer! θα πρέπει να συγχρονίσει με την get_hammer? και αντίστροφα. Για να διορθώσουμε το πιο πρόβλημα του deadlock που έχουμε εντοπίσει θα δημιουργήσουμε ξεχωριστά πρότυπα τόσο για το σφυρί όσο και για τη σφύρα. Για κάθε ένα από τα δύο εργαλεία θα έχουμε δύο locations: ελεύθερο ή κρατημένο. Δημιουργήστε τα πιο κάτω μοντέλα για το σφυρί και τη σφύρα πηγαίνοντας στο Edit->Insert Template και στη συνέχεια προσθέστε τα νέα αυτόματα στο System declarations.

Χρησιμοποιήστε τον προσομοιωτή για να πείσετε τους εαυτούς σας ότι το μοντέλο συμπεριφέρεται όπως θα έπρεπε σύμφωνα με τις αρχικές προδιαγραφές. The verifier Queries Μέσω του Verifier μπορούμε να καθορίσουμε Queries, δηλαδή ιδιότητες τις οποίες θέλουμε να ελέγξουμε κατά πόσο ευσταθούν ή όχι σε κάποιο μοντέλο. Αυτό επιτυγχάνεται με εξαντλητική εξερεύνηση σε όλο το χώρο των καταστάσεων. Diagnostic traces Στην περίπτωση που θέλουμε να δούμε κατά πόσο υπάρχει κατάσταση στην οποία ο ένας εργάτης εργάζεται σε μια μεσαίας δυσκολίας εργασία χρησιμοποιώντας τη σφύρα και ο άλλος

εργάτης εργάζεται σε μια μεσαίας δυσκολίας εργασία χρησιμοποιώντας το σφυρί θα έχουμε την πιο κάτω ιδιότητα: E<> (Jobber1.work_av_mallet && Jobber2.work_av_hammer) Η απάντηση του UPPAAL είναι Property is satisfied. Το UPPAAL πέραν της απάντησης κατά πόσο η πιο πάνω ιδιότητα ισχύει μπορεί να μας δώσει και ένα μονοπάτι το οποίο οδηγεί στην κατάσταση στην οποία ικανοποιείται η ιδιότητα. Το UPPAAL μπορεί να δώσει ένα τέτοιο διαγνωστικό μονοπάτι για τις ιδιότητες Ε<> οι οποίες ευσταθούν και για τις ιδιότητες Α[] οι οποίες δεν ευσταθούν. Για να μπορέσουμε να δούμε το μονοπάτι θα πρέπει να πάμε στο Options->Diagnostic Trace και να επιλέξουμε το Shortest. Στην περίπτωση που επιλέξουμε να φυλαχτεί το μονοπάτι, τότε θα έχουμε τη δυνατότητα να το δούμε στον προσομοιωτή. Μεταβλητές Θα επεκτείνουμε το μοντέλο μας έτσι ώστε οι εργάτες να σταματούν την εργασία τους μόλις έχουν συμπληρώσει συνολικά 10 εργασίες. Για να μοντελοποιήσουμε την επιπλέον απαίτηση θα χρησιμοποιήσουμε μια ακέραια μεταβλητή κατάστασης. Οι τιμές των μεταβλητών αυτών ελέγχονται και ενημερώνονται κατά τις μεταβάσεις. Προσθέστε τις πιο κάτω γραμμές κώδικα στο (global) project Declarations: const int J = 10; int[0,j] jobs; Στην πρώτη γραμμή δηλώνουμε μια ακέραια σταθερά και την θέτουμε ίση με 10. Στη δεύτερη γραμμή δηλώνουμε την ακέραια μεταβλητή με μικρότερη τιμή το 0 και μεγαλύτερη το J. Οι μεταβλητές αρχικοποιούνται με 0. Οι τιμές των ακεραίων μεταβλητών έχουν πάντα όρια. Αν δεν τα θέσουμε εμείς τότε αυτά είναι τα [-32768, 32768]. Θέτουμε τους φρουρούς μεταβάσεων με το να κάνουμε double click σε μια μετάβαση και να τοποθετήσουμε τη συνθήκη στο πεδίο Guard. Στο πεδίο Update της μετάβασης τοποθετούμε τις αυξομειώσεις των ρολογιών. Επεκτείνετε το μοντέλο σας σύμφωνα με το πιο κάτω και στη συνέχεια ελέγξετε με τη χρήση πρώτα του Simulator και στη συνέχεια του Verifier (τις ιδιότητες που είχαμε δει προηγουμένως) το νέο μοντέλο. Τι παρατηρείτε; Τι θα συμβεί αν μεταφέρετε τη μεταβλητή Jobs από το Global Declarations στο Local Declarations τους Jobber;