ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-1

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-1"

Transcript

1 To εργαλείο UPPAAL Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Εισαγωγή στo εργαλείο UPPAAL Γλώσσα Μοντελοποίησης Ο προσομοιωτής Ο επαληθευτής ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-1

2 Εισαγωγή στην UPPAAL Το εργαλείο UPPAAL αποτελεί ένα μοντελοελεγκτή μέσω του οποίου μπορούμε να μοντελοποιούμε, να προσομοιώνουμε και να ελέγχουμε τη συμπεριφορά συστημάτων πραγματικού χρόνου Ελεγκτές πραγματικού χρόνου Πρωτόκολλα επικοινωνίας Εφαρμογές πολυμέσων Αναπτύχθηκε από Uppsala University + Aalborg University = UPPAAL Πρώτη εκδοχή το 1995 Διατίθεται από: ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-2

3 Εισαγωγή στο εργαλείο UPPAAL To εργαλείο UPPAAL λαμβάνει ως είσοδο συστήματα Χρονικών Αυτομάτων τα οποία συνοδεύονται από Ακέραιες μεταβλητές Δομές δεδομένων Κανάλια Επικοινωνίας Κρίσιμες συμπεριφορές Υποστηρίζεται ο μοντελοέλεγχος ιδιοτήτων διατυπωμένων στη χρονική επέκταση του λογισμού CTL. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-3

4 Αρχιτεκτονική Συστήματος Περιλαμβάνει: Γραφική διεπιφάνεια Προσομοιωτή Μοντελοελεγκτή ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-4

5 Μοντέλα UPPAAL Ένα μοντέλο στην UPPAAL περιλαμβάνει ένα δίκτυο από αυτόματα η περιγραφή των οποίων χωρίζεται σε τρία τμήματα: Οι καθολικές και τοπικές δηλώσεις Οι κλάσεις των αυτομάτων Ο ορισμός του συστήματος Το επόμενο παράδειγμα προέρχεται από το Uppaal release (φάκελος demo). ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-5

6 Παράδειγμα Καθολικές Δηλώσεις ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-6

7 Κλάση αυτόματου Train Παράδειγμα (συν.) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-7

8 Παράδειγμα (συν.) Τοπικές Δηλώσεις αυτομάτου Train ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-8

9 Κλάση αυτόματου Gate Παράδειγμα (συν.) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-9

10 Παράδειγμα (συν.) Τοπικές Δηλώσεις αυτομάτου Gate ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-10

11 Παράδειγμα (συν.) Το σύστημα ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-11

12 Γλώσσα Μοντελοποίησης Tα χρονικά αυτόματα στην Uppaal, επεκτείνουν τον ορισμό που έχουμε δώσει, αφού διαθέτουν παραμέτρους και μεταβλητές τις οποίες μπορούν επεξεργάζονται μέσω συναρτήσεων. 4 τύποι δεδομένων int: [-32768, 32767] bool: {true,false} clock: ρολόγια chan: κανάλια ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-12

13 Δηλώσεις Οι δηλώσεις μπορούν είτε να αναφέρονται τοπικά σε μία κλάση αυτομάτου, είτε καθολικά σε ένα σύστημα από αυτόματα Περιλαμβάνουν Δηλώσεις Pολογιών Δηλώσεις Ακεραίων Δηλώσεις Καναλιών Δηλώσεις Πινάκων Δηλώσεις Τύπων Δηλώσεις Εγγραφών ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-13

14 Δηλώσεις - Παραδείγματα const int a = 1; Δηλώνεται η σταθερά a τύπου int με τιμή 1 bool b[8], c[4]; Δηλώνονται δύο πίνακες τύπου boolean, με ονόματα b και c, και μήκος 8 και 4 αντίστοιχα. int[0,100] a=5; Δηλώνεται η ακέραια μεταβλητή a η οποία παίρνει τιμές από το πεδίο [0, 100] και η οποία αρχικοποιείται με 5. int a[2][3] = {{1,2,3},{4,5,6}}; Δηλώνεται ένας δυσδιάστατος πίνακας ο οποίος και αρχικοποιείται clock x, y; Δηλώνονται δύο ρολόγια ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-14

15 chan d; Δηλώνεται ένα κανάλι Δηλώσεις - Παραδείγματα struct {int a; bool b;} s1 = {2,true} Δηλώνεται η s1 ως εγγραφή με δύο πεδία, τα a και b, η οποία και αρχικοποιείται. typedef struct {int a; bool b; clock c;} S; Δήλωση εγγραφής ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-15

16 Εκφράσεις Εκφράσεις στην Uppaal έχουν ως βασικά δομικά στοιχεία Μεταβλητές Ακέραιοι Βάσει αυτών μπορούμε να κτίσουμε: Ε ::= E [E] ( Ε ) E ++ Ε -- E := E E = E Unary E E Binary E E? E : E E.ID Unary ::= + -! not Binary ::= < <= ==!= >= > + - * / && E1? E2 : E3 = if E1 then E2 else E3 Εκφράσεις που χρησιμοποιούν ρολόγια είναι επιτρεπτές σε συνθήκες κατάστασης, φρουρούς μεταβάσεων και περιορισμούς. Η σύνταξή τους είναι περιορισμένη ανάλογα με την περίπτωση. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-16

17 Κλάσεις Αυτομάτων Στην UPPAAL μπορούμε να ορίσουμε κλάσεις (template) χρονικών αυτομάτων. Κάθε κλάση αυτομάτου μπορεί Να χρησιμοποιεί εκφράσεις για να ελέγχει και να ενημερώνει τις τιμές των ρολογιών, των μεταβλητών και των εγγραφών. Να καλεί συναρτήσεις. Να έχει τοπικές μεταβλητές και παραμέτρους. Παράμετροι στις κλάσεις μπορούν να δηλωθούν ως Call by value (περνούμε την τιμή) call-by-reference (περνούμε τη διεύθυνση) Τα κανάλια και τα ρολόγια δηλώνονται πάντα ως παράμετροι call-byreference P(clock &x, bool bit, chan &ack) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-17

18 Κλάσεις Αυτομάτων και Παράμετροι ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-18

19 Κλάσεις Αυτομάτων και Στιγμιότυπα Στιγμιότυπα μιας κλάσης αυτομάτου μπορούν να δημιουργηθούν στον ορισμό του συστήματος. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-19

20 Αυτόματα στην Uppaal Αυτόματα στην Uppaal αποτελούνται από τοποθεσίες (locations) και ακμές (edges). Οι τοποθεσίες αναπαριστούνται ως κύκλοι μπορούν να έχουν κάποιο όνομα (name) συσχετίζονται με ιδιότητες κατάστασης (invariant) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-20

