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

Σχετικά έγγραφα
Δομές ελέγχου ροής προγράμματος

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

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

Δομημένος Προγραμματισμός

Επαλήθευση Πρωτοκόλλων

Εισαγωγή στην πληροφορική

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

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

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

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

Εισαγωγή στην πληροφορική

Εντολές επιλογής Επαναλήψεις (if, switch, while)

2.4 Κλασσικά Προβλήματα IPC

Υπολογιστικά Συστήματα

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Εντολές Ελέγχου & Επανάληψης

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

Υπολογιστικά μοντέλα (MoC) για SoC

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΣΧΕΔΙΑΣΗΣ ΠΡΟΪΟΝΤΩΝ ΚΑΙ ΣΥΣΤΗΜΑΤΩΝ» ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΕΙΔΙΚΕΥΣΗΣ: «ΣΧΕΔΙΑΣΗ ΔΙΑΔΡΑΣΤΙΚΩΝ ΚΑΙ ΒΙΟΜΗΧΑΝΙΚΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός Ι (HY120)

Εργαστήριο 5. Εντολή if και παραλλαγές: if-else, πολλαπλές if, πολλαπλές if-else. Απλές και σύνθετες εντολές. Εντολή switch.

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

Διάλεξη 5η: Εντολές Επανάληψης

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

Κανόνες & Μετά κανόνες

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

ιαφάνειες παρουσίασης #3

Ανάπτυξη και Σχεδίαση Λογισμικού

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

Υπολογισμός - Εντολές Επανάληψης

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

Μοντελοποίηση και Προσοµοίωση. Χρωµατισµένα ίκτυα Petri

Schedulability Analysis Algorithm for Timing Constraint Workflow Models

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Ελεγκτές/Παρακολουθητές (Monitors) Ταυτόχρονος Προγραμματισμός 1

οµές Επιλογής Εντολές if και switch

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

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Φροντιστήριο 5. Ημερομηνία: 01/12/2006 Θεματική Ενότητα: Μοντελοποίηση Συμπεριφοράς Θέμα: Διαγράμματα αλληλεπίδρασης και καταστάσεων

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

Προγραμματισμός H/Y Ενότητα 2: Εντολές ελέγχου ροής. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

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

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

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ

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

Αδιέξοδα Ανάθεση Πόρων (Deadlocks Resource Allocation)

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

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

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

Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν

Περιεχόμενα και Διάρθρωση. Interaction Diagrams

ιαφάνειες παρουσίασης #3

Παίρνοντας Αποφάσεις 1

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

Μεταγλωττιστές. Δημήτρης Μιχαήλ. Ακ. Έτος Ανοδικές Μέθοδοι Συντακτικής Ανάλυσης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

Σχεδίαση Ψηφιακών Συστημάτων

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

ΑΥΤΟΜΑΤΑ Ι ΤΥΠΙΚΕΣ ΜΕΘΟΔΟΙ ΑΝΑΛΥΣΗΣ ΣΥΣΤΗΜΑΤΩΝ ΤΜ. ΠΛΗΡΟΦΟΡΙΚΗΣ Α.Π.Θ. ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ. 29 Ιουνίου 2007 ΔΙΑΦΑΝΕΙΑ 1

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

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

Λειτουργικά Συστήματα Πραγματικού Χρόνου

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

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

ιαγράµµατα Συµπεριφοράς Ανάλυση Συστηµάτων 2009

Λιβανός Γιώργος Εξάμηνο 2017Β

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΑΝΑΛΥΣΗ Rational Unified Process. Ιωάννης Σταμέλος Βάιος Κολοφωτιάς Πληροφορική

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΑΣΚΗΣΗ 4: ΟΜΕΣ ΒΑΣΙΚΩΝ ΒΡΟΧΩΝ

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

Ανάπτυξη και Σχεδίαση Λογισμικού

Μοντελοποίηση. Επιχειρησιακών Διαδικασιών (ΕΔ) και. Μοντέλα ΕΔ. Β Μέρος

Ιδιοκτησία Αντικειµένου

Σκοπός. Προγραμματίζοντας τον Arduino ΙΙ Εντολή Εκχώρησης & Εντολές. Συλλογή & Επεξεργασία Δεδομένων. Πρόγραμμα. Εντολές Επεξεργασίας Δεδομένων

