background image

Κεφάλαιο 2 - Θεωρητικό Υπόβαθρο 
 

 

 

 

26 

 

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

 

2.2.4 GHDL 
 

 

Το  εργαλείο  GHDL  [25]  αναλαμβάνει  την  μεταγλώττιση  και  προσομοίωση  της 

γλώσσας VHDL. Το GHDL μεταγλωττίζει τον κώδικα VHDL σε γλώσσα μηχανής δίνοντας 
την δυνατότητα για γρηγορότερη προσομοίωση από εργαλεία που τον μετατρέπουν σε κάποια 
ενδιάμεση  γλώσσα  προγραμματισμού.  Ενσωματώσαμε  λοιπόν  το  εργαλείο  αυτό  στην 
εφαρμογή μας με σκοπό την άμεση και γρήγορη εξαγωγή αποτελεσμάτων προσομοίωσης. 
 

Το  GHDL  είναι  ένα  τοπικό  εργαλείο.  Το  εργαλείο  αυτό  χρησιμοποιείται  από  τον 

εξυπηρετητή προσφέροντας τις δυνατότητές του στον χρήστη χωρίς την ανάγκη μεταφόρτωσης 
και  εγκατάστασής  του.  Στο  σύστημά  μας,  διατηρούμε  έναν  φάκελο  αρχείων  εργασίας.  Ένα 
σενάριο  τερματικού  ελέγχει  συνεχώς  αυτόν  τον  φάκελο  για  αίτηση  εργασίας.  Όταν  ένας 
χρήστης θέλει να μεταγλωττίσει ένα αρχείο ή να προσομοιώσει ένα πρόγραμμα, δημιουργείται 
ένα αρχείο αίτησης εργασίας με τις απαραίτητες εντολές για την αντίστοιχη μεταγλώττιση ή 
προσομοίωση.  Τότε  το  σενάριο  τερματικού  θα  εκτελέσει  την  λειτουργία,  εκτελώντας  το 
εργαλείο GHDL με τις κατάλληλες εισόδους, και θα απομακρύνει το αρχείο εργασίας. Έτσι, 
έχουμε ένα δυνατό και γρήγορο τοπικό εργαλείο, προσαρμοσμένο με κατάλληλο τρόπο ώστε 
να  μεταφέρονται  αποτελεσματικά  οι  δυνατότητές  του  στην  δική  μας  εφαρμογή,  σε  ένα 
διαδικτυακό περιβάλλον. 
 

2.2 Σύνοψη Κεφαλαίου 

 

Προσθέτοντας  τα  εξωτερικά  εργαλεία  ενός  ανεπτυγμένου  συστήματος  με  τα  βασικά 

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