21 Αυτόματα στην Uppaal Οι ακμές συνδέουν ζεύγη τοποθεσιών συσχετίζονται με επιλογές (selections) φρουρούς (guards), συγχρονισμούς (synchronisations) και ενημερώσεις (updates). ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-21

22 Παράδειγμα ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-22

23 Τοποθεσίες Ιδιότητες κατάστασης ακολουθούν τη σύνταξη των εκφράσεων με τους πιο κάτω περιορισμούς: Αποτελούν συζεύξεις απλών συνθηκών σε ρολόγια ή τη διαφορά της τιμής δύο ρολογιών Λογικές εκφράσεις που δεν εμπεριέχουν ρολόγια Τα όρια στις συνθήκες πρέπει να είναι εκφράσεις πάνω σε ακέραιες τιμές Απαγορεύεται η χρήση κατώτατων συνθηκών σε ρολόγια. Οι πιο κάτω είναι έγκυρες ιδιότητες κατάστασης όπου τα x και y είναι ρολόγια και το A είναι ένας πίνακας τύπου int. x <= 2 x < y (A[0]+1)!= (A[1]*10) Αρχικές Τοποθεσίες Κάθε κλάση αυτομάτου πρέπει να έχει ακριβώς μια αρχική τοποθεσία Η αρχική τοποθεσία σημειώνεται με διπλό κύκλο ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-23

24 Τοποθεσίες Κρίσιμες Τοποθεσίες (urgent locations) Παγώνουν τον χρόνο Σημασιολογικά, αυτό είναι ισοδύναμο με: Εισάγουμε ένα καινούριο ρολόι x το οποίο να μηδενίζεται σε κάθε ακμή εισόδου της κατάστασης καθώς και την ιδιότητα κατάστασης x <= 0. Δεσμευμένες Τοποθεσίες (Committed locations) Παγώνουν τον χρόνο Αν κάποιο αυτόματο βρίσκεται σε δεσμευμένη τοποθεσία, η επόμενη μετάβαση πρέπει να χρησιμοποιεί κάποια ακμή από κάποια δεσμευμένη τοποθεσία του συστήματος. Οι δεσμευμένες τοποθεσίες χρησιμοποιούνται για τη δημιουργία ατομικών ακολουθιών μεταβάσεων και για να διασφαλίζουν συγχρονισμό ανάμεσα σε περισσότερες από 2 οντότητες. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-24

25 Κρίσιμες Τοποθεσίες - Παράδειγμα Για να εξαναγκάσουμε τη μετάβαση στο l2 να γίνει άμεσα: Χρησιμοποιούμε ρολόγια, ή Δηλώνουμε την τοποθεσία ως κρίσιμη Τα P και Q έχουν την ίδια συμπεριφορά. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-25

26 Δεσμευμένες Τοποθεσίες Παράδειγμα Έστω ότι το αυτόματο P θέλει να στείλει ταυτόχρονα τα μηνύματα a και b σε δύο διεργασίες. Η δήλωση της τοποθεσίας n ως κρίσιμη έχει σαν αποτέλεσμα το πάγωμα του χρόνου στην τοποθεσία χωρίς όμως να αποτρέπει την παρεμβολή άλλων διεργασιών, π.χ. το Q: ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-26

27 Δεσμευμένες Τοποθεσίες Παράδειγμα Αν όμως δηλώσουμε την n ως δεσμευμένη αποτρέπει την παρεμβολή οποιασδήποτε άλλης διεργασίας σε αυτό το σημείο. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-27

28 Ακμές και ενημερώσεις Ενημερώσεις/Updates: Εκφράσεις που εκτελούνται κατά την εκτέλεση μιας μετάβασης Παραδείγματα x = 0 j = ( i[1]>i[2]? i[1] : i[2] ) x = 1, y=2*x Οι εκφράσεις εκτελούνται σειριακά, π.χ. στην ενημέρωση x = 1, y=2*x θα εκτελεστεί πρώτα το x = 1 και μετά το y=2*x ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-28

29 Ακμές και επιλογές, φρουροί Επιλογές/Selections: Δεσμεύουν μη ντετερμινιστικά μια μεταβλητή σε κάποια τιμή από ένα πεδίο. select: i : int[0,3] Φρουροί/Guards: Διατυπώνουν τις συνθήκες κάτω από τις οποίες η μετάβαση είναι εκτελέσιμη. Αποτελούν συζεύξεις απλών συνθηκών σε ρολόγια ή τη διαφορά της τιμής δύο ρολογιών Λογικές εκφράσεις που δεν εμπεριέχουν ρολόγια Τα όρια στις συνθήκες πρέπει να είναι εκφράσεις πάνω σε ακέραιες τιμές Παράδειγμα: x >= 1 && x <= 2 (i[0]+1)!= (i[1]*10) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-29

30 Ακμές και συγχρονισμοί Συγχρονισμοί/Synchronisation: Περιέχουν το όνομα μιας ενέργειας πάνω στην οποία η μετάβαση οφείλει να συγχρονιστεί με κάποιο άλλο αυτόματο. Δύο είδη ενεργειών: e? και e! Δυο αυτόματα συγχρονίζονται όταν έχουν συμπληρωματικές ενέργειες συγχρονισμού. Οι ενέργειες e1? και e2! είναι συμπληρωματικές αν οι εκφράσεις e1 και e2 αναφέρονται στο ίδιο κανάλι. Όταν δύο αυτόματα συγχρονίζονται Οι μεταβάσεις τους εκτελούνται ταυτόχρονα Οι ενημερώσεις της ακμής που εκτελεί την ενέργεια e1! υλοποιούνται πριν από τις ενημερώσεις της ακμής που εκτελεί την ενέργεια e2?. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-30

31 Ακμές και συγχρονισμοί Κρίσιμα κανάλια (urgent channels): Ο συγχρονισμός πάνω σε κρίσιμα κανάλια δεν μπορεί να καθυστερήσει. Δεν επιτρέπεται να ορίζουμε φρουρούς με ρολόγια σε ακμές που χρησιμοποιούν κρίσιμα κανάλια Κανάλια εκπομπής (broadcast channels): Επιτρέπουν συγχρονισμούς του τύπου 1-to-many. Όταν εκτελείται η ενέργεια e! και το e είναι κανάλι εκπομπής, τότε όλες οι διαθέσιμες μεταβάσεις με ενέργεια e? θα συγχρονιστούν μαζί του. Δεν είναι απαραίτητο να υπάρχει διαθέσιμη ενέργεια e?. Δεν επιτρέπεται να ορίζουμε φρουρούς με ρολόγια σε ακμές που περιμένουν κάποιο μήνυμα σε κανάλι εκπομπής. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-31

