background image

Κεφάλαιο 3 - Ανάπτυξη και Υλοποίηση της Εφαρμογής 
 

 

 

38 

 

Ο  πίνακας  “library_updates”  αποτελείται  από  τρία  γνωρίσματα  όπως  φαίνεται  στην 

Εικόνα 10. Αρχικά έχουμε το πρωτεύον κλειδί,  “id” που χρησιμοποιείται ως συνήθως για την 
ταυτοποίηση  κάθε  εγγραφής  στον  πίνακα.  Έπειτα  έχουμε  το  γνώρισμα  “lib_id”,  τύπου 
“int(10)” που λειτουργεί ως ξένο κλειδί συνδέοντας με τον πίνακα “libraries” στο αντίστοιχο 
“id”. Έτσι δημιουργούμε την σύνδεση μεταξύ προσωρινού αρχείου και βιβλιοθήκης στην οποία 
αντιστοιχεί. Τέλος έχουμε το γνώρισμα “library”, τύπου “varchar(50)” που περιέχει το όνομα 
του προσωρινού αρχείου. Έτσι, με έναν απλό έλεγχο του πίνακα αυτού μπορούμε να βρούμε 
άμεσα τις προτεινόμενες αλλαγές για κάθε βιβλιοθήκη καθώς και το αρχείο που τις περιέχει. 

Ολοκληρώνοντας την περιγραφή της βάσης δεδομένων, αποκτούμε μια αρχική εικόνα 

του  τρόπου  οργάνωσης  της  εφαρμογής  μας.  Παρόλα  αυτά,  υπάρχουν  δεδομένα  που  δεν 
ανήκουν  στην  βάση  δεδομένων  αλλά  η  συγκράτησή  τους  είναι  ζωτικής  σημασίας  για  τις 
λειτουργίες που χρησιμοποιούμε. Τέτοια δεδομένα παίρνουν την μορφή αρχείων και όπως θα 
δούμε στο επόμενο υποκεφάλαιο, είναι οργανωμένα σε δομές καταλόγων. 

 

3.2 Κατάλογοι Αρχείων 

 

 

Η εφαρμογή που αναπτύξαμε έχει ως βασικό στόχο την δημιουργία, μεταγλώττιση και 

προσομοίωση  προγραμμάτων.  Αυτές  οι  διαδικασίες  αποτελούνται  από  ενέργειες  που 
εφαρμόζονται σε αρχεία. Από την δημιουργία και επεξεργασία των αρχείων VHDL έως την 
εξαγωγή  μεταγλωττισμένων  αρχείων  και  αρχείων  αποτελεσμάτων  προσομοίωσης.  Όπως 
είδαμε παραπάνω, η σωστή δομή δεδομένων είναι ένας σημαντικός καταλύτης για την σωστή 
λειτουργία της  εφαρμογής. Η λογική αυτή ισχύει και στην δομή καταλόγων. Παρακάτω θα 
εξηγήσουμε  την  δομή  των  καταλόγων  που  χρησιμοποιούμε.  Έχουμε  χωρίσει  αρχικά  τους 
καταλόγους  σε  μόνιμους  και  προσωρινούς.  Έπειτα  διακρίνεται  η  κατηγορία  χρήσης  κάθε 
καταλόγου. Αρχικά θα επεκτείνουμε την δομή των μόνιμων καταλόγων με τα αρχεία χρηστών 
και  βιβλιοθηκών.  Μετά  θα  δούμε  τον  τρόπο  διατήρησης  των  προσωρινών  καταλόγων 
κατηγοριοποιημένων  σε  αρχεία  επισκεπτών,  αρχεία  εργασιών  προσομοίωσης  και 
μεταγλώττισης και τέλος σε αρχεία αναφοράς κατάστασης. 

 

3.2.1 Αρχεία Χρηστών και Βιβλιοθηκών 
 

 

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

διατήρηση αρχείων χρηστών και ως προς τη χρήση για την διατήρηση αρχείων βιβλιοθηκών. 
Όπως  θα  δούμε  παρακάτω,  οι  κατάλογοι  αυτοί  βρίσκονται  στο  ίδιο  επίπεδο  του  βασικού 
μόνιμου καταλόγου που βρίσκεται στην διαδρομή “/home/user/hdl-compiler/”. 

 

Ο  κατάλογος  χρηστών  περιέχει  τα  αρχεία  κάθε  χρήστη.  Κατά  την  δημιουργία  ενός 

λογαριασμού  χρήστη,  δημιουργείται  στην  παραπάνω  διαδρομή  ένας  νέος  κατάλογος  με 
ονομασία που λαμβάνεται από το όνομα του χρήστη. Έτσι, εάν ο χρήστης έχει δώσει ως όνομα 
“User”  θα  δημιουργηθεί  ο  κατάλογος  “/home/user/hdl-compiler/User/”.  Όταν  ο  χρήστης 
δημιουργήσει  ένα  έργο,  τότε  χρησιμοποιώντας  την  ονομασία  του  έργου,  κατάλληλα 
τροποποιημένη, θα δημιουργηθεί και κατάλογος στον οποίο θα διατηρούνται τα αρχεία αυτού 
του  έργου.  Εάν  για  παράδειγμα  ο  χρήστης  “User”  δημιουργήσει  το  έργο  “Project  1”,  θα