Πλεονεκτήματα και μειονεκτήματα της προσομοίωσης Πλεονεκτήματα 1. Σε περιπτώσεις που είναι αδύνατον να αναπαρασταθούν τα συστήματα με μαθηματικά μοντέλα είναι αναγκαστική καταφυγή η χρήση προσομοίωσης. 2. Μπορούμε να κατανοήσουμε καλύτερα το πώς επηρεάζουν την απόδοση ενός συστήματος. 3. Μας δίνει αποτελέσματα σε ελάχιστο χρονικό διάστημα. Επίσης η προσομοίωση επιτρέπει: 4. να δοκιμαστούν νέες αρχιτεκτονικές, διαδικασίες κλπ συστημάτων χωρίς την διακοπή των πραγματικών συστημάτων. 5. να δοκιμαστούν νέα συστήματα χωρίς να υποστούμε το κόστος κατασκευής των συστημάτων αυτών. 6. να μελετήσουμε διάφορες υποθέσεις. 7. να έχουμε καλύτερο έλεγχο των συνθηκών του πειράματος, ακόμη και έναντι του πραγματικού συστήματος. 8. να εξετάσουμε την συμπεριφορά του συστήματος, σε περιπτώσεις συμφόρησης (bottlenecks). 9. να υπολογίσουμε την απόδοση ενός συστήματος κάτω από συγκεκριμένες συνθήκες λειτουργίας. 10.να συγκρίνουμε εναλλακτικές αρχιτεκτονικές ή συνθήκες λειτουργίας συστημάτων.
Μειονεκτήματα της προσομοίωσης 1. Η κατασκευή ενός μοντέλου είναι σχετικά δύσκολη υπόθεση και απαιτεί εκπαίδευση και προετοιμασία. 2. Μερικές φορές ο χρόνος εκτέλεσης της προσομοίωσης μπορεί να είναι πολύ μεγαλύτερος του επιθυμητού. 3. Σε κάθε εκτέλεση του μοντέλου προσομοίωσης τα αποτελέσματα που λαμβάνουμε αφορούν συγκεκριμένες συνθήκες εισόδου και ως εκ τούτου είναι περιορισμένα. Συνεπώς δεν επαρκεί μια μόνο εκτέλεση, απαιτούνται πολλές επαναλήψεις. 4. Τα αποτελέσματα μπορεί να έχουν αστοχία λόγω της τυχαιότητας των δεδομένων.
Στάδια ανάπτυξης ενός μοντέλου προσομοίωσης Φάση 1 η : Ορισμός θέματος: Διατύπωση του θέματος Καθορισμός των στόχων της προσομοίωσης Φάση 2 η : Κατασκευή Μοντέλου: Συλλογή δεδομένων εισόδου Κατασκευή μοντέλου Δημιουργία του μοντέλου στον υπολογιστή με την κατασκευή ενός προγράμματος 6. Έλεγχος πληρότητας και ορθότητας του μοντέλου 7. Επιβεβαίωση της εγκυρότητας του μοντέλου
Στάδια ανάπτυξης ενός μοντέλου προσομοίωσης Φάση 3: Προσομοίωση Μοντέλου Πειράματα: 1. Καθορισμός εναλλακτικών σχεδιασμών - Πειραματικός σχεδιασμός 2. Εξέταση των αποτελεσμάτων και ανάλυσή τους 3. Μεγαλύτερος αριθμός προσομοιώσεων (απόφαση πόσοι απαιτούνται;) Φάση 4: Υλοποίηση: 1. Τεκμηρίωση και αναφορές 2. Υλοποίηση εκμετάλλευση των αποτελεσμάτων.
ΚΑΤΗΓΟΡΙΕΣ ΕΡΓΑΛΕΙΩΝ ΠΡΟΣΟΜΟΙΩΣΗΣ Γλώσσες προγ/μού Γενικού σκοπού (C, Java, Fortran, κλπ) Γλώσσες προσομοίωσης Γενικού σκοπού (GPSS, SLAM, κλπ) Εργαλεία προσομοίωσης Δικτύων Γλώσσες προγ/μού Δικτύων (πχ OPNET Modeler) OPNET, COMNET III
Γλώσσες προσομοίωσης γενικού σκοπού 1. GPSSS (General-Purpose Simulation System) - Αναπτύχθηκε από την IBM και είναι προσανατολισμένη σε διεργασίες και κατάλληλη για μοντελοποίησης συστημάτων ουρών. - Χρησιμοποιεί blocks για αναπαράσταση μοντέλων. - Οι οντότητες ή πελάτες ζητούν εξυπηρέτηση που ονομάζονται transactions. - Σήμερα υπάρχουν πολλές βελτιωμένες παραλλαγές της γλώσσας αυτής. 2. SLAM (Simulation Language for Alternative Modelling) Είναι γλώσσα προγραμματισμού η οποία μπορεί να χρησιμοποιείται ταυτόχρονα στο ίδιο μοντέλο με 3 προσεγγίσεις. - μια προσέγγιση με γεγονότα ( με προγ/μο FORTRAN), - μια προσέγγιση με διεργασίες και - μια προσέγγιση συνεχής και φυσικά - μπορεί να χρησιμοποιεί τον συνδυασμό αυτών. Οι τελευταίες εκδώσεις υποστηρίζουν animation, γραφικό περιβάλλον.
3. SIMAN/Cinema (SIMulation Analysis) Με την γλώσσα αυτή μπορούμε να κατασκευάσουμε μοντέλα προσανατολισμένα - σε διεργασίες (χρησιμοποιείται συνηθέστερα), - σε γεγονότα ή - σε συνδυασμό των παραπάνω. Για την κατασκευή μοντέλο χρησιμοποιούνται Blocks διαγράμματα Ομοιάζει με την GPSS γλώσσα προσομοίωσης. Πλεονέκτημα της γλώσσας αυτής θεωρείται ότι μπορεί να κρατά σε ξεχωριστά αρχεία [αρχείο μοντέλου (model file) και αρχείο πειράματος (experiment file)] Η Cinema είναι παρόμοια με την SIMAN γλώσσα προγραμματισμού η οποία Έχει την δυνατότητα να παράγει υψηλής ποιότητας animation. 4. GASP IV
5. SIMSCRIPT II.5 - Είναι μια παλιά γλώσσα προγ/μοι προσομοίωσης η οποία αναπτύχθηκε από την CACI. - Έχει δυνατότητες για την κατασκευή μοντέλων προσομοίωσης διακεκριμένων γεγονότων, συνεχών και συνδυασμού αυτών. - Υποστηρίζει γραφικά. - Έχει ελεύθερο κατανοητό συντακτικό που ομοιάζει με την αγγλική γλώσσα. - Έχει ισχυρές εντολές - Χρησιμοποιείται για την δημιουργία πολύπλοκων μοντέλων 6. MODSIM III - Είναι μια αντικειμενοστραφής γενικού σκοπού γλώσσα προσομοίωσης - η παλαιότερα έκδοση MODSIM II, βασίζεται στην Μodula-2. - διαθέτει μεγάλο αριθμό αντικειμένων βιβλιοθήκης - παρέχει αναλυτικά reports και anymation - έχει δυνατότητα διασύνδεσης με την γλώσσα C
7. SIMNET - Είναι γλώσσα προσομοίωσης η οποία λειτουργεί με διεργασίες Έχει 4 βασικούς τύπους κόμβων: - Κόμβο πηγής (source node) - Κόμβο ουράς αναμονής (queue node) - Κόμβο ευκολίας (facility node) - Κόμβο βοηθητικό (auxiliary node) Έχει μια σχετικά ελεύθερη μορφή για τον σχηματισμό μαθηματικών εκφράσεων μέσα στο μοντέλο
Γλώσσες προσομοίωσης γενικού σκοπού Πλεονεκτήματα Είναι εύκολα ανακτήσιμη από τους χρήστες και δεν χρειάζεται πρόσθετη δαπάνη Επιτρέπει καλύτερη προγραμματιστική ευελιξία Τα μοντέλα που δημιουργούνται έχουν σχετικά μικρό μέγεθος και πολύ μεγαλύτερη ταχύτητα ( δεν περιέχουν τα overheads των γλωσσών προσομοίωσης). Δεν χρειάζεται ιδιαίτερη εκπαίδευση για την εκμάθησή τους
Γλώσσες προσομοίωσης γενικού σκοπού Πλεονεκτήματα: Διαθέτει έτοιμα προγραμματιστικά στοιχεία τα οποία διευκολύνουν την δημιουργία ενός μοντέλου προσομοίωσης πράγμα που ελαττώνει και τον χρόνο ανάπτυξης το μοντέλου. Τα δημιουργούμενα μοντέλα προσομοίωσης μπορούμε να τα μεταβάλουμε πολύ εύκολα ανάλογα με τις εκάστοτε απαιτήσεις μας. Έχουν ικανότητα αναγνώρισης πολλών σφαλμάτων (errors), διαθέτουν οργανωμένες κατηγορίες λαθών τα οποία παρουσιάζονται στον χρήστη αυτόματα. Επίσης τα λάθη διορθώνονται σχετικά εεύκολα.
Γλώσσες προσομοίωσης δικτύων υπολογιστών ~ Γλώσσα προγραμματισμού γενικού σκοπού Οι γλώσσες προσομοίωσης δικτύων υπολογιστών απαιτούν μικρότερη αναλυτική προσέγγιση από τον χρήστη διότι διαθέτουν έτοιμα στοιχεία για την δημιουργία ενός μοντέλου. Η χρήση των έτοιμων δομικών στοιχείων βοηθούν σημαντικά στην ελάττωση του χρόνου ανάπτυξης των μοντέλων. Οι γλώσσες προσομοίωσης δικτύων είναι πιο εύκολες στην εκμάθηση. Διαθέτουν αναλυτικές αναφορές οι οποίες είναι πιο εύκολες στην κατανόηση από τους χρήστες.
Γιατί χρησιμοποιούμε προσομοιωτές δικτύου Δεν χρειάζονται ιδιαίτερες γνώσεις προγραμματισμού. Οι χρήστες μαθαίνουν να χρησιμοποιούν έτοιμα δομικά στοιχεία, ο συνδυασμός των οποίων δημιουργεί ένα μοντέλο. Μπορούμε μέσα σε σχετικά λίγο χρονικό διάστημα να δημιουργήσουμε ένα μοντέλο Παρέχουν γραφικό και φιλικό περιβάλλον. Βασικό μειονέκτημα παραμένει Το γεγονός ότι αν το προς δημιουργία μοντέλο είναι αρκετά ασύνηθες και επομένως δεν μπορεί να κατασκευαστεί με τα ήδη υπάρχοντα δομικά στοιχεία τότε υπάρχει δυσκολία στην μοντελοποίηση και συνεπώς δεν μπορεί να αναπαρασταθεί με πιστότητα. Ωστόσο πολλοί σύγχρονοι προσομοιωτές (πχ OPNET, COMNET III κλπ) παρέχουν την δυνατότητα κατασκευής νέων δομικών στοιχείων.