32 Κρίσιμα Κανάλια Παράδειγμα 1 Έστω ότι δύο διεργασίες μπορούν να συγχρονιστούν μέσω ενός καναλιού και επιθυμούμε ο συγχρονισμός να πραγματοποιηθεί μόλις και οι δυο διεργασίες είναι έτοιμες. Είναι δυνατόν να εκφράσουμε αυτή τη συμπεριφορά χρησιμοποιώντας ιδιότητες κατάστασης; Όχι. Για παράδειγμα στην τοποθεσία l1 δεν είναι δυνατό να ξέρουμε πότε η Q θα φτάσει στην τοποθεσία s1. Λύση: δηλώνουμε το κανάλι a ως κρίσιμο κανάλι. urgent chan a; ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-32

33 Κρίσιμα Κανάλια Παράδειγμα 2 Tα κρίσιμα κανάλια επίσης μας διευκολύνουν να ορίζουμε μεταβάσεις που πρέπει να εκτελεστούν αμέσως μόλις ο φρουρός τους γίνει true. Έστω ότι θέλουμε η μετάβαση από το l1 στο l2 να συμβεί μόλις i==5 (i μεταβλητή δεδομένων). Δημιουργούμε ένα καινούριο κρίσιμο κανάλι και μια παράλληλη διεργασία έτοιμη να συγχρονιστεί σε αυτό. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-33

34 Συστήματα Σύστημα: ορίζει το μοντέλο ενός συστήματος Αποτελείται από Ένα ή περισσότερα αυτόματα Τοπικές και καθολικές μεταβλητές Κανάλια Οι δηλώσεις μεταβλητών και καναλιών δεν είναι άμεσα προσβάσιμες από τις κλάσεις αυτομάτων αφού ορίζονται μετά από αυτές. Χρησιμεύουν για να δώσουν τιμές στις τυπικές παραμέτρους των κλάσεων. Λέξη κλειδί system: χρησιμοποιείται για να δημιουργήσει τα αυτόματα που απαρτίζουν το σύστημα ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-34

35 System Declaration Παράδειγμα const int fastest = 5; const int fast = 10; const int slow = 20; const int slowest = 25; Viking1 = Soldier(fastest); Viking2 = Soldier(fast); Viking3 = Soldier(slow); Viking4 = Soldier(slowest); system Viking1, Viking2, Viking3, Viking4, Torch; ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-35

36 Ο Προσομοιωτής Ο προσομοιωτής (simulator) του εργαλείου UPPAAL επιτρέπει τη διενέργεια προσομοιώσεων ενός μοντέλου. Επιτρέπει Παρακολούθηση συμπεριφορών καθώς και Μετακίνηση μπρος και πίσω πάνω σε μία εκτέλεση Παρακολούθηση των τιμών των μεταβλητών Παρακολούθηση της επικοινωνίας ανάμεσα στις διάφορες συνιστώσεις μέσω Message Sequence Chart. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-36

37 Ο Προσομοιωτής ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-37

38 Ο Επαληθευτής Ο Επαληθευτής (verifier) επιτρέπει το μοντελοέλεγχο ιδιοτήτων ασφάλειας και ζωτικότητας διατυπωμένων σε μια χρονική εκδοχή της χρονικής λογικής CTL. Γλώσσα προδιαγραφής ιδιοτήτων: φ ::= A[] Expression E<> Expression E[] Expression A<> Expression Expression --> Expression Expression είναι οποιαδήποτε νόμιμη έκφραση της γλώσσας. Επιπλέον ως έκφραση μπορούμε να γράψουμε την process.location της οποίας η τιμή γίνεται true όταν η διεργασία process βρίσκεται στην τοποθεσία location. Σημείωση: δεν επιτρέπεται το φώλιασμα των χρονικών τελεστών. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-38

39 Επεξήγηση Τελεστών A[] φ AG φ Σε κάθε εκτέλεση και κάθε κατάσταση αυτής ισχύει το φ E<> φ ΕF φ Υπάρχει εκτέλεση όπου στο μέλλον φ E[] φ ΕG φ Υπάρχει εκτέλεση όπου σε κάθε κατάσταση αυτής ισχύει το φ A<> φ AF φ Σε κάθε εκτέλεση στο μέλλον φ φ1 --> φ2 AG(φ1 AF φ2) Σε κάθε εκτέλεση και πάντοτε αν φ1 τότε σε κάθε εκτέλεση στο μέλλον φ2 ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-39

40 Παραδείγματα E<> (p1.cs and p2.cs) A[] (p1.cs imply not p2.cs) A[] not deadlock A<> (P1.Landed and P2.Landed) A[] [(P1.Landed and P2.Landed) imply (y>=3 or z>=3) ] ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-40

41 Ο Επαληθευτής ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-41

42 Case Study Ο Αλγόριθμος του Fischer Αμοιβαίος Αποκλεισμός Τυπική Δομή Αλγόριθμου while true do begin remainder region trying region critical region exit region end Στόχος Ανά πάσα στιγμή το πολύ μια διεργασία μπορεί να βρίσκεται στην κρίσιμή της περιοχή Απουσία Αδιεξόδων ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-42

43 Impossibility Results Γνωστοί αλγόριθμοι για n διεργασίες Απαιτούν Ο(n) καταχωρητές και Ο(n) πράξεις πάνω σε αυτές Μη πρακτικό για εφαρμογές μεγάλου μεγέθους Υπάρχει καλύτερος αλγόριθμος; Θεώρημα [Burns/Lynch 1996] Δεν υπάρχει ασύγχρονος αλγόριθμος για διασφάλιση αμοιβαίου αποκλεισμού ανάμεσα σε n 2 διεργασίες που να χρησιμοποιεί λιγότερους από n καταχωρητές. Impossibility results Θέτουν ακριβή όρια στο τι είναι ή όχι εφικτό στα πλαίσια ενός υπολογιστικού μοντέλου Διασαφηνίζουν τις συνθήκες κάτω από τις οποίες υπάρχουν τα όρια Οι συνθήκες ικανοποιούνται σε διαφορετικά σενάρια; Τι συμβαίνει σε υπολογιστικά μοντέλα που ικανοποιούν διαφορετικές ιδιότητες; ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-43

44 Χρονικός Αλγόριθμος Αμοιβαίου Αποκλεισμού Ο Αλγόριθμος του Fischer: o πρώτος αλγόριθμος που «έσπασε» το κάτω φράγμα των Ο(n) καταχωρητών. Χρησιμοποιεί ένα κοινό καταχωρητή, id, με αρχική τιμή 0. Επιτρέπει στις διεργασίες, να καθυστερήσουν για κάποιο χρόνο delay ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-44

45 Ο Αλγόριθμος του Fischer Κώδικας για τη διεργασία με αναγνωριστικό i: while true do begin nocritical section ; L: if id!= 0 then goto L; 1: id = i; 2: pause (delay); 3: if id!= i then goto L; critical section ; id := 0; end ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-45

