background image

24 | 

9 4

 

 

Περιορισμοί ασφαλείας 

Η  αντανάκλαση  απαιτεί  άδεια  εκτέλεσης  που  ενδέχεται  να  μην  υπάρχει  όταν 

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

πρέπει να εκτελείται σε περιορισμένο περιβάλλον ασφαλείας, όπως σε ένα Applet. 

Έκθεση εσωτερικών τμημάτων 

Δεδομένου ότι η αντανάκλαση επιτρέπει στον κώδικα να εκτελεί λειτουργίες που θα 

ήταν παράνομες σε μη ανακλαστικό κώδικα, όπως πρόσβαση σε ιδιωτικά πεδία και μεθόδους, 

η χρήση αντανάκλασης μπορεί να οδηγήσει σε απροσδόκητες παρενέργειες, οι οποίες μπορεί 

να  καταστήσουν  τον  κώδικα  δυσλειτουργικό  και  να  καταστρέψουν  τη  φορητότητα.  Ο 

ανακλαστικός  κώδικας  μπορεί  να  διακόψει  την  αφαιρετητκότητα  και  επομένως  μπορεί  να 

αλλάξει συμπεριφορά με τις αναβαθμίσεις της πλατφόρμας (Smith, January 1982). 

Η χρήση της αντανάκλασης στην παρούσα διπλωματική εργασία 

Η  αντανάκλαση  στην  παρούσα  διπλωματική  εργασία  χρησιμοποιήθηκε  κατά  την 

δημιουργία  των  κυκλωματικών  στοιχείων  από  το  αρχείο  εισόδου.  Έχει  δημιουργηθεί  μία 

βιβλιοθήκη  κλάσεων  για  τα  κυκλωματικά  στοιχεία,  που  η  κάθε  κλάση  περιγράφει  τα 

χαρακτηριστικά  και  τις  λειτουργίες  των  αντίστοιχων  κυκλωματικών  στοιχείων,  όπως  το 

μέγεθος  τους,  τις  σχετικές  θέσεις  των  pins,  αν  επιτρέπεται  η  αλλαγή  προσανατολισμού  και 

διάφορα  άλλα  χαρακτηριστικά.  Ο  λόγος  είναι  για  να  μπορούμε  όταν  διαβάζουμε  το 

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

προγράμματος το αντίστοιχο αντικείμενο της κλάσης.  

 

2.6 

Προβλήματα βελτιστοποίησης και ο γενετικός αλγόριθμος  

Ο γενετικός αλγόριθμος είναι μια ευρετική αναζήτηση που εμπνέεται από τη θεωρία 

της φυσικής εξέλιξης του Charles Darwin. Αυτός ο αλγόριθμος αντικατοπτρίζει τη διαδικασία 

της  φυσικής  επιλογής  όπου  τα  πιο  κατάλληλα  άτομα,  με  τα  καλύτερα  χαρακτηριστικά 

δηλαδή,  επιλέγονται  για  αναπαραγωγή  προκειμένου  να  παράγουν  απόγονους  της  επόμενης 

γενιάς. 

Σε  έναν  γενετικό  αλγόριθμο,  ένας  πληθυσμός  υποψήφιων  λύσεων  (που ονομάζονται 

άτομα,  πλάσματα  ή  φαινότυποι)  σε  ένα  πρόβλημα  βελτιστοποίησης  εξελίσσεται  προς 

καλύτερες  λύσεις.  Κάθε  υποψήφια  λύση  έχει  ένα  σύνολο  ιδιοτήτων  (χρωμοσώματα  ή