ΔΙΑΛΕΞΗ ΙΙ ΕΝΑ ΒΗΜΑ ΠΑΡΑΠΑΝΩ ΜΕ SCRATCH ΕΠΙΛΕΓΩΝΤΑΣ & ΕΠΑΝΑΛΑΜΒΑΝΟΝΤΑΣ

Μάθημα 4 ο. Κρίσιμα Τμήματα και Αμοιβαίος Αποκλεισμός

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

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 4

2.1. Εντολές Σχόλια Τύποι Δεδομένων

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

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

Πίνακας Περιεχομένων. 1. Locals Window & BreakPoints

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

Προγραμματισμός Η/Υ. Ενότητα 4: Εντολές Επιλογής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ. Διδάσκουσα Δρ Β. Καβακλή. Χειμερινό Εξάμηνο 2001

Εντολές Επανάληψης. int sum = 0, i=1; sum += i++ ; sum += i++ ; Η πράξη αυτή θα πρέπει να επαναληφθεί Ν φορές!

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Προγραμματισμός Η/Υ

Βρες τα μοτίβα Επίπεδο 1

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

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

Υπολογισμός - Εντολές Ελέγχου

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

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

Είδη εντολών. Απλές εντολές. Εντολές ελέγχου. Εκτελούν κάποια ενέργεια. Ορίζουν τον τρόπο με τον οποίο εκτελούνται άλλες εντολές

Πανεπιστήμιο Πειραιώς Τμήμα Πληροφορικής Πρόγραμμα Μεταπτυχιακών Σπουδών «Προηγμένα Συστήματα Πληροφορικής»

Transcript:

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

Γιατί χρήση Petri model? Φυσικό Πρόβλημα! Μοντέλο Petri abstract Software Simulation ανάλυση σε μοντέλο Petri Net

Βασικές δομές μοντέλων Petri Διαδοχική Εκτέλεσης; μετάβαση t2 μπορεί να βάλει μόνο μετά την πυροδότηση της t1. Αυτό επιβάλλει την προτεραιότητα (συγκεκριμένη σειρά) εκτέλεσης των πυροδοτήσεων: t1 και μετά t2. p 1 t 1 p 2 t 2 p 3 Συγχρονισμός: μετάβαση t1 θα ενεργοποιηθεί μόνο όταν υπάρχει token και στις δύο θέσεις είσοδοι. t 1 Συγχώνευση: Συμβαίνει όταν token από διάφορα σημεία φτάνουν για υπηρεσία στην ίδια μετάβαση.

Βασικές δομές μοντέλων Petri Ταυτόχρονη εκτέλεση γεγονότων (Concurrency) : Οι εκτέλεση των μεταβάσεων t1 και t2 γίνεται ταυτόχρονα. - Με αυτό τον τρόπο το Petri net είναι σε θέση να απεικονίσει συστήματα distributed control με πολλαπλές διεργασίες οι οποίες εκτελούνται ταυτόχρονα. t 1 t 2

Βασικές δομές μοντέλων Petri Σύγκρουση (Conflict) : Εδώ η εκτέλεση των μεταβάσεων t1 και t2 είναι έτοιμες για εκτέλεση. Όμως η εκτέλεση της μιας εκ των δύο μεταβάσεων οδηγεί την άλλη σε απενεργοποίηση. t 1 t 2 η προκύπτουσα σύγκρουση μπορεί να επιλυθεί με -Έναν καθαρά μη-ντετερμινιστικό τρόπο ή - Με πιθανολογική τρόπο, δηλαδή: με την εισαγωγή των κατάλληλων πιθανοτήτων οι οποίες αφορούν τις συγκρουόμενες μεταβάσεις. t 1 t 2

Βασικές δομές μοντέλων Petri Εναλλακτικός τρόπος εκτέλεσης μεταβάσεων: Στην περίπτωση αυτή υπάρχουν οι εξής επιλογές εκτέλεσης: - Εκτέλεση αρχικά των μεταβάσεων t1 και t2, και εν συνεχεία t3 και t4 (οδηγεί στην βηματική εκτέλεση των διαδικασιών) ή - Εκτέλεση αρχικά των μεταβάσεων t1 και t3, και εν συνεχεία t2 και t4 (οδηγεί στην απολύτως παράλληλη εκτέλεση των διαδικασιών) t 1 t 2 t 3 t 4