46 Η καθυστέρηση delay Ποια είναι η κατάλληλη επιλογή για την καθυστέρηση delay; Έστω k ο μέγιστος χρόνος οποιουδήποτε βήματος και οποιασδήποτε διεργασίας που συμμετέχει στον αλγόριθμο. Θέτουμε delay > k. Επεξήγηση Επιλογής: Mέχρι τη στιγμή που μια διεργασία φτάσει στο βήμα 3, όλες οι διεργασίες που πέρασαν τον έλεγχο στο βήμα L έχουν εκτελέσει και το βήμα 2 αφού η καθυστέρηση είναι μεγαλύτερη από τον μέγιστο χρόνο που θα μπορούσε να καθυστερήσει αυτό το βήμα. Επομένως, αν στο βήμα 3 μια διεργασία βρει το id να έχει ως τιμή την τιμή του αναγνωριστικού της, μπορεί να προχωρήσει στο κρίσιμό της τμήμα ως η διεργασία που υπερισχύει έχοντας γράψει τελευταία την τιμής της στον καταχωρητή. ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-46

47 Μοντελοποίηση του Αλγόριθμου Κοινή μεταβλητή clock x; Σταθερά Παράμετρος: το αναγνωριστικό της κάθε διεργασίας ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-47

48 Δήλωση Κλάσης Όνομα κλάσης Παράμετροι κλάσης ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-48

49 Καθολικές και Τοπικές Δηλώσεις ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-49

50 Ανάλυση του Αλγόριθμου Αμοιβαίος Αποκλεισμός: A[] forall (i:id_t) forall (j:id_t) P(i).cs && P(j).cs imply i == j Απουσία Αδιεξόδων: A[] not deadlock Παρατεταμένη στέρηση: P(1).req --> P(1).cs ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-50

51 Μοντελοέλεγχος Ιδιοτήτων (1) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-51

52 Μοντελοέλεγχος Ιδιοτήτων (2) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-52

53 Μοντελοέλεγχος Ιδιοτήτων (3) ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-53

54 Παραλλαγή του μοντέλου Τι θα γίνει αν μειωθεί η καθυστέρηση; ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-54

55 Παραβιάζεται ο αμοιβαίος αποκλεισμός ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-55

56 Βοηθητικό Υλικό Στο Help του εργαλείου! ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 8-56

Φροντιστήριο 8 Φύλλο Ασκήσεων UPPAAL 2

Φροντιστήριο 8 Φύλλο Ασκήσεων UPPAAL 2 Φροντιστήριο 8 Φύλλο Ασκήσεων UPPAAL 2 Χρόνοι και Ρολόγια Κατά τη σχεδίαση και την ανάλυση πραγματικών συστημάτων, πολλές φορές ο χρόνος έχει μεγάλη σημασία. Για παράδειγμα, μπορεί να χρειαστεί να καθορίσουμε

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 664: Ανάλυση και Επαλήθευση Συστημάτων ΕΝΔΙΑΜΕΣΗ ΕΞΕΤΑΣΗ ΗΜΕΡΟΜΗΝΙΑ : Πέμπτη, 21 Μαρτίου 2013 ΔΙΑΡΚΕΙΑ : 14:00 16:00 ΔΙΔΑΣΚΟΥΣΑ : Άννα Φιλίππου Ονοματεπώνυμο:

Διαβάστε περισσότερα

Σειρά Προβλημάτων 3 Ημερομηνία Παράδοσης: 04/04/16

Σειρά Προβλημάτων 3 Ημερομηνία Παράδοσης: 04/04/16 ΜΕΡΟΣ Α Άσκηση 1 Σειρά Προβλημάτων 3 Ημερομηνία Παράδοσης: 04/04/16 Δύο ιδιότητες φ και ψ είναι ισοδύναμες μεταξύ τους, φ ψ, αν, για κάθε δομή Kripke M, M φ αν και μόνο αν M ψ. Να αποφασίσετε ποια από

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013

ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΜΑΘΗΜΑ / ΤΑΞΗ : ΔΟΜΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ / Γ ΕΠΑΛ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 27/01/2013 ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα στο γράμμα που αντιστοιχεί σε κάθε πρόταση τη

Διαβάστε περισσότερα

Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 10: Αλγόριθμοι Αμοιβαίου Αποκλεισμού σε περιβάλλον ανταλλαγής μηνυμάτων ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Αλγόριθμος Χρήση Συντονιστή Αλγόριθμος του Lamport Αλγόριθμος LeLann:

Διαβάστε περισσότερα

CTL Έλεγχος Μοντέλου (ΗR Κεφάλαιο 3.5 και 3.6.1)

CTL Έλεγχος Μοντέλου (ΗR Κεφάλαιο 3.5 και 3.6.1) CTL Έλεγχος Μοντέλου (ΗR Κεφάλαιο 3.5 και 3.6.1) Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Έλεγχος μοντέλου για τη CTL CTL* ΕΠΛ 412 Λογική στην Πληροφορική 8-1 Αλγόριθμος Μοντελο-ελέγχου Πως μπορούμε

Διαβάστε περισσότερα

Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα:

Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Χρονικά αυτόματα Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Συστήματα πραγματικού Χρόνου Διακριτός και συνεχής χρόνος Χρονικά αυτόματα Χρονική CTL ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 7-1 Συστήματα

Διαβάστε περισσότερα

CTL - Λογική Δένδρου Υπολογισμού (ΗR Κεφάλαιο 3.4)

CTL - Λογική Δένδρου Υπολογισμού (ΗR Κεφάλαιο 3.4) CTL - Λογική Δένδρου Υπολογισμού (ΗR Κεφάλαιο 3.4) Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Διακλαδωμένες Χρονικές λογικές CTL σύνταξη και ερμηνεία Έλεγχος μοντέλου για τη CTL Σύγκριση των PLTL

Διαβάστε περισσότερα

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα:

Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Χρονικά αυτόµατα Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Συστήµατα πραγµατικού Χρόνου ιακριτός και συνεχής χρόνος Χρονικά αυτόµατα Χρονική CTL ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστηµάτων 12-1 Συστήµατα

Διαβάστε περισσότερα

Αυτοματοποιημένη Επαλήθευση

Αυτοματοποιημένη Επαλήθευση Αυτοματοποιημένη Επαλήθευση Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Έλεγχος Μοντέλου Αλγόριθμοι γράφων Αλγόριθμοι αυτομάτων Αυτόματα ως προδιαγραφές ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 4-1

Διαβάστε περισσότερα

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Προϋποθέσεις για Αµοιβαίο Αποκλεισµό Μόνο µία διεργασία σε κρίσιµο τµήµασεκοινό πόρο Μία διεργασία που σταµατά σε µη κρίσιµο σηµείο δεν πρέπει να επιρεάζει τις υπόλοιπες διεργασίες εν πρέπει να υπάρχει

