Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17698
Full metadata record
DC FieldValueLanguage
dc.contributor.authorΓαδ, Νικόλαος-
dc.date.accessioned2020-10-12T09:24:10Z-
dc.date.available2020-10-12T09:24:10Z-
dc.date.issued2020-10-06-
dc.identifier.urihttp://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17698-
dc.description.abstractΣκοπός της παρούσας διπλωματικής εργασίας είναι η σχεδίαση ενός συστήματος το οποίο δίνει τη δυνατότητα σε ένα χρήστη να μεταγλωττίσει πηγαίο κώδικα μιας γλώσσας υψηλού επιπέδου σε Webassembly, χωρίς να γνωρίζει ο ίδιος τις εξαρτήσεις που χρειάζεται ο εκάστοτε μεταγλωττιστής ώστε να λειτουργήσει. Τις τελευταίες δεκαετίες, οι άνθρωποι χρησιμοποιούν καθημερινά ένα μεγάλο σύνολο εφαρμογών, οι οποίες επηρεάζουν διάφορους τομείς της ζωή τους. Το είδος των εφαρμογών αυτών εκτείνεται από απλά παιχνίδια έως σύνθετα νευρωνικά δίκτυα και συστήματα τεχνητής νοημοσύνης για ιατρική υποβοήθηση. Συστηματικά, γίνεται προσπάθεια ώστε οι εφαρμογές αυτές να αξιοποιηθούν και σε άλλους τομείς ή να τροποποιηθούν ώστε να ικανοποιήσουν άλλες ανάγκες. Ωστόσο, αυτό δεν είναι πάντοτε εφικτό καθώς πολλές εφαρμογές χρειάζεται να είναι γρήγορες και αποδοτικές αλλά οι τροποποιήσεις που απαιτούνται ώστε να χρησιμοποιηθούν σε άλλους τομείς είτε είναι αδύνατες, είτε είναι δύσκολες, είτε εισάγουν καθυστέρηση στη λειτουργία τους, καθιστώντας τες δύσχρηστες και πιθανώς επικίνδυνες. Η Webassembly αποτελεί μία γρήγορη γλώσσα χαμηλού επιπέδου, η οποία μπορεί να τρέξει σε φυλλομετρητές και, συγχρόνως, να λειτουργήσει ως γλώσσα-στόχος κατά τη μεταγλώττιση γλωσσών υψηλού επιπέδου. Με αυτόν τον τρόπο, επιτρέπεται σε εφαρμογές γραμμένες σε γλώσσες υψηλού επιπέδου που παραδοσιακά δε μπορούσαν να τρέξουν σε φυλλομετρητές, να αξιοποιηθούν από όλες τις συσκευές που διαθέτουν φυλλομετρητή, δίχως να προκαλείται μεγάλη μεταβολή στην απόδοσή τους. Δεδομένου πως υπάρχουν διαφορετικοί μεταγλωττιστές για τις διάφορες γλώσσες, ένας προγραμματιστής χρειάζεται να χρησιμοποιήσει και να μάθει ένα μεγάλο σύνολο εργαλείων προτού μπορέσει να μετατρέψει τους υπάρχοντες κώδικές τους σε Webassembly. Το σύστημα που μελετάται και σχεδιάζεται στην παρούσα διπλωματική εργασία, χρησιμοποιώντας εξυπηρετητές, βάση δεδομένων και containers, αποτελεί μία απόδειξη πως μπορεί να σχεδιαστεί ένα σύστημα το οποίο να κρύβει από τους χρήστες του την πολυπλοκότητα των μεταγλωττιστών, δίνοντάς τους τη δυνατότητα να μεταγλωττίσουν εύκολα γλώσσες υψηλού επιπέδου σε Webassembly μέσω μίας γενικευμένης ”Διεπαφής Προγραμματισμού Εφαρμογής” (API) ή μίας ”Διεπαφής Χρήστη” (UI), επιστρέφοντας τα αποτελέσματα της μεταγλώττισης μέσα σε ένα συμπιεσμένο ZIP αρχείο.en_US
dc.languageelen_US
dc.subjectΜεταγλωττιστέςen_US
dc.subjectΕξυπηρετητήςen_US
dc.subjectΦυλλομετρητήςen_US
dc.subjectΣυλλογή Μεταγλωττιστώνen_US
dc.subjectΒάση Δεδομένωνen_US
dc.subjectΓλώσσα Φυλλομετρητήen_US
dc.subjectWebassemblyen_US
dc.subjectCompilersen_US
dc.subjectCompiler Collectionen_US
dc.subjectBrowseren_US
dc.subjectBrowser Languageen_US
dc.subjectServeren_US
dc.subjectDatabaseen_US
dc.subjectDocker Containersen_US
dc.subjectBackenden_US
dc.subjectFrontenden_US
dc.subjectAngularen_US
dc.subjectPythonen_US
dc.subjectPostgreSQLen_US
dc.subjectScalabilityen_US
dc.subjectProof of Concepten_US
dc.subjectPoCen_US
dc.subjectΚλιμακωσιμότηταen_US
dc.titleΜεταγλώττιση σε WebAssembly ως Υπηρεσίαen_US
dc.description.pages54en_US
dc.contributor.supervisorΠαπασπύρου Νικόλαοςen_US
dc.departmentΤομέας Τεχνολογίας Πληροφορικής και Υπολογιστώνen_US
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File Description SizeFormat 
Webassembly_Compilation_as_a_Service.pdf1.04 MBAdobe PDFView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.