Χειρισμός Χρόνου και Μεθοδολογίες Προσομοίωσης
Εισαγωγή Η προσομοίωση ασχολείται με δυναμικά συστήματα και δεν αφορά στατικές καταστάσεις. Η γραφική αναπαράσταση δεν αρκεί για την κατανόηση της λειτουργίας τους. Είναι απαραίτητο να ενσωματώσουμε τη διάσταση του χρόνου - «δυναμικότητα» στο μοντέλο που έχουμε κατασκευάσει ώστε να αυτό μπορέσει να «τρέξει». Υπάρχουν δυο βασικές μορφές χειρισμού του χρόνου Μηχανισμός επόμενου γεγονότος Μηχανισμός σταθερού χρονικού διαστήματος Οι κυριότερες μεθοδολογίες Προσομοίωση γεγονότων - event scheduling Προσομοίωση δραστηριοτήτων - activity worldview Προσομοίωση αλληλεπίδρασης διεργασιών - process interaction worldview
Χειρισμός Χρόνου Μηχανισμοί ελέγχου του χρόνου Η προσομοίωση αποτελεί ιδανική μέθοδο για να παρατηρήσει κάποιος την πορεία ενός συστήματος διαχρονικά. Οι δυο «μηχανισμοί ροής χρόνου» καταγράφουν την πάροδο του χρόνου στο σύστημα και ελέγχουν τις χρονικές μεταβολές. Μηχανισμός Επόμενου Γεγονότος Χρησιμοποιείται σε διακριτά συστήματα και ασχολείται μόνο με χρονικές στιγμές στις οποίες συμβαίνουν γεγονότα. Ο χρόνος προσπερναέι όλα τα ενδιάμεσα στάδια κατά τα οποία δε συμβαίνει κάποια αλλαγή στο σύστημα και «προχωράει» στη στιγμή όπου ένα γεγονός λαμβάνει χώρα. Στο συγκεκριμένο μηχανισμό είναι απαραίτητη η χρήση ενός καταλόγου δρομολογηθέντων και μη εκτελεσθέντων γεγονότων.
Κατάλογος δεδομένων είναι μια συλλογή γεγονότων τα οποία είναι διατεταγμένα σε χρονολογική σειρά. Στη περίπτωση του μπαρ, ο μηχανισμός επόμενου γεγονότος για τα πρώτα 25 λεπτά εκτέλεσης του μοντέλου θα είχε το παρακάτω αποτέλεσμα. Ο χρόνος σταματά μόνο σε στιγμές που συμβαίνουν γεγονότα στο σύστημα, επομένως η μέθοδος των τριών φάσεων ακολουθεί το μηχανισμό ροής χρόνου επόμενου γεγονότος.
Μηχανισμός Σταθερού χρονικού διαστήματος Χρησιμοποιείται για προσομοίωση συνεχών συστημάτων. Ρυθμίζει το ρολόι της προσομοίωσης να σταματά κατά ένα σταθερό χρονικό διάστημα (Δt). Η επιλογή του διαστήματος Δt είναι σημαντική. Ένα μικρό Δt θα οδηγούσε σε άσκοπες επαναλήψεις των ελέγχων. Το αποτέλεσμα θα ήταν ένα αργό, μη αποδοτικό πρόγραμμα. Ένα μεγάλο Δt θα είχε ως αποτέλεσμα να εξετάζεται το σύστημα σε αραιά χρονικά διαστήματα. Με συνέπεια να ομαδοποιούνται σημαντικά γεγονότα και δραστηριότητες που συμβαίνουν στο ενδιάμεσο. Στο παρακάτω σχήμα παρουσιάζεται το μπαρ, όπως αυτό θα αντιμετωπίζονταν με το μηχανισμό σταθερού διαστήματος με διάστημα το ένα λεπτό.
Ο μηχανισμός επόμενου γεγονότος υπερτερεί σε σχέση με τον μηχανισμό σταθερού χρονικού διαστήματος καθώς αποφεύγουμε άσκοπες αυξήσεις του ρολογιού της προσομοίωσης. Το ρολόι προσπερνά όλα τα χρονικά διαστήματα κατά τα οποία δε συμβαίνει κάποια αλλαγή στο σύστημα και σταματάει μόνο στα σημεία κατά τα οποία συμβαίνουν αλλαγές. Ο μηχανισμός επόμενου γεγονότος χρησιμοποιείται στην προσομοίωση γεγονότων ενώ ο μηχανισμός σταθερού διαστήματος χρησιμοποιείται στην προσομοίωση δραστηριοτήτων
Κατάλογος Επόμενου Γεγονότος Στο μηχανισμό ροής χρόνου επόμενου γεγονότος, πρέπει να καταγράφονται σε χρονική διάταξη οι προγραμματισμένες δραστηριότητες ανάλογα με το χρόνο τέλους τους. Ο μηχανισμός που χρησιμοποιείται για την αύξηση του χρόνου προσομοίωσης και εξασφαλίζει ότι όλα τα γεγονότα θα συμβούν με τη σωστή χρονική σειρά, βασίζεται στον κατάλογο επόμενου γεγονότος. Τα γεγονότα καταχωρούνται ως εγγραφές στον κατάλογο αυτό. Για κάθε γεγονός δημιουργείται μία εγγραφή. Η εγγραφή παρέχει δύο πληροφορίες Τη χρονική στιγμή που προγραμματίζεται να συμβεί ένα γεγονός Το είδος του γεγονότος Πρώτη στον κατάλογο επόμενου γεγονότος θα είναι η εγγραφή του γεγονότος που είναι προγραμματισμένο να συμβεί συντομότερα.
Χρόνος Πραγματοποίησης Χρόνος Πραγματοποίησης Στο παράδειγμα του μπαρ έχουμε τον παρακάτω κατάλογο γεγονότων για τη χρονική στιγμή 1, όπου έχει γίνει ήδη η άφιξη του πρώτου πελάτη και δρομολογούνται τα εξής δυο γεγονότα . Τη στιγμή 6 σερβίρεται το πρώτο ποτό στον πρώτο πελάτη, οπότε εξάγεται η πρώτη γραμμή από τον κατάλογο, και δρομολογείται ένα νέο γεγονός που αφορά στην κατανάλωση ποτού. Γεγονός Χρόνος Πραγματοποίησης Σερβίρισμα ποτού σε πελάτη 1 από Σερβιτόρο με ποτήρι 1 6 Άφιξη Πελάτη 2 21 Γεγονός Χρόνος Πραγματοποίησης Κατανάλωση από πελάτη 1 του ποτού 1 με ποτήρι 1 13 Άφιξη Πελάτη 2 21
Μεθοδολογίες Προσομοίωσης Διακριτών Συστημάτων Ο μηχανισμός της προσομοίωσης θα πρέπει Να είναι ικανός να περιγράφει τις οντότητες του συστήματος, Να αναπαριστά (δυναμικά) τη δυναμικότητα της συμπεριφοράς του, Να ελέγχει την εκτέλεση της προσομοίωσης. Οι μεθοδολογίες προσομοίωσης είναι οι εξής Προσομοίωση γεγονότων Προσομοίωση δραστηριοτήτων Προσομοίωση αλληλεπίδρασης διεργασιών. Το μοντέλο μελετάται μόνο τις στιγμές κατά τις οποίες συμβαίνει κάποιο γεγονός και αλλάζει η τιμή κάποιας παραμέτρου του.
Προσομοίωση δραστηριοτήτων Τα πιθανά γεγονότα χωρίζονται σε ανεξάρτητα και εξαρτημένα. Η μέθοδος χρησιμοποιεί Το μηχανισμό ροής χρόνου επόμενου γεγονότος και Τον κατάλογο επόμενου γεγονότος για τη δρομολόγηση στιγμιαίων συμβάντων. Προσομοίωση δραστηριοτήτων Το μοντέλο εκτιμάται σε τακτά (σταθερά) χρονικά διαστήματα, ανεξάρτητα από το αν συμβαίνουν αλλαγές. Η μέθοδος χρησιμοποιεί το μηχανισμό σταθερού διαστήματος. Σε κάθε σταθερή αύξηση του χρόνου της προσομοίωσης ελέγχονται μία προς μία όλες οι δραστηριότητες. Ελέγχονται σχετικά με το κατά πόσο πληρούνται οι προϋποθέσεις που θα τους επέτρεπαν να πραγματοποιηθούν. Στην περίπτωση που συναντώνται οι συνθήκες για κάποια δραστηριότητα, τότε αυτή ξεκινά.
Προσομοίωση αλληλεπίδρασης διεργασιών Επιτρέπει την ανεξάρτητη μοντελοποίηση επί μέρους τμημάτων του μοντέλου τα οποία επικοινωνούν μεταξύ τους μέσω ανταλλαγής μηνυμάτων. Το μοντέλο ορίζεται με βάση τις οντότητες και τον κύκλο ζωής τους. Μια διεργασία μπορεί να ταυτιστεί με τον κύκλο ζωής μιας οντότητας. Στην προσομοίωση αλληλεπίδρασης διεργασιών χωρίζουμε το μοντέλο σε διάφορα τμήματα που λειτουργούν αυτόνομα, Για κάθε οντότητα υπάρχει ένα διαφορετικό τμήμα, μια συνέχεια γεγονότων και δραστηριοτήτων η οποία ονομάζεται διεργασία. Η κάθε διεργασία αντιμετωπίζεται ξεχωριστά. Υπάρχει ένα πρόγραμμα γενικού ελέγχου που επιτρέπει και εξασφαλίζει την επικοινωνία μεταξύ διαφορετικών διεργασιών-τμημάτων.
Η μέθοδος των τριών φάσεων αποτελεί συνδυασμό των μεθοδολογιών γεγονότων και δραστηριοτήτων. Υιοθετεί την αύξηση του χρόνου και τον κατάλογο επόμενου γεγονότος σύμφωνα με την προσομοίωση γεγονότων (φάσεις Α και Β) και παράλληλα χρησιμοποιεί το σκανάρισμα των δραστηριοτήτων στη φάση C, όπως στην προσομοίωση δραστηριοτήτων. Η μέθοδος αυτή βελτιώνει την απόδοση εκτέλεσης της προσομοίωσης δραστηριοτήτων με το να σταματάει το χρόνο σε κρίσιμα σημεία. Το πρόγραμμα δεν αναγκάζεται να κάνει πολλούς χρονοβόρους και ίσως άσκοπους ελέγχους.
Ευχαριστώ!