Διαβάστε περισσότερα

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή Αντίρριο, 05/04/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» To δεύτερο μέρος της εργασίας έχει ως στόχο την ανάπτυξη του συντακτικού αναλυτή με χρήση του bison / byacc. Στο

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

Διαβάστε περισσότερα

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4)

Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4) Ανάλυση της Ορθότητας Προγραμμάτων (HR Κεφάλαιο 4) Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων Κανόνες

Διαβάστε περισσότερα

CTL - Λογική Δένδρου Υπολογισμού

CTL - Λογική Δένδρου Υπολογισμού CTL - Λογική Δένδρου Υπολογισμού Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Διακλαδωμένες Χρονικές λογικές CTL σύνταξη και ερμηνεία Έλεγχος μοντέλου για τη CTL Σύγκριση των PLTL και CTL Δικαιοσύνη

Διαβάστε περισσότερα

Γραμμική και διακλαδωμένη χρονική λογική

Γραμμική και διακλαδωμένη χρονική λογική CTL - Λογική Δένδρου Υπολογισμού Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Διακλαδωμένες Χρονικές λογικές CTL σύνταξη και ερμηνεία Έλεγχος μοντέλου για τη CTL Σύγκριση των PLTL και CTL Δικαιοσύνη

Διαβάστε περισσότερα

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή.

A2. Να γράψετε για κάθε περίπτωση τον αριθμό της πρότασης και δίπλα το γράμμα που δίνει τη σωστή επιλογή. ΜΑΘΗΜΑ / ΤΑΞΗ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ/Γ' ΕΠΑ.Λ. ΗΜΕΡΟΜΗΝΙΑ: 17-1-2016 ΕΠΙΜΕΛΕΙΑ ΔΙΑΓΩΝΙΣΜΑΤΟΣ: Ι.ΜΙΧΑΛΕΑΚΟΣ-Χ.ΠΑΠΠΑ-Α.ΚΑΤΡΑΚΗ ΘΕΜΑ Α Α1. Να χαρακτηρίσετε τις προτάσεις που ακολουθούν, γράφοντας δίπλα

Διαβάστε περισσότερα

Διπλωματική Εργασία : Σαρακατσάνος Ορέστης Επιβλέπων καθηγητής: Γεώργιος Χασάπης Καθηγητής

Διπλωματική Εργασία : Σαρακατσάνος Ορέστης Επιβλέπων καθηγητής: Γεώργιος Χασάπης Καθηγητής ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Επαλήθευση της ορθής λειτουργίας λογισμικού γραμμένου σύμφωνα με τις συστάσεις του προτύπου

Διαβάστε περισσότερα

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων

Διαγράμματα UML στην Ανάλυση. Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων Διαγράμματα UML στην Ανάλυση Μέρος Γ Διαγράμματα Επικοινωνίας Διαγράμματα Ακολουθίας Διαγράμματα Μηχανής Καταστάσεων περιεχόμενα παρουσίασης Διαγράμματα επικοινωνίας Διαγράμματα ακολουθίας Διαγράμματα

Διαβάστε περισσότερα

FORTRAN και Αντικειμενοστραφής Προγραμματισμός

FORTRAN και Αντικειμενοστραφής Προγραμματισμός FORTRAN και Αντικειμενοστραφής Προγραμματισμός Παραδόσεις Μαθήματος 2016 Δρ Γ Παπαλάμπρου Επίκουρος Καθηγητής ΕΜΠ georgepapalambrou@lmentuagr Εργαστήριο Ναυτικής Μηχανολογίας (Κτίριο Λ) Σχολή Ναυπηγών

Διαβάστε περισσότερα

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας

Διαγράμματα Αλληλεπίδρασης. Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας Διαγράμματα Αλληλεπίδρασης Διαγράμματα Ακολουθίας Διαγράμματα Συνεργασίας 1 Διαγράμματα αλληλεπίδρασης Απεικονίζουν την αλληλεπίδραση των αντικειμένων μέσω μηνυμάτων Η ανάθεση αρμοδιοτήτων περιλαμβάνει

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

Διαβάστε περισσότερα

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους

Διαβάστε περισσότερα

Διάλεξη 9: Αλγόριθμοι Αμοιβαίου Αποκλεισμού με τη χρήση μεταβλητών Ανάγνωσης/Εγγραφής. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 9: Αλγόριθμοι Αμοιβαίου Αποκλεισμού με τη χρήση μεταβλητών Ανάγνωσης/Εγγραφής. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 9: Αλγόριθμοι Αμοιβαίου Αποκλεισμού με τη χρήση μεταβλητών Ανάγνωσης/Εγγραφής ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Αλγόριθμος Ψησταριάς (Bakery Algorithm) Αλγόριθμος 2- επεξεργαστών

Διαβάστε περισσότερα

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 1: Εισαγωγή στον Κατανεμημένο Υπολογισμό ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Τι είναι ένα Κατανεμημένο Σύστημα; Επικοινωνία, Χρονισμός, Σφάλματα Μοντέλο Ανταλλαγής Μηνυμάτων 1

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού Strange

Η γλώσσα προγραμματισμού Strange Προγραμματιστική άσκηση: Η γλώσσα προγραμματισμού Strange Η Strange είναι μια μικρή γλώσσα προγραμματισμού. Παρόλο που οι προγραμματιστικές της ικανότητες είναι μικρές, η εκπαιδευτική αυτή γλώσσα περιέχει

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 5 «Αμοιβαίος Αποκλεισμός» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Αμοιβαίος Αποκλεισμός 1. Εισαγωγή 2. Κρίσιμα τμήματα (Critical Sections) 3. Υλοποίηση του

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου

ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου ΕΝΟΤΗΤΑ 4 Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου Σκοπός και περίγραμμα της Ενότητας 4 Σκοπός της παρουσίασης Να μελετήσουμε τις συναρτήσεις που ελέγχουν την ροή και την εκτέλεση ενός προγράμματος Σύνοψη

Διαβάστε περισσότερα

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006) Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κρήτης Σχολή Εφαρμοσμένων Επιστημών Τμήμα Ηλεκτρονικών Μηχανικών Τομέας Αυτοματισμού και Πληροφορικής Δομημένος Προγραμματισμός (ΤΛ1006) Δρ. Μηχ. Νικόλαος Πετράκης, Καθηγητής

Διαβάστε περισσότερα

Σειρά Προβλημάτων 1 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις ΕΠΛ664: Ανάλυση και Επαλθευση Συστημάτων Τμμα Πληροφορικς Άσκηση 1 Σειρά Προβλημάτων 1 Λύσεις (α) Χρησιμοποιούμε τις επιπλέον μεταβλητές PC0, PC1, (program counters) οι οποίες παίρνουν ως τιμές ονόματα

