Circular Meta-IDE for the DELTA Language: Dynamic Extensibility, Remote Deployment, Interactive Introspection and Syntax Directed Editor

 
Το τεκμήριο παρέχεται από τον φορέα :
Πανεπιστήμιο Κρήτης
Αποθετήριο :
E-Locus Ιδρυματικό Καταθετήριο
δείτε την πρωτότυπη σελίδα τεκμηρίου
στον ιστότοπο του αποθετηρίου του φορέα για περισσότερες πληροφορίες και για να δείτε όλα τα ψηφιακά αρχεία του τεκμηρίου*
κοινοποιήστε το τεκμήριο



Κυκλικό Μετά-περιβάλλον Ανάπτυξης για τη Γλώσσα DELTA: Δυναμική Επεκτασιμότητα, Έλεγχος μέσω Δικτύου, Διεπαφή Ενδοσκόπησης και Γραμματικά Οδηγούμενος Συντάκτης Κώδικα
Circular Meta-IDE for the DELTA Language: Dynamic Extensibility, Remote Deployment, Interactive Introspection and Syntax Directed Editor

Γεωργαλής, Ιωάννης
Georgalis, Ioannis

Στεφανίδης, Κωνσταντίνος
Σαββίδης, Αντώνης

Μετά τις γλώσσες προγραμματισμού, τα Ολοκληρωμένα Περιβάλλοντα Ανάπτυξης (Integrated Development Environments - IDEs) θεωρούνται ο σημαντικότερος παράγοντας για την ανάπτυξη λογισμικού, παίζοντας κρίσιμο ρόλο στον κύκλο ανάπτυξης προγραμμάτων, ιδιαίτερα δε για τα μεσαίας και μεγάλης κλίμακας συστήματα. Σε αυτό το πλαίσιο, το θέμα της παρούσας εργασίας είναι το σύστημα Sparrow, ένα IDE για τη δυναμική οντοκεντρική γλώσσα Delta. Το Sparrow κατασκευάστηκε ακολουθώντας δύο κυρίους στόχους: (α) να υποστηρίζει επεκτασιμότητα των λειτουργιών του, επιτρέποντας να αναπτυχθούν οι επεκτάσεις αυτές χρησιμοποιώντας το ίδιο το Sparrow, δηλαδή είναι ένα κυκλικό IDE, και (β) να υποστηρίζει τη χρήση του από τρίτα συστήματα διευκολύνοντας τη δημιουργία IDEs εξειδικευμένων στο εκάστοτε πεδίο εφαρμογών, δηλαδή είναι ένα μετα-IDE. Στο πλαίσιο αυτής της εργασίας, αναπτύχθηκε ένα μεγάλο μέρος του Sparrow, που αντιπροσωπεύει περίπου το ήμισι της υλοποίησης του όλου συστήματος, και αφορά στα παρακάτω ζητήματα: (α) την υλοποίηση της βασικής δομής διαχείρισης τμημάτων λογισμικού που υποστηρίζει την επεκτασιμότητα του συστήματος, η οποία καθιστά δυνατή τη δυναμική εισαγωγή και χρήση των τμημάτων από τους προγραμματιστές, (β) την υλοποίηση του μηχανισμού ελέγχου μέσω δικτύου, ο οποίος επιτρέπει σε εξωτερικές εφαρμογές να χρησιμοποιούν δυναμικά το IDE ως τμήμα, με τρόπο που εξαρτάται από το εκάστοτε πεδίο εφαρμογών, (γ) την υλοποίηση διεπαφής ενδοσκόπησης των τμημάτων κώδικα, η οποία επιτρέπει στους προγραμματιστές να βλέπουν και να καλούν τις λειτουργίες των τμημάτων του IDE κατά τη διάρκεια της χρήσης του, και (δ) την υλοποίηση του συντάκτη κώδικα, ο οποίος μπορεί να παρουσιάζει σε πραγματικό χρόνο με γραφικό τρόπο τα τμήματα του πηγαίου κώδικα σύμφωνα με το συντακτικό της γλώσσας, υλοποιώντας μία μέθοδο γρήγορης, αυξητικής συντακτικής ανάλυσης ειδικά σχεδιασμένης για τη γλώσσα Delta. Η παρούσα εργασία κατέστησε εφικτή την ανάπτυξη του Sparrow ως μία ανοικτή και επεκτάσιμη πλατφόρμα λογισμικού, ακολουθώντας τη φιλοσοφία /tabula// rasa/, ώστε να υποστηρίζει ευέλικτα τη λειτουργικότητα ενός IDE υλοποιώντας ένα γενικό αρχιτεκτονικό πλαίσιο που υποστηρίζει τη δυναμική συρραφή των λειτουργικών τμημάτων. Σε αυτές τις γραμμές, αναμένουμε τα μελλοντικά IDEs να κινηθούν σε παρόμοιες κατευθύνσεις, προσφέροντας ακόμη πιο ευέλικτες και ανοικτές υποδομές, επιτρέποντας στους προγραμματιστές να εισάγουν επεκτάσεις και προσαρμογές σύμφωνα με τις ιδιαίτερές τους προγραμματιστικές συνήθειες καθώς και τις εκάστοτε αναδυόμενες προγραμματιστικές τεχνικές. (EL)
Following programming languages, Integrated Development Environments (IDEs) are considered as the next decisive factor for effective software development, playing a critical role in the software lifecycle, especially when it targets medium-to-large-scale systems. In this context, the subject of this Thesis is Sparrow; an IDE for the dynamic, object-based programming language – Delta. Sparrow was developed with the following two key objectives: (a) to support extensibility of features, allowing such extensions to be developed using Sparrow, i.e. it is a circular IDE, and (b) to facilitate open deployment by third parties to build domain-oriented IDEs, i.e. it is a meta-IDE. In this Thesis, the design and implementation of a large part of Sparrow has been carried out – corresponding roughly to half of the system’s implementation, – addressing the following issues: (a) the implementation of the basic component framework for extensibility, enabling developers dynamically introduce IDE components, (b) the implementation of the mechanism for remote deployment, enabling third-party applications dynamically utilize the IDE in a domain specific manner, (c) the implementation of a component introspection User Interface, enabling users interactively review and invoke the underlying functionality of all IDE components, and (d) the implementation of the source code editor supporting real-time, true syntax highlighting during editing, relying on quick incremental parsing particularly suited to the Delta language. The work reported in this Thesis enabled the Sparrow IDE to play the role of an open platform capable of dynamically hosting IDE functionality, reflecting the /tabula rasa /concept. Along these lines, we expect future IDEs to move towards these directions, delivering more flexible and open infrastructures by enabling users introduce extensions and customizations reflecting their individual programming habits or any emerging programming techniques. (EN)

text

Πανεπιστήμιο Κρήτης (EL)
University of Crete (EN)

2007-12-07




*Η εύρυθμη και αδιάλειπτη λειτουργία των διαδικτυακών διευθύνσεων των συλλογών (ψηφιακό αρχείο, καρτέλα τεκμηρίου στο αποθετήριο) είναι αποκλειστική ευθύνη των αντίστοιχων Φορέων περιεχομένου.