Βασικές δομές μοντέλων Petri Σύγχυση (Confusion) Οι t1 και t2 μπορεί να λειτουργούν ταυτόχρονα ή όχι. Τα αποτελέσματα όμως εξαρτώνται από της σειρά εκτέλεση των μεταβάσεων αλλά Και από τον τρόπο επίλυσης περιπτώσεων σύγκρουσης (conflict) Έστω μ 0 =(1,1,0,0,0) (1,1,0,0,0) (0,0,1,1,0) : με ταυτόχρονη εκτέλεση των t1,t2 (1,1,0,0,0) (0,1,1,1,0) : με εκτέλεση της t1 και εν συνεχεία έχουμε conflict - αν εκτελεστεί η t3 τότε οδηγούμαστε στην : (0,0,0,0,1) - αν εκτελεστεί η t2 τότε οδηγούμαστε στην : (0,0,1,1,0) p5 p1 t 1 p3 t 3 p2 t 2 p4

Δομές Petri nets για δημιουργία προγραμμάτων 1. If {A} then {do X} else {do Y} Α Χ Υ 2. If {A and B} then {do X} Α Α

Δομές Petri nets για δημιουργία προγραμμάτων 3. Δομή Case (Switch) X=... switch ( Χ=. ) { case Α: case B: // Code break; // Code break;..... default: // Code break; }

Δομές Petri nets για δημιουργία προγραμμάτων 4. Δομή While loop while (A) DO { activity X }

Δομές Petri nets για δημιουργία προγραμμάτων 5. Δομή επανάληψης for for {condition A} DO {activity X}

Δομές Petri nets για δημιουργία προγραμμάτων 6. Σειρά γεγονότων (Precedence) 7. Δομή επανάληψης for {activity X} πρέπει να προηγηθεί του {activity Y} After k seconds εκτέλεσε {activity X}

Δομές Petri nets για δημιουργία προγραμμάτων 8. Δομή αμοιβαίας αποκλειστικότητας (Either or - Mutual exclusion)) a) either do {activity X} or do {activity Y} b) either do {activity X} or do {activity Y} with preference to activity X

Ανεξάρτητη λειτουργία δύο συστημάτων

Βασικά θέματα που απασχολούν τα μοντέλα Petri Net Boundedness: o αριθμός των καταστάσεων τις οποίες παρουσιάζει ένα σύστημα έχει όριο; Place boundedness: υπάρχει όριο ως προς τον μέγιστος αριθμό των tokens τα οποία μπορεί να δημιουργηθούν σε μια συγκεκριμένη θέση; liveness: όταν από κάθε κατάσταση μπορεί να εκτελεσθεί κάθε μετάβαση. Τα liveness μοντέλα συνεπάγονται μοντέλα χωρίς αδιέξοδα, το αντίθετο δεν ισχύει. Semi-liveness: υπάρχει μια προσβάσιμη κατάσταση από την οποία μπορεί να εκτελεστεί μια δεδομένη μετάβαση; Coverability

Εν κατακλείδι Συμπεράσματα Είναι ένας τυποποιημένος σχεδιασμός (Design formalisms) - χρήσιμο μέσο για την περιγραφή μοντέλων και την επικοινωνία μεταξύ των ενδιαφερομένων. Μπορεί επίσης να χρησιμοποιηθεί για την ανάλυση, τη μέτρηση και την επαλήθευση συμπεριφοράς συστημάτων. H μοντελοποίηση των Μηχανών πεπερασμένων καταστάσεων (Finite State Machin γίνεται εύκολα αντιληπτή και κατανοητή αλλά δεν μπορεί να μοντελοποιήσει ορισμένους τύπους καταστάσεων που παρουσιάζονται σε συστήματα που λειτουργούν ταυτόχρονα. Η χρήση των δικτύων Petri εξυπηρετεί τέτοιες καταστάσεις. Και με τα δίκτυα αυτά απεικονίζονται: θέσεις, μεταβάσεις και βέλη που συνδέουν αυτά στοιχεία. Τα δίκτυα Petri απεικονίζουν μια ομάδα πεπερασμένων και διακριτών καταστάσεων ενός συστήματος με τη βοήθεια σημάνσεων (tokens) Οι μεταβάσεις των Petri nets είναι non-deteministic, και ενδεχομένως να εκτελούνται και ταυτόχρονα. Τα Petri nets μπορούν να μοντελοποιήσουν καταστάσεις concurrency, διεκδίκησης πόρων, αδιεξόδων (deadlock) και έλλειψης πόρων.