Διαβάστε περισσότερα

Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι

Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού. ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Διάλεξη 8: Πρόβλημα Αμοιβαίου Αποκλεισμού ΕΠΛ 432: Κατανεμημένοι Αλγόριθμοι Τι θα δούμε σήμερα Μοντέλο Κοινόχρηστης Μνήμης Αλγόριθμοι Αμοιβαίου Αποκλεισμού με Ισχυρούς Καταχωρητές ΕΠΛ432: Κατανεµηµένοι

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python

ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής

Διαβάστε περισσότερα

Χρονικά Συστήματα και Σχέσεις Ισοδυναμίας

Χρονικά Συστήματα και Σχέσεις Ισοδυναμίας Χρονικά Συστήματα και Σχέσεις Ισοδυναμίας Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Σχέσεις ισοδυναμίας time bisimultion untime bisimultion wek time bisimultion region grphs ΕΠΛ 664 Ανάλυση και Επαλήθευση

Διαβάστε περισσότερα

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας

«Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο Ακολουθιακός Κώδικας «Σχεδιασμός Ολοκληρωμένων Κυκλωμάτων» Χειμερινό εξάμηνο 2016-2017 Ακολουθιακός Κώδικας Παρασκευάς Κίτσος http://diceslab.cied.teiwest.gr Επίκουρος Καθηγητής Tμήμα Μηχανικών Πληροφορικής ΤΕ E-mail: pkitsos@teimes.gr

Διαβάστε περισσότερα

Οι εντολές ελέγχου της ροής ενός προγράμματος.

Οι εντολές ελέγχου της ροής ενός προγράμματος. Κεφάλαιο ΙΙI: Οι εντολές ελέγχου της ροής ενός προγράμματος 31 Εντολές ελέγχου της ροής Στο παρόν κεφάλαιο ασχολούμαστε με την σύνταξη των εντολών της C οι οποίες εισάγουν λογική και ελέγχουν την ροή εκτέλεσης

Διαβάστε περισσότερα

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

Διαβάστε περισσότερα

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13

Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 Σχολικό Βιβλίο - Κεφάλαιο 7 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕ PASCAL ΠΑΡΟΥΣΙΑΣΗ 13 ΙΣΤΟΡΙΚΑ Παρουσιάστηκε το 1970 από το Niklaus Wirth Προγενέστερη γλώσσα ήταν η Algol 60 Είναι δομημένη γλώσσα προγραμματισμού υψηλού

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο

09 Η γλώσσα UML I. Τεχνολογία Λογισμικού. Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών. Εαρινό εξάμηνο 09 Η γλώσσα UML I Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Unified Modeling Language

Διαβάστε περισσότερα

Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται ως

Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται ως Αµοιβαίος Αϖοκλεισµός Παναγιώτα Φατούρου Κατανεµηµένα Συστήµατα 1 Ασύγχρονο Σύστηµα ιαµοιραζόµενης Μνήµης Το σύστηµα περιέχει n διεργασίες p 0,, p n-1 και m καταχωρητές R 0,, R m-1. Κάθε διεργασία µοντελοποιείται

Διαβάστε περισσότερα

Άλγεβρες Διεργασιών και Σχέσεις Ισοδυναμίας

Άλγεβρες Διεργασιών και Σχέσεις Ισοδυναμίας Άλγεβρες Διεργασιών και Σχέσεις Ισοδυναμίας Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Σχέσεις ισοδυναμίας trce equivlence filure equivlence strong isimultion wek isimultion ΕΠΛ 664 Ανάλυση και Επαλήθευση

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 5 : Αμοιβαίος Αποκλεισμός Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών

Διαβάστε περισσότερα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.1) Μη Ντετερμινιστικές Μηχανές

Διαβάστε περισσότερα

Pascal. 15 Νοεμβρίου 2011

Pascal. 15 Νοεμβρίου 2011 Pascal 15 Νοεμβρίου 011 1 Procedures σε Pascal Στην Pascal μπορούμε να ορίσουμε διαδικασίες (procedures). Αυτές είναι ομάδες εντολών οι οποίες έχουν ένα όνομα. Γράφοντας το όνομα μιας διαδικασίας μπορούμε

Διαβάστε περισσότερα

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά

Διαβάστε περισσότερα

Ανάλυση της Ορθότητας Προγραμμάτων

Ανάλυση της Ορθότητας Προγραμμάτων Ανάλυση της Ορθότητας Προγραμμάτων Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων ΚανόνεςΑπόδειξηςΜερικήςΟρθότητας

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία Κεφάλαιο 6 ο Σύγχρονος Παραλληλισμός

Παράλληλη Επεξεργασία Κεφάλαιο 6 ο Σύγχρονος Παραλληλισμός Παράλληλη Επεξεργασία Κεφάλαιο 6 ο Σύγχρονος Παραλληλισμός Κωνσταντίνος Μαργαρίτης Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής Πανεπιστήμιο Μακεδονίας kmarg@uom.gr http://eos.uom.gr/~kmarg Αρετή Καπτάν Υποψήφια

Διαβάστε περισσότερα

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ

TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Μάθημα 7 - Υποπρογράμματα Εργαστήριο 11 Ο TO ΥΠΟΠΡΟΓΡΑΜΜΑ ΣΥΝΑΡΤΗΣΗ Βασικές Έννοιες: Υποπρόγραμμα, Ανάλυση προβλήματος, top down σχεδίαση, Συνάρτηση, Διαδικασία, Παράμετρος, Κλήση συνάρτησης, Μετάβαση

Διαβάστε περισσότερα

Ψευδοκώδικας. November 7, 2011

Ψευδοκώδικας. November 7, 2011 Ψευδοκώδικας November 7, 2011 Οι γλώσσες τύπου ψευδοκώδικα είναι ένας τρόπος περιγραφής αλγορίθμων. Δεν υπάρχει κανένας τυπικός ορισμός της έννοιας του ψευδοκώδικα όμως είναι κοινός τόπος ότι οποιαδήποτε

Διαβάστε περισσότερα

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές»

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές» Η εργασία έχει ως στόχο τον σχεδιασμό και την υλοποίηση ενός μεταγλωττιστή για την γλώσσα Ciscal, χρησιμοποιώντας

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 6 η Βρόχοι Επανάληψης Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

Διαβάστε περισσότερα

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΣΤΗ CTL/LTL

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΣΤΗ CTL/LTL ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΑΣΚΗΣΕΙΣ ΣΤΗ CTL/LTL ΑΣΚΗΣΗ 1 Θεωρήστε το μοντέλο Μ ενός συστήματος που δίνεται από το αυτόματο του σχήματος p, q s 0 s 1 s 2 q, και το (άπειρο) δέντρο του σχήματος s0 p, q s1 q, s0 p, q

Διαβάστε περισσότερα

ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 6-1

ΕΠΛ 664 Ανάλυση και Επαλήθευση Συστημάτων 6-1 Εισαγωγή στη SPIN Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: O model-checker SPIN H γλώσσα προδιαγραφής συστημάτων Promela Εντολές, διεργασίες και μοντέλο επικοινωνίας Σημασιολογία εκτέλεσης ΕΠΛ 664

Διαβάστε περισσότερα

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2)

Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Θεωρία Υπολογισμού και Πολυπλοκότητα Ασυμφραστικές Γλώσσες (2) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Αυτόματα Στοίβας (2.2) Τυπικός Ορισμός Παραδείγματα Ισοδυναμία με Ασυμφραστικές

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL)

Ακολουθιακές εντολές. (Peter Ashenden, The Students Guide to VHDL) Ακολουθιακές εντολές (Peter Ashenden, The Students Guide to VHDL) Εντολή If Τα βασικά χαρακτηριστικά της είναι τα εξής: Μπορεί να χρησιµοποιηθεί για τον έλεγχο µίας ή περισσοτέρων συνθηκών. Η πρώτη συνθήκη

Διαβάστε περισσότερα

οµές (structures) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πίνακες δοµών, δείκτες σε δοµές, και αυτοαναφορικές δοµές.

οµές (structures) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πίνακες δοµών, δείκτες σε δοµές, και αυτοαναφορικές δοµές. οµές (structures) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Πίνακες δοµών, δείκτες σε δοµές, και αυτοαναφορικές δοµές. ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Παράδειγµα Πρόβληµα: Να γράψετε

Διαβάστε περισσότερα

09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο

09 Η γλώσσα UML II. Τεχνολογία Λογισμικού. Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο. Χειμερινό εξάμηνο 09 Η γλώσσα UML II Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Μοντελοποίηση συμπεριφοράς

Διαβάστε περισσότερα

Βασικές Δομές μοντέλων Petri Nets. C.A. Petri

Βασικές Δομές μοντέλων Petri Nets. C.A. Petri Βασικές Δομές μοντέλων Petri Nets C.A. Petri - 1962 Γιατί χρήση Petri model? Φυσικό Πρόβλημα! Μοντέλο Petri abstract Software Simulation ανάλυση σε μοντέλο Petri Net Βασικές δομές μοντέλων Petri Διαδοχική

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη

Διαβάστε περισσότερα

Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL

Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι. Εισαγωγή στη VHDL Εργαστήριο Αρχιτεκτονικής Υπολογιστών Ι Εισαγωγή στη VHDL Εισαγωγή Very High Speed Integrated Circuits Hardware Description Language ιαφορές από γλώσσες προγραμματισμού: παράλληλη εκτέλεση εντολών προσδιορισμός

Διαβάστε περισσότερα

Σειρά Προβλημάτων 4 Ημερομηνία Παράδοσης: 13/11/13

Σειρά Προβλημάτων 4 Ημερομηνία Παράδοσης: 13/11/13 Σειρά Προβλημάτων 4 Ημερομηνία Παράδοσης: 13/11/13 Άσκηση 1 (20 μονάδες) Οι ιδιότητες διατυπώνοντας στην PLTL ως εξής: (α) Αν ο καταχωρητής Κ 1 κάποια στιγμή πάρει την τιμή 1 θα διατηρήσει την τιμή αυτή

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 4α: Σημαφόροι, Πρόβλημα Συνδαιτυμόνων Φιλοσόφων, Αδιέξοδα Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL

ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PASCAL 8.1. Εισαγωγή ΚΕΦΑΛΑΙΟ 8 Η ΓΛΩΣΣΑ PACAL Πως προέκυψε η γλώσσα προγραμματισμού Pascal και ποια είναι τα γενικά της χαρακτηριστικά; Σχεδιάστηκε από τον Ελβετό επιστήμονα της Πληροφορικής Nicklaus Wirth to

Διαβάστε περισσότερα

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

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ ΜΕΡΟΣ ΙΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ 36 ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ Πολλές από τις αποφάσεις

Διαβάστε περισσότερα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java

Διαβάστε περισσότερα

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL

ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL ΗΜΥ 210 ΣΧΕΔΙΑΣΜΟΣ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χειµερινό Εξάµηνο 2016 Συµπληρωµατική ΔΙΑΛΕΞΗ 14: Περιγραφή Ακολουθιακών Κυκλωµάτων στη VHDL ΧΑΡΗΣ ΘΕΟΧΑΡΙΔΗΣ Επίκουρος Καθηγητής, ΗΜΜΥ (ttheocharides@ucy.ac.cy)

Διαβάστε περισσότερα

for for for for( . */

for for for for( . */ Εισαγωγή Στον Προγραµµατισµό «C» Βρόχοι Επανάληψης Πανεπιστήµιο Πελοποννήσου Τµήµα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Δ. Τσελίκας Νικόλαος Προγραµµατισµός Δ. Τσελίκας Ι Ο βρόχος for Η εντολή for χρησιµοποιείται

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης)

ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης) ΚΕΦΑΛΑΙΟ 10 ΕΝΤΟΛΕΣ ΕΠΙΛΟΓΗΣ (ή εντολές Ελέγχου και Επιλογής ή εντολές Επιλογής και Απόφασης) Τι είναι οι εντολές Ελέγχου και Επιλογής στην Pascal; Ποιες είναι οι εντολές Ελέγχου και Επιλογής στην Pascal;

Διαβάστε περισσότερα

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Για το μάθημα «Διαχείριση Λειτουργικών Συστημάτων» του ακαδημαϊκού έτους 2015 2016, το προτεινόμενο σύγγραμμα είναι το: Operating Systems: Internals

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο. Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 3 Ο Σταθερές-Παράμετροι-Μεταβλητές Αριθμητικοί & Λογικοί Τελεστές Δομή ελέγχου-επιλογής Σύνθετοι έλεγχοι ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2010-11 1 Μεταβλητές-Σταθερές-Παράμετροι Τα στοιχεία

Διαβάστε περισσότερα

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 8: Αρχεία και Δομές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

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

ΠΡΟΔΙΑΓΡΑΦΗ ΙΔΙΟΤΗΤΩΝ ΜΕ ΧΡΟΝΙΚΗ ΛΟΓΙΚΗ Ι ΠΡΟΔΙΑΓΡΑΦΗ ΙΔΙΟΤΗΤΩΝ ΜΕ ΧΡΟΝΙΚΗ ΛΟΓΙΚΗ Ι Ιδιότητες προσεγγισιμότητας (reachability properties): αναφέρονται στο ενδεχόμενο προσέγγισης μιας συγκεκριμένης κατάστασης. Ιδιότητες ασφαλείας (safety properties):

Διαβάστε περισσότερα

Σειρά Προβλημάτων 1 Λύσεις

Σειρά Προβλημάτων 1 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 1 Λύσεις (α) Χρησιμοποιούμε τις επιπλέον μεταβλητές PC 1, PC 2, (program counters) οι οποίες παίρνουν ως τιμές ονόματα των γραμμών του κώδικα όπως φαίνεται πιο κάτω. bool y 1

Διαβάστε περισσότερα

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Η ΓΛΩΣΣΑ PASCAL ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ Απλοί ή στοιχειώδης Τ.Δ. Ακέραιος τύπος Πραγματικός τύπος Λογικός τύπος Χαρακτήρας Σύνθετοι Τ.Δ. Αλφαριθμητικός 1. Ακέραιος (integer) Εύρος: -32768 έως 32767 Δήλωση

Διαβάστε περισσότερα

ΗΥ-150. Προγραμματισμός

ΗΥ-150. Προγραμματισμός ΗΥ-150 Εντολές Ελέγχου Ροής Σειριακή εκτέλεση εντολών Όλα τα προγράμματα «γράφονται» χρησιμοποιώντας 3 είδη εντολών: Σειριακές εντολές (sequential built in C) Εντολές απόφασης (if, if/else, switch) Περιλαμβάνει

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Έλεγχος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Σχεσιακοί Τελεστές και Ισότητας Ένα πρόγραμμα εκτός από αριθμητικές πράξεις

Διαβάστε περισσότερα

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

Διαβάστε περισσότερα

Στοιχειώδης προγραμματισμός σε C++

Στοιχειώδης προγραμματισμός σε C++ Στοιχειώδης προγραμματισμός σε C++ Σύντομο Ιστορικό. Το πρόγραμμα Hello World. Ο τελεστής εξόδου. Μεταβλητές και δηλώσεις τους. Αντικείμενα, μεταβλητές, σταθερές. Ο τελεστής εισόδου. Θεμελιώδεις τύποι.

Διαβάστε περισσότερα

Η γλώσσα προγραμματισμού EEL

Η γλώσσα προγραμματισμού EEL Προγραμματιστική άσκηση: Η γλώσσα προγραμματισμού EEL Η EEL (Early Experimental Language) είναι μια μικρή γλώσσα προγραμματισμού. Παρόλο που οι προγραμματιστικές της ικανότητες είναι μικρές, η εκπαιδευτική

Διαβάστε περισσότερα

Βασικά Στοιχεία της Java

Βασικά Στοιχεία της Java Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της

Διαβάστε περισσότερα

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Δομή Επιλογής. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Δομή Επιλογής Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Δομή Επιλογής (Απόφασης) Εκτέλεση υπό συνθήκη IF THEN IF THEN ELSE IF THEN

Διαβάστε περισσότερα

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας

Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Κεφάλαιο 4 Σημασιολογία μιας Απλής Προστακτικής Γλώσσας Προπτυχιακό μάθημα Αρχές Γλωσσών Προγραμματισμού Π. Ροντογιάννης 1 Εισαγωγή - 1 Μία κλασσική γλώσσα προγραμματισμού αποτελείται από: Εκφράσεις (των

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Συναίνεση με σφάλματα διεργασιών Κατανεμημένα Συστήματα Ι 5η Διάλεξη 10 Νοεμβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 5η Διάλεξη 1 Συναίνεση με σφάλματα διεργασιών Προηγούμενη διάλεξη

Διαβάστε περισσότερα

ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι 4-1

ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι 4-1 Εφαρμογές στοιβών Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Αναδρομικές συναρτήσεις Ισοζυγισμός Παρενθέσεων Αντίστροφος Πολωνικός Συμβολισμός ΕΠΛ 231 Δομές Δεδομένων και Αλγόριθμοι

Διαβάστε περισσότερα

Λύσεις 4ης Σειράς Ασκήσεων

Λύσεις 4ης Σειράς Ασκήσεων Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Συναίνεση και Σφάλματα Διεργασιών Παναγιώτα Παναγοπούλου Περίληψη Συναίνεση με σφάλματα διεργασιών Το πρόβλημα Ο αλγόριθμος FloodSet Επικύρωση δοσοληψιών Ορισμός του προβλήματος

Διαβάστε περισσότερα

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript

Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β. Εισαγωγή στον Προγραμματισμό Η/Υ με την JavaScript Β.1 Τύποι Δεδομένων Όλες οι γλώσσες προγραμματισμού (πρέπει να) υποστηρίζουν πέντε (5) πρωταρχικούς τύπους δεδομένων: char (character) int (integer)

Διαβάστε περισσότερα

ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας

ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας ιαγράµµατα Αλληλεπίδρασης ιαγράµµατα Ακολουθίας ιαγράµµατα Επικοινωνίας 1 ιαγράµµατα αλληλεπίδρασης Απεικονίζουν την αλληλεπίδραση των αντικειµένων µέσω µηνυµάτων Η ανάθεση αρµοδιοτήτων περιλαµβάνει µεγάλο

Διαβάστε περισσότερα

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC

Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Ένα αφαιρετικό πραγματικού χρόνου μοντέλο λειτουργικού συστήματος για MPSoC Αρχιτεκτονική Πλατφόρμας Μπορεί να μοντελοποιηθεί σαν ένα σύνολο από διασυνδεδεμένα κομμάτια: 1. Στοιχεία επεξεργασίας (processing

Διαβάστε περισσότερα

Σειρά Προβλημάτων 5 Λύσεις

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w

Διαβάστε περισσότερα

Ανάλυση της Ορθότητας Προγραμμάτων

Ανάλυση της Ορθότητας Προγραμμάτων Ανάλυση της Ορθότητας Προγραμμάτων Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Η διαδικαστική γλώσσα προγραμματισμού WHILE Τριάδες Hoare Μερική και Ολική Ορθότητα Προγραμμάτων Κανόνες Απόδειξης Μερικής

Διαβάστε περισσότερα

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

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Νέο Πρόγραμμα

Διαβάστε περισσότερα

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες.

Πληροφορική. Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες. ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Πληροφορική Ενότητα 1: Α. Οργάνωση μαθήματος. Β. Στοιχεία Προγραμματισμού -Προγραμματιστικές Δομές, Πρόγραμμα, Γλώσσες. Κωνσταντίνος Καρατζάς

Διαβάστε περισσότερα

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προεπεξεργαστής. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προεπεξεργαστής Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαδικασία Μεταγλώττισης πρόγραµµα επεξεργασίας κειµένου if a

Διαβάστε περισσότερα

Πληροφορική ΙΙ Θεματική Ενότητα 6

Πληροφορική ΙΙ Θεματική Ενότητα 6 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Θεματική Ενότητα 6 Δομές ελέγχου ροής Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας

Διαβάστε περισσότερα