LaTeX 2013 lecture series: Writing presentations with Beamer.
In this presentation, Eugenia Kontopoulou delivers an in-depth introduction to the Beamer LaTeX extension for producing high quality presentations.
CEID scgroup 2013 LaTeX lecture series: Special edition.
These are the slides used in a special LaTeX introduction that took place in the Department of Literature on November 25th 2013.
Este documento trata sobre el impacto de las drogas en la salud de los jóvenes en Hidalgo, México. Explica los principales tipos de drogas que se consumen en la región, incluyendo su composición química y efectos. Señala que en Hidalgo hay más de 400,000 casos de adicción, siendo las drogas más consumidas el tabaco, alcohol, marihuana, cocaína e inhalables. El consumo de drogas genera daños a la salud y problemas psicosociales.
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...ISSEL
Η στενή συνεργασία μεταξύ των προγραμματιστών για την ανάπτυξη καινοτόμων έργων λογισμικού κρίνεται απαραίτητη. Για αυτόν τον λόγο, υπάρχουν αρκετές διαδικτυακές πλατφόρμες φιλοξενίας προγραμμάτων, οι οποίες δίνουν τη δυνατότητα στους χρήστες τους να παρακολουθεί ο ένας τις αλλαγές, τις προτάσεις και τις παρατηρήσεις του άλλου για την εξέλιξη και τη βελτίωση του κώδικα. Επιπλέον, οι πλατφόρμες αυτές ελέγχουν τις διαφορετικές εκδόσεις του κώδικα ενός έργου, ώστε ο προγραμματιστής να μπορεί να ανατρέξει σε οποιαδήποτε από αυτές, εάν το επιθυμεί. Όλες οι τροποποιήσεις, οι οποίες διενεργούνται από ένα πρόσωπο της ομάδας ανάπτυξης λογισμικού σε μία δεδομένη χρονική στιγμή, συγκεντρώνονται σε ένα commit, όπου καταγράφονται μάλιστα όλοι οι λόγοι πίσω από αυτές. Έτσι, γίνεται κατανοητό ότι τέτοιες συλλογές αλλαγών εμπεριέχουν πολλές χρήσιμες πληροφορίες για τον τρόπο με τον οποίο εξελίσσεται ένα έργο λογισμικού. Η εφαρμογή τεχνικών του κλάδου της εξόρυξης δεδομένων στις δημόσιες αποθήκες λογισμικού και σε όλα τα δεδομένα που αναφέρθηκαν παραπάνω θα μπορούσε να φέρει στο φως ορισμένες συχνές διορθώσεις σφαλμάτων, συστηματικές τροποποιήσεις, επαναλαμβανόμενους τύπους αλλαγών στην αρχιτεκτονική, καθώς και κάποια ευρέως χρησιμοποιούμενα σχεδιαστικά πρότυπα, γνωστά ή μη. Μία εκτενής βιβλιογραφική έρευνα σε αυτόν τον τομέα αποκαλύπτει ότι οι περισσότερες προσπάθειες επιστημόνων έχουν στραφεί στις διορθώσεις σφαλμάτων και στις συστηματικές τροποποιήσεις, με αποτέλεσμα να έχουν αγνοηθεί κάποια λιγότερο λεπτομερή, δηλαδή πιο υψηλού επιπέδου (high level) μοτίβα εξέλιξης ή συγγραφής κώδικα. Στο πλαίσιο αυτό, η παρούσα διπλωματική εργασία προσπαθεί να ανακαλύψει τις σχέσεις ανάμεσα στις διάφορες κλάσεις ενός προγράμματος, αλλά και να παρακολουθήσει τον τρόπο με τον οποίο αυτές αλλάζουν στο πέρασμα του χρόνου. Για να επιτευχθούν οι παραπάνω στόχοι, προσαρμόζεται ένα εργαλείο εξαγωγής σχέσεων (Relationships Extractor), η λειτουργία του οποίου βασίζεται στην ανάλυση των Αφηρημένων Συντακτικών Δέντρων (Abstract Syntax Trees) που αφορούν τους κώδικες μερικών από τα πιο δημοφιλή έργα λογισμικού της διαδικτυακής πλατφόρμας του Github. Αφού αναλυθούν και επεξεργαστούν αυτά τα συντακτικά δέντρα, εξάγονται πληροφορίες για τη λειτουργία των κλάσεων, την αφαιρετικότητά τους και την κληρονομικότητα, οι οποίες στη συνέχεια μοντελοποιούνται σε γράφους (με τις κλάσεις ως κόμβους και τις συνδέσεις τους ως ακμές). Αφού λοιπόν ολοκληρωθούν οι παραπάνω ενέργειες για την τελική μορφή του εκάστοτε προγράμματος, η ίδια σειρά ενεργειών ακολουθείται και για κάθε στιγμιότυπό του, εξάγοντας τη διαφορά ως προς τις σχέσεις ανάμεσα στην έκδοσή του πριν και μετά από κάθε commit ξεχωριστά. Τέλος, εφαρμόζοντας τον αλγόριθμο gSpan (graph-based Substructure pattern mining), έναν αλγόριθμο αναζήτησης συχνών πογράφων σε ένα σύνολο γράφων, ανιχνεύονται ορισμένα ευρέως χρησιμοποιούμενα από την παγκόσμια προγραμματιστική κοινότητα, μοτίβα σχεδίασης και εξέλιξης λογισμικού.
Applying Data Mining Techniques on Software Repositories to Extract Design an...ISSEL
Close collaboration between software developers is considered essential in order to build innovative software projects. For this reason, there are several online program-hosting platforms, which enable their users to watch each other’s changes, recommendations and comments towards the improvement and evolution of code. These platforms also control different versions of the software code so that the developer can revert to previous ones if desired. All the modifications performed at a given time by a member of the software development team are bundled in a commit, where the main reasons behind them are also recorded. As a consequence, it goes without saying that these series of changes include a lot of useful information about the way a software project evolves. Applying data mining techniques on public software repositories and the data we discussed above could unveil some common bug fixes, systematic edits, frequent types of changes in a project’s architecture and frequently-used design patterns either known or unknown ones. An extensive bibliographic research in this domain reveals that the majority of scientific efforts has focused on bug fixes and systematic edits ignoring some more coarse-grained (high-level) code evolution or design patterns. In this context, this dissertation tries to extract the relationships between the classes of an object-oriented program, while also seeking to monitor the way they evolve over time. To achieve these goals, this diploma thesis adapts a Relationship Extractor tool based on the Abstract Syntax Trees analysis of some of the most popular software projects in Github web platform. After analyzing and processing those syntax trees, useful information is extracted concerning the operation, the abstraction level as well as the inheritance of classes. This information is then modeled as graphs (with classes as nodes and the connections between them as edges). These steps are not only executed for the latest version of a project, but also in each and every commit with a view to extracting the difference in relationships between the versions of a project before and after the specific commit. Finally, gSpan, which is a frequent-subgraph mining algorithm, is applied, in order to detect code design and evolution patterns used by the software community worldwide.
CEID scgroup 2013 LaTeX lecture series: Special edition.
These are the slides used in a special LaTeX introduction that took place in the Department of Literature on November 25th 2013.
Este documento trata sobre el impacto de las drogas en la salud de los jóvenes en Hidalgo, México. Explica los principales tipos de drogas que se consumen en la región, incluyendo su composición química y efectos. Señala que en Hidalgo hay más de 400,000 casos de adicción, siendo las drogas más consumidas el tabaco, alcohol, marihuana, cocaína e inhalables. El consumo de drogas genera daños a la salud y problemas psicosociales.
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων σε Αποθήκες Λογισμικού με σκοπό την Εξα...ISSEL
Η στενή συνεργασία μεταξύ των προγραμματιστών για την ανάπτυξη καινοτόμων έργων λογισμικού κρίνεται απαραίτητη. Για αυτόν τον λόγο, υπάρχουν αρκετές διαδικτυακές πλατφόρμες φιλοξενίας προγραμμάτων, οι οποίες δίνουν τη δυνατότητα στους χρήστες τους να παρακολουθεί ο ένας τις αλλαγές, τις προτάσεις και τις παρατηρήσεις του άλλου για την εξέλιξη και τη βελτίωση του κώδικα. Επιπλέον, οι πλατφόρμες αυτές ελέγχουν τις διαφορετικές εκδόσεις του κώδικα ενός έργου, ώστε ο προγραμματιστής να μπορεί να ανατρέξει σε οποιαδήποτε από αυτές, εάν το επιθυμεί. Όλες οι τροποποιήσεις, οι οποίες διενεργούνται από ένα πρόσωπο της ομάδας ανάπτυξης λογισμικού σε μία δεδομένη χρονική στιγμή, συγκεντρώνονται σε ένα commit, όπου καταγράφονται μάλιστα όλοι οι λόγοι πίσω από αυτές. Έτσι, γίνεται κατανοητό ότι τέτοιες συλλογές αλλαγών εμπεριέχουν πολλές χρήσιμες πληροφορίες για τον τρόπο με τον οποίο εξελίσσεται ένα έργο λογισμικού. Η εφαρμογή τεχνικών του κλάδου της εξόρυξης δεδομένων στις δημόσιες αποθήκες λογισμικού και σε όλα τα δεδομένα που αναφέρθηκαν παραπάνω θα μπορούσε να φέρει στο φως ορισμένες συχνές διορθώσεις σφαλμάτων, συστηματικές τροποποιήσεις, επαναλαμβανόμενους τύπους αλλαγών στην αρχιτεκτονική, καθώς και κάποια ευρέως χρησιμοποιούμενα σχεδιαστικά πρότυπα, γνωστά ή μη. Μία εκτενής βιβλιογραφική έρευνα σε αυτόν τον τομέα αποκαλύπτει ότι οι περισσότερες προσπάθειες επιστημόνων έχουν στραφεί στις διορθώσεις σφαλμάτων και στις συστηματικές τροποποιήσεις, με αποτέλεσμα να έχουν αγνοηθεί κάποια λιγότερο λεπτομερή, δηλαδή πιο υψηλού επιπέδου (high level) μοτίβα εξέλιξης ή συγγραφής κώδικα. Στο πλαίσιο αυτό, η παρούσα διπλωματική εργασία προσπαθεί να ανακαλύψει τις σχέσεις ανάμεσα στις διάφορες κλάσεις ενός προγράμματος, αλλά και να παρακολουθήσει τον τρόπο με τον οποίο αυτές αλλάζουν στο πέρασμα του χρόνου. Για να επιτευχθούν οι παραπάνω στόχοι, προσαρμόζεται ένα εργαλείο εξαγωγής σχέσεων (Relationships Extractor), η λειτουργία του οποίου βασίζεται στην ανάλυση των Αφηρημένων Συντακτικών Δέντρων (Abstract Syntax Trees) που αφορούν τους κώδικες μερικών από τα πιο δημοφιλή έργα λογισμικού της διαδικτυακής πλατφόρμας του Github. Αφού αναλυθούν και επεξεργαστούν αυτά τα συντακτικά δέντρα, εξάγονται πληροφορίες για τη λειτουργία των κλάσεων, την αφαιρετικότητά τους και την κληρονομικότητα, οι οποίες στη συνέχεια μοντελοποιούνται σε γράφους (με τις κλάσεις ως κόμβους και τις συνδέσεις τους ως ακμές). Αφού λοιπόν ολοκληρωθούν οι παραπάνω ενέργειες για την τελική μορφή του εκάστοτε προγράμματος, η ίδια σειρά ενεργειών ακολουθείται και για κάθε στιγμιότυπό του, εξάγοντας τη διαφορά ως προς τις σχέσεις ανάμεσα στην έκδοσή του πριν και μετά από κάθε commit ξεχωριστά. Τέλος, εφαρμόζοντας τον αλγόριθμο gSpan (graph-based Substructure pattern mining), έναν αλγόριθμο αναζήτησης συχνών πογράφων σε ένα σύνολο γράφων, ανιχνεύονται ορισμένα ευρέως χρησιμοποιούμενα από την παγκόσμια προγραμματιστική κοινότητα, μοτίβα σχεδίασης και εξέλιξης λογισμικού.
Applying Data Mining Techniques on Software Repositories to Extract Design an...ISSEL
Close collaboration between software developers is considered essential in order to build innovative software projects. For this reason, there are several online program-hosting platforms, which enable their users to watch each other’s changes, recommendations and comments towards the improvement and evolution of code. These platforms also control different versions of the software code so that the developer can revert to previous ones if desired. All the modifications performed at a given time by a member of the software development team are bundled in a commit, where the main reasons behind them are also recorded. As a consequence, it goes without saying that these series of changes include a lot of useful information about the way a software project evolves. Applying data mining techniques on public software repositories and the data we discussed above could unveil some common bug fixes, systematic edits, frequent types of changes in a project’s architecture and frequently-used design patterns either known or unknown ones. An extensive bibliographic research in this domain reveals that the majority of scientific efforts has focused on bug fixes and systematic edits ignoring some more coarse-grained (high-level) code evolution or design patterns. In this context, this dissertation tries to extract the relationships between the classes of an object-oriented program, while also seeking to monitor the way they evolve over time. To achieve these goals, this diploma thesis adapts a Relationship Extractor tool based on the Abstract Syntax Trees analysis of some of the most popular software projects in Github web platform. After analyzing and processing those syntax trees, useful information is extracted concerning the operation, the abstraction level as well as the inheritance of classes. This information is then modeled as graphs (with classes as nodes and the connections between them as edges). These steps are not only executed for the latest version of a project, but also in each and every commit with a view to extracting the difference in relationships between the versions of a project before and after the specific commit. Finally, gSpan, which is a frequent-subgraph mining algorithm, is applied, in order to detect code design and evolution patterns used by the software community worldwide.
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...ISSEL
Σήμερα, η ανάπτυξη της τεχνολογίας και η αξιοποίηση της σε όλους τους τομείς της ζωής του ανθρώπου, δημιουργεί την ανάγκη για λογισμικό που είναι έυκολα προσαρμόσιμο, ευπαρουσίαστο, επιλύει πολλούς τύπους προβλημάτων, είναι οικονομικό και αξιόπιστο. Η Μοντελοστραφής Μηχανική (MDE), δηλαδή η ανάπτυξη λογισμικού που στηρίζεται σε μοντέλα, η αυτόματη παραγωγή κώδικα με βάση αυτά τα μοντέλα, η δυνατότητα γραφικής απεικόνισης του λογισμικού σε συνδυασμό με τις τεχνικές του Αυτοματοποιημένου Ελέγχου Συμπερασμών (Automated Reasoning) καλύπτουν ανά περίπτωση τις παραπάνω ανάγκες. Στην παρούσα διπλωματική εργασία, έγινε αξιοποίηση όλων των παραπάνω τεχνικών για την κατασκευή ενός ολοκληρωμένου εργαλείου, στην πλατφόρμα του Eclipse, με στόχο την κάλυψη των προαναφερθέντων αναγκών. Πιο συγκεκριμένα στα πλαίσια της Μοντελοστραφούς Μηχανικής (MDE) κατασκευάστηκε ένα μέτα-μοντέλο που αποτελεί τον πηρύνα του συστήματος και ενσωματώνει όρους από το πεδίο του Λογισμού. Στη συνέχεια, πάνω σε αυτό δημιουργήθηκε μια γραφική διεπαφή, στο περιβάλλον του Sirius, που δίνει την δυνατότητα στον ενδιαφερόμενο να καταγράψει, με γραφικό τρόπο, το μοντέλο που επιθυμεί. Η καταγραφή του μοντέλου γίνεται με την μορφή εξισώσεων σωστά διατυπωμένων στα πρότυπα της Κατηγορηματικής Λογικής Πρώτης Τάξης (FOL). Από αυτό το μοντέλο ύστερα, παράγεται αυτόματα κώδικας Java, ο οποίος αξιοποιώντας συναρτήσεις και αντικείμενα της βιβλιοθήκης TweetyProject, διαμορφώνεται κατάλληλα ώστε να αποτελεί έγκυρη είσοδο για τον built-in prover της ίδιας βιβλιοθήκης που μπορεί να πραγματοποιεί λογικούς ελέγχους στα πρότυπα του Αυτοματοποιημένου Ελέγχου Συμπερασμών. Μερικές ακόμα βοηθητικές συναρτήσεις σε Java, ολοκληρώνουν το εργαλείο της διπλωματικής. Όλα τα παραπάνω καθιστούν, το σύστημα που αναπτύχθηκε σε αυτή την διπλωματική, ικανό να χρησιμοποιηθεί από διάφορους υπάρχοντες μηχανισμούς αυτόματης παραγωγής συστημάτων, προκειμένου να ελέγξουν την εγκυρότητα των υπό σχεδίαση συστημάτων, δίχως κάποιος να απαιτείται να υλοποιήσει λογισμικό που κάνει λογικούς συμπερασμούς.
Design and Implementation of a Mechanism that automates the generation of Sof...ISSEL
Today, the development of technology and its utilization in all areas of human life, creates the need for software that is easily customizable, presentable, solves many types of problems, is economical and reliable. Model-Driven Engineering (MDE), ie software development based on models, the automatic production of code based on these models, the ability to graphically display the software, in combination with the techniques of Automated Reasoning meet the above needs. In the current diploma thesis, in order to meet the aforementioned needs, all the above techniques were utilized for the construction of a complete software tool, on the Eclipse platform. More specifically, in the framework of Model-Driven Engineering (MDE), a meta model was constructed which constitutes the core of the system and incorporates terms from the field of Logic. Expanding on this, a graphical interface was created, in the Sirius environment, which allows the interested party to construct, in a graphic way, the model he wants. The construction of the model is done in the form of equations, correctly formulated in the standards of First Order Logic (FOL). From this model, Java code is automatically generated, which utilizing functions and objects of the TweetyProject library, is properly configured to be a valid input for the built-in prover of the same library, that can perform logical tests in the standards of Automated Logic. Some more functions written in Java, complete the software tool of this diploma thesis. All of the above, constitute the software tool developed in this diploma, capable of being used by various mechanisms that automatically produce systems, in order to check the validity of the systems under design, without the need to implement additional software that draws logical conclusions.
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGOIraklis Markelis
Μια εναλλακτική πρόταση για την διδασκαλία των βασικών προγραμματιστικών αρχών στην Γ΄ τάξη του Γυμνασίου.
Ο σκοπός της χρήσης των εργαλείων που προτείνονται είναι να δοθεί η ευκαιρία στις μαθήτριες και στους μαθητές:
• Να δημιουργήσουν χρήσιμες γνώσεις στον προγραμματισμό οι οποίες θα μπορούν εύκολα να συνδεθούν με εμπειρίες των επόμενων τάξεων του Λυκείου
• Να γνωρίσουν στην πράξη και να εκτιμήσουν τα εργαλεία που προσφέρει το λειτουργικό σύστημα Linux και οι εφαρμογές Ανοιχτού Κώδικα.
Το εκπαιδευτικό υλικό έχει άδεια Creative Commons BY-NC-SA και μπορείτε να το βρείτε στον σύνδεσμο: https://goo.gl/0n6wcm
Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αν...WROHellas
Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αναστάσιος Λαδιάς
Στο πλαίσιο του WRO Teacher Camp 2018 που προσφέρθηκε δωρεάν σε εκπαιδευτικούς όλων των βαθμίδων από τον WRO Hellas την περίοδο 7-9 Σεπτεμβρίου 2018
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
Το διευρυµένο τοπίο του λογισµικού ανοιχτού κώδικα OSS αποδεικνύει την αυξανόµενη παραγωγική δραστηριότητα των µηχανικών λογισµικού που συνεισφέρουν σε πολλαπλές πλατφόρµες και διάφορα έργα λογισµικού. Η συµµετοχή τους σε αυτά τα έργα αναδεικνύει το ευρύ ϕάσµα των δεξιοτήτων τους, από τη συγγραφή κώδικα έως τη συνεργασία τους µε άλλους µηχανικούς λογισµικού. Καθώς στο οικοσύστηµα του λογισµικού ανοιχτού κώδικα υπάρχει µια διαρκής και συνεχώς αυξανόµενη δραστηριότητα, είναι πολύ σηµαντική µια πιο ολοκληρωµένη κατανόηση των συνεισφορών και των δεξιοτήτων των µηχανικών λογισµικού. Σκοπός της παρούσας διπλωµατικής είναι να αξιοποιήσει δεδοµένα από την υποδοµή World of Code (WoC) που περιέχει συγκεντρωµένα δεδοµένα από τα περισσότερα δη µόσια συστήµατα ελέγχου εκδόσεων για να παρέχει µια πιο ολοκληρωµένη εικόνα του προφίλ ενός µηχανικού λογισµικού. Εξάγοντας, αναλύοντας και οπτικοποιώντας αυτά τα δεδοµένα, αναπτύχθηκε µια εφαρµογή που παρουσιάζει µια περιεκτική επισκόπηση των δραστηριοτήτων ενός µηχανικού στα έργα λογισµικού ανοικτού κώδικα. Η οπτική αναπαράσταση των δεδοµένων, µετατρέπει πολύπλοκα σύνολα δεδοµένων σε εύκολα κατανοητές γραφικές µορφές. Η αξιολόγηση της εφαρµογής σε ένα σύνολο µηχανικών λογισµικού δείχνει ότι πετυχαίνει τους στόχους της. Προσφέρει µια εικόνα της δραστηριότητας, του ϱόλου και των τεχνικών δεξιοτήτων ενός µηχανικού, ενισχύοντας τη διαφάνεια και την κατανόηση της συνεισφοράς του στο οικοσύστηµα του OSS.
Creating an Open Archival Information System compliant archive for CERNISSEL
Nowadays, we constantly produce data in an unprecedented scale at various do mains. In the context of research data, large organizations, like CERN, produce information which is of significant importance and which cannot be reproduced in the future. It is therefore our responsibility to make sure that this information is preserved in a way that it will be available to the future generations.
This challenge, which is broadly referred to as digital preservation, has drawn the attention of several researchers and led to the design of a standard for long-term dig ital data storage, known as the Open Archival Information System (OAIS) standard. Several systems have been developed towards this direction, however these solu tions were either not fully-compliant with the OAIS standard, some were short term projects that have been decommissioned or they were not open-source and available to the research community. In this context, CERN proposed the Digital Memory project, a digital archiving initiative that should allow researchers to archive their data in a way that it will be accessible in the future.
In this thesis, which is part of the Digital Memory project, we confront the afore mentioned challenges by proposing an architecture that is fully OAIS-compliant, is integrated with CERN repositories and supports transparency, as the user can easily manage and monitor the actions performed on archival packages. Initially, we implement a tool that can be used to harvest data from various CERN sources like CDS, Indico, CERN Open Data, Gitlab and CodiMD in an OAIS-compliant format called Submission Information Package (SIP). This package can be supplied to the platform in order to create the actual archival packages that can be stored for long term preservation. These packages contain additional metadata and normalization of content that will guarantee long term survival of the information content. Additionally, we show how easy it is for a user to create, monitor and group their archives by using the User Interface. The platform can be easily deployed by anyone on Open shift with the use of Helm charts. Concerning our evaluation we discuss how the the performance of the platform can be improved and we show that the resulting packages as well as the platform as a whole is fully OAIS-compliant.
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERNISSEL
Στις μέρες μας, ο ρυθμός παραγωγής πληροφοριών είναι άνευ προηγουμένου. Από την ίδρυσή του, το CERN παράγει πληροφορίες που είναι σημαντικές για την επιστημονική κοινότητα και δεν μπορούν να αναπαραχθούν στο μέλλον. Είναι ευθύνη ενός οργανισμού σαν το CERN να διασφαλίσει ότι αυτές οι πληροφορίες διατηρούνται με τρόπο που θα τις κάνει διαθέσιμες στις μελλοντικές γενιές.
Το Digital Memory Project δημιουργήθηκε για να λύσει αυτό το πρόβλημα αναπτύσσοντας ένα ψηφιακό αρχείο για το CERN, συμβατό με το πρωτόκολλο Open Archival Information System (OAIS). Με τη χρήση αυτού του συστήματος, οι ερευνητές θα μπορούν να αρχειοθετούν τα δεδομένα τους τα οποία θα επεξεργάζονται και θα αποθηκεύονται με τρόπο που να μεγιστοποιεί τις πιθανότητες ότι αυτά τα δεδομένα θα είναι προσβάσιμα στο μέλλον. Σε αντίθεση με άλλα υλοποιημένα συστήματα, η προτεινόμενη λύση είναι πλήρως συμβατή με το OAIS, είναι ενσωματωμένη με υπάρχοντα αποθετήρια του CERN ενώ ο χρήστης μπορεί εύκολα να διαχειρίζεται και να παρακολουθεί τις ενέργειες που εκτελούνται σε ένα αρχειακό πακέτο. Οι διαθέσιμες λύσεις είτε δεν συμμορφώνονται πλήρως με το πρότυπο, είτε αποτελούσαν βραχυπρόθεσμα έργα που δεν συντηρούνται ή δεν είναι ανοιχτού κώδικα και διαθέσιμα με αυτό τον τρόπο στην ερευνητική κοινότητα.
Σε αυτή την εργασία, θα παρουσιάσουμε μια υλοποίηση ενός αρχείου συμβατό με το πρότυπο OAIS για το CERN. Αρχικά, υλοποιούμε ένα εργαλείο που μπορεί να χρησιμοποιηθεί για τη συλλογή δεδομένων από διάφορες πηγές του CERN όπως τα CDS, Indico, CERN Open Data, Gitlab και CodiMD σε μορφή συμβατή με το OAIS που ονομάζεται Submission Information Package (SIP). Αυτό το πακέτο μπορεί να χρησιμοποιηθεί από την πλατφόρμα προκειμένου να δημιουργηθούν τα πακέτα αρχειοθέτησης που μπορούν να αποθηκευτούν για μακροχρόνια διατήρηση. Αυτά τα πακέτα περιέχουν πρόσθετα μεταδεδομένα και κανονικοποίηση του περιεχομένου που θα εγγυηθούν τη μακροπρόθεσμη επιβίωση του περιεχομένου πληροφοριών. Επιπλέον, δείχνουμε πόσο εύκολο είναι για έναν χρήστη να δημιουργήσει, να παρακολουθεί και να ομαδοποιήσει τα αρχεία του χρησιμοποιώντας τη διεπαφή χρήστη που αναπτύχθηκε. Η πλατφόρμα μπορεί εύκολα να αναπτυχθεί και να χρησιμοποιηθεί από οποιονδήποτε μέσω του Openshift. Τέλος, συζητάμε πώς μπορεί να βελτιωθεί η απόδοση της πλατφόρμας και δείχνουμε ότι τα πακέτα που προκύπτουν καθώς και η πλατφόρμα στο σύνολό της είναι πλήρως συμβατή με το OAIS.
Αρχειακά Μεταδεδομένα: Πρότυπα και Διαχείριση στον Παγκόσμιο ΙστόGiannis Tsakonas
Από τη δεκαετία του 1970 μέχρι σήμερα το Διεθνές Συμβούλιο Αρχείων δημιουργεί και παρέχει στην κοινότητα των Αρχείων και των Αρχειονόμων μια σειρά από πρότυπα για την ανάπτυξη αρχειακών βοηθημάτων έρευνας και συναφών καταλόγων και ευρετηρίων. Στόχος των προτύπων είναι η κοινή αντίληψη, προσέγγιση και ομοιομορφία στη δημιουργία καταλόγων, καθιερωμένων εγγραφών και στη θεματική περιγραφή των αρχείων, της δομής και του περιεχομένου τους.
Ο Παγκόσμιος ιστός έχει γίνει ένα από τα σημαντικότερα μέσα διακίνησης πληροφορίας και η εκρηκτική ανάπτυξη των αντίστοιχων τεχνολογιών ανάπτυξης εφαρμογών στο περιβάλλον του έχει οδηγήσει στην αξιοποίησή του από διάφορες κοινότητες. Σε αυτό το πλαίσιο οι Αρχειονόμοι καλούνται να κωδικοποιήσουν τα μεταδεδομένα τους και να τα καταστήσουν ικανά να διαλειτουργήσουν σε ένα παγκόσμιο περιβάλλον διαχείρισης πληροφορίας και γνώσης, όπου όλες οι επιστημονικές κοινότητες συνυπάρχουν.
Στόχος του σεμιναρίου είναι να παρουσιάσει (α) βασικά πρότυπα διαχείρισης αρχειακής πληροφορίας και (β) το τεχνολογικό υπόβαθρο το οποίο καθορίζει τους τρόπους με τους οποίους είναι δυνατή η ανταλλαγή και η διαλειτουργικότητα - διασύνδεση της αρχειακής πληροφορίας με την πληροφορία που παράγουν άλλοι οργανισμοί και κοινότητες με τις οποίες οι αρχειακές υπηρεσίες έχουν άμεση σχέση.
Το σεμινάριο απευθύνεται σε εργαζόμενους σε δημόσιους και ιδιωτικούς αρχειακούς φορείς, φοιτητές και πτυχιούχους αρχειονόμους, βιβλιοθηκονόμους και πτυχιούχους Πανεπιστημίων και ΤΕΙ με παρεμφερή επαγγελματικά και επιστημονικά ενδιαφέροντα.
Το σεμινάριο εντάσσεται στις δραστηριότητες της Ομάδας Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων του Εργαστηρίου Ψηφιακών Βιβλιοθηκών και Ηλεκτρονικής Δημοσίευσης του Τμήματος Αρχειονομίας, Βιβλιοθηκονομίας και Μουσειολογίας του Ιονίου Πανεπιστημίου, διοργανώνεται στο πλαίσιο του 21st International Conference on Theory and Practice of Digital Libraries και θα διεξαχθεί στο ξενοδοχείο Grand Hotel Palace, Μοναστηρίου 305, Θεσσαλονίκη, την Τρίτη 19 Σεπτεμβρίου 2017 και ώρες 14.00 – 17.00.
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...ISSEL
Η ανάγκη για την παραγωγή νέου λογισμικού αυξάνεται διαρκώς, τόσο λόγω της ψηφιοποίησης των διαδικασιών στη βιομηχανία, όσο και λόγω των αυξανόμενων απαιτήσεων των καταναλωτών για νέες ψηφιακές εμπειρίες. Η διαδικασία παραγωγής λογισμικού παραμένει, όμως, δύσκολη και πολύπλοκη, με πολλά έργα να μην φτάνουν στο τελικό στάδιο και να παραμένουν ανολοκλήρωτα. Για την αντιμετώπιση των προβλημάτων της διαδικασίας παραγωγής λογισμικού, οι εταιρίες ωθούνται να εφαρμόσουν νέες διαδικασίες και μεθόδους παραγωγής, όπως το Ευέλικτο μοντέλο. Είναι αναγκαίο, οπότε, να προσλάβουν τους κατάλληλους προγραμματιστές για τις θέσεις, που θα κατέχουν όχι μόνο τις απαραίτητες τεχνικές γνώσεις, αλλά και τις επικοινωνιακές δεξιότητες. Τα ανοιχτά αποθετήρια κώδικα μπορούν να προσφέρουν λύση στο πρόβλημα αυτό, καθώς παρέχουν πληροφορίες για τις τεχνικές ικανότητες και τις γλώσσες προγραμματισμού που χρησιμοποιούν οι προγραμματιστές. Επιπλέον, μέσω της αλληλεπίδρασης των προγραμματιστών, με σχόλια σε Issues και Pull Requests, μπορεί να αντληθεί πληροφορία για τις δεξιότητες επικοινωνίας τους. Στο πλαίσιο αυτό, η παρούσα διπλωματική εργασία προτείνει ένα σύστημα άντλησης και ανάλυσης των συνεισφορών των προγραμματιστών από τη πλατφόρμα GitHub, για τη παραγωγή χρήσιμων μετρικών, και ένα μοντέλο μη-εποπτευόμενης μάθησης για τον διαχωρισμό των προγραμματιστών σε ομάδες ανάλογα με τις δεξιότητές τους.
Analysis and profiling of developer profiles using data mining techniques fro...ISSEL
The need to produce new software is constantly increasing, both because of the digitisation of processes in industry, as well as the growing demands of consumers for new digital experiences. However, the software development process remains a difficult and complex endeavour, with many projects being challenged or failing. To address the problems of the software development process, companies are directed towards contemporary software engineering practices, such as Agile approach. For these paradigms, it is necessary to hire the right programmers for the positions, who have not only the necessary technical knowledge, but also the communication skills. However, assessment in the later axis is extremely difficult. Open source repositories can provide a solution to this problem, as they provide information on technical skills and programming languages used by programmers. Moreover, via the interaction of programmers through comments on Issues and Pull Requests, information about the their communication skills can be extracted. In this context, this thesis proposes a system for extracting and analysing developers’ contributions from the GitHub platform, to generate useful metrics, and an unsupervised learning model to cluster developers into groups according to their skills.
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
Τις τελευταίες δεκαετίες, τα έργα λογισµικού γίνονται όλο και µεγαλύτερα, χρησιµότερα και διεισδύουν σε όλο και περισσότερες πτυχές του ανθρώπινου ϐίου. Κατά την ανάπτυξη και τη συντήρηση λογισµικού, οι προγραµµατιστές σπαταλούν µεγάλο µέρος του χρόνου τους στον εντοπισµό και τη διόρθωση σφαλµάτων. Τα εργαλεία στατικής ανάλυσης κώδικα αυτοµατοποιούν τη διαδικασία εντοπισµού των σφαλµάτων. Η χρήση τους, ωστόσο, παραµένει περιορισµένη, καθώς η κατανόηση και η διόρθωση σφαλµάτων παραµένουν ευθύνες των προγραµµατιστών. Τα τελευταία χρόνια, πραγµατοποιούνται έρευνες για την εξόρυξη προτύπων διόρθωσης τέτοιων σφαλµάτων άλλα και την ανάπτυξη συστηµάτων αυτοµατοποιηµένης διόρθωσης σφαλµάτων. Οι πρώτες στοχεύουν στην κατανόηση του τρόπου που οι προγραµµατιστές αντιµετωπίζουν τέτοια προβλήµατα, και πολλές ϕορές τα αποτελέσµατα τους αποτελούν ϐάση για τις δεύτερες. Η παρούσα διπλωµατική, στοχεύει στην εξόρυξη χρήσιµων προτύπων διόρ ϑωσης σφαλµάτων για σφάλµατα που ανήκουν στους κανόνες του εργαλείου στατικής ανάλυσης PMD. Αρχικά, µέσω κατάλληλων ερωτηµάτων στο API του Github, αναζητο ύνται commits που αφορούν διορθώσεις τέτοιων σφαλµάτων και λαµβάνονται οι εκδόσεις των αρχείων πριν και µετά των αλλαγών των commits. Στη συνέχεια, µέσω εκτέλεσης του PMD στις δύο εκδόσεις, εντοπίζονται οι επιµέρους διορθώσεις και δηµιουργείται κα τάλληλο σύνολο δεδοµένων, αποτελούµενο αποκλειστικά από διορθώσεις σφαλµάτων, κανόνων του PMD. Οι επιµέρους διορθώσεις αναλύονται και µε αξιοποίηση της αναπα ϱάστασης κώδικα srcML και του αλγορίθµου απόστασης επεξεργασίας δέντρου Gumtree, είναι εφικτή η εξαγωγή µιας ακολουθίας όρων που είναι αντιπροσωπευτικοί για κάθε διόρθωση. ΄Ετσι, µε εύρεση του µήκους της µέγιστης κοινής υπακολουθίας µεταξύ δύο διορθώσεων, είναι εφικτή η ανάπτυξη ενός µοντέλου οµοιότητας για τις διορθώσεις συνολικά και κατ΄ επέκταση, η οµαδοποίηση τους και η εξαγωγή προτύπων διόρθω σης. Πραγµατοποιήθηκαν δύο διαφορετικά πειράµατα οµαδοποίησης : στο ένα αξιοποιήθηκε ο αλγόριθµος K-medoids και στο άλλο ο DBSCAN. Και στα δύο πειράµα τα, άλλα ιδιαίτερα σε αυτό µε τον DBSCAN, σχεδόν κάθε εξαγόµενη οµάδα αποτελείται κυρίως από διορθώσεις σφαλµάτων ενός κανόνα του PMD. Παράλληλα, µε τον υπο λογισµό του αριθµού των commits και των αποθετηρίων από τα οποία προέρχονται οι διορθώσεις κάθε οµάδας - προτύπου, ϕανερώνεται ότι οι περισσότερες οµάδες προκύπτουν από διορθώσεις προερχόµενες από µεγάλο αριθµό commits και αποθετηρίων. ΄Ετσι αντανακλούν τον τρόπο που αρκετοί προγραµµατιστές ϑα αντιµετώπιζαν παρόµοια προβλήµατα. Συνεπώς, τα εξαγόµενα πρότυπα ϑα µπορούσαν να αποτελέσουν αφετη ϱία για κάποιον µηχανισµό αυτοµατοποιηµένης διόρθωσης σφαλµάτων, ϐασιζόµενο στο PMD για τον εντοπισµό τους.
Σχεδίαση και ανάπτυξη Μηχανισμού Αυτοματοποίησης παραγωγής Λογισμικού Ελέγχου...ISSEL
Σήμερα, η ανάπτυξη της τεχνολογίας και η αξιοποίηση της σε όλους τους τομείς της ζωής του ανθρώπου, δημιουργεί την ανάγκη για λογισμικό που είναι έυκολα προσαρμόσιμο, ευπαρουσίαστο, επιλύει πολλούς τύπους προβλημάτων, είναι οικονομικό και αξιόπιστο. Η Μοντελοστραφής Μηχανική (MDE), δηλαδή η ανάπτυξη λογισμικού που στηρίζεται σε μοντέλα, η αυτόματη παραγωγή κώδικα με βάση αυτά τα μοντέλα, η δυνατότητα γραφικής απεικόνισης του λογισμικού σε συνδυασμό με τις τεχνικές του Αυτοματοποιημένου Ελέγχου Συμπερασμών (Automated Reasoning) καλύπτουν ανά περίπτωση τις παραπάνω ανάγκες. Στην παρούσα διπλωματική εργασία, έγινε αξιοποίηση όλων των παραπάνω τεχνικών για την κατασκευή ενός ολοκληρωμένου εργαλείου, στην πλατφόρμα του Eclipse, με στόχο την κάλυψη των προαναφερθέντων αναγκών. Πιο συγκεκριμένα στα πλαίσια της Μοντελοστραφούς Μηχανικής (MDE) κατασκευάστηκε ένα μέτα-μοντέλο που αποτελεί τον πηρύνα του συστήματος και ενσωματώνει όρους από το πεδίο του Λογισμού. Στη συνέχεια, πάνω σε αυτό δημιουργήθηκε μια γραφική διεπαφή, στο περιβάλλον του Sirius, που δίνει την δυνατότητα στον ενδιαφερόμενο να καταγράψει, με γραφικό τρόπο, το μοντέλο που επιθυμεί. Η καταγραφή του μοντέλου γίνεται με την μορφή εξισώσεων σωστά διατυπωμένων στα πρότυπα της Κατηγορηματικής Λογικής Πρώτης Τάξης (FOL). Από αυτό το μοντέλο ύστερα, παράγεται αυτόματα κώδικας Java, ο οποίος αξιοποιώντας συναρτήσεις και αντικείμενα της βιβλιοθήκης TweetyProject, διαμορφώνεται κατάλληλα ώστε να αποτελεί έγκυρη είσοδο για τον built-in prover της ίδιας βιβλιοθήκης που μπορεί να πραγματοποιεί λογικούς ελέγχους στα πρότυπα του Αυτοματοποιημένου Ελέγχου Συμπερασμών. Μερικές ακόμα βοηθητικές συναρτήσεις σε Java, ολοκληρώνουν το εργαλείο της διπλωματικής. Όλα τα παραπάνω καθιστούν, το σύστημα που αναπτύχθηκε σε αυτή την διπλωματική, ικανό να χρησιμοποιηθεί από διάφορους υπάρχοντες μηχανισμούς αυτόματης παραγωγής συστημάτων, προκειμένου να ελέγξουν την εγκυρότητα των υπό σχεδίαση συστημάτων, δίχως κάποιος να απαιτείται να υλοποιήσει λογισμικό που κάνει λογικούς συμπερασμούς.
Design and Implementation of a Mechanism that automates the generation of Sof...ISSEL
Today, the development of technology and its utilization in all areas of human life, creates the need for software that is easily customizable, presentable, solves many types of problems, is economical and reliable. Model-Driven Engineering (MDE), ie software development based on models, the automatic production of code based on these models, the ability to graphically display the software, in combination with the techniques of Automated Reasoning meet the above needs. In the current diploma thesis, in order to meet the aforementioned needs, all the above techniques were utilized for the construction of a complete software tool, on the Eclipse platform. More specifically, in the framework of Model-Driven Engineering (MDE), a meta model was constructed which constitutes the core of the system and incorporates terms from the field of Logic. Expanding on this, a graphical interface was created, in the Sirius environment, which allows the interested party to construct, in a graphic way, the model he wants. The construction of the model is done in the form of equations, correctly formulated in the standards of First Order Logic (FOL). From this model, Java code is automatically generated, which utilizing functions and objects of the TweetyProject library, is properly configured to be a valid input for the built-in prover of the same library, that can perform logical tests in the standards of Automated Logic. Some more functions written in Java, complete the software tool of this diploma thesis. All of the above, constitute the software tool developed in this diploma, capable of being used by various mechanisms that automatically produce systems, in order to check the validity of the systems under design, without the need to implement additional software that draws logical conclusions.
Εφαρμογές Ανοιχτού Κώδικα για τη Διδασκαλία Προγραμματισμού με την LOGOIraklis Markelis
Μια εναλλακτική πρόταση για την διδασκαλία των βασικών προγραμματιστικών αρχών στην Γ΄ τάξη του Γυμνασίου.
Ο σκοπός της χρήσης των εργαλείων που προτείνονται είναι να δοθεί η ευκαιρία στις μαθήτριες και στους μαθητές:
• Να δημιουργήσουν χρήσιμες γνώσεις στον προγραμματισμό οι οποίες θα μπορούν εύκολα να συνδεθούν με εμπειρίες των επόμενων τάξεων του Λυκείου
• Να γνωρίσουν στην πράξη και να εκτιμήσουν τα εργαλεία που προσφέρει το λειτουργικό σύστημα Linux και οι εφαρμογές Ανοιχτού Κώδικα.
Το εκπαιδευτικό υλικό έχει άδεια Creative Commons BY-NC-SA και μπορείτε να το βρείτε στον σύνδεσμο: https://goo.gl/0n6wcm
Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αν...WROHellas
Εισαγωγή καινοτομιών στον Πανελλήνιο Διαγωνισμό Εκπαιδευτικής Ρομποτικής | Αναστάσιος Λαδιάς
Στο πλαίσιο του WRO Teacher Camp 2018 που προσφέρθηκε δωρεάν σε εκπαιδευτικούς όλων των βαθμίδων από τον WRO Hellas την περίοδο 7-9 Σεπτεμβρίου 2018
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
Το διευρυµένο τοπίο του λογισµικού ανοιχτού κώδικα OSS αποδεικνύει την αυξανόµενη παραγωγική δραστηριότητα των µηχανικών λογισµικού που συνεισφέρουν σε πολλαπλές πλατφόρµες και διάφορα έργα λογισµικού. Η συµµετοχή τους σε αυτά τα έργα αναδεικνύει το ευρύ ϕάσµα των δεξιοτήτων τους, από τη συγγραφή κώδικα έως τη συνεργασία τους µε άλλους µηχανικούς λογισµικού. Καθώς στο οικοσύστηµα του λογισµικού ανοιχτού κώδικα υπάρχει µια διαρκής και συνεχώς αυξανόµενη δραστηριότητα, είναι πολύ σηµαντική µια πιο ολοκληρωµένη κατανόηση των συνεισφορών και των δεξιοτήτων των µηχανικών λογισµικού. Σκοπός της παρούσας διπλωµατικής είναι να αξιοποιήσει δεδοµένα από την υποδοµή World of Code (WoC) που περιέχει συγκεντρωµένα δεδοµένα από τα περισσότερα δη µόσια συστήµατα ελέγχου εκδόσεων για να παρέχει µια πιο ολοκληρωµένη εικόνα του προφίλ ενός µηχανικού λογισµικού. Εξάγοντας, αναλύοντας και οπτικοποιώντας αυτά τα δεδοµένα, αναπτύχθηκε µια εφαρµογή που παρουσιάζει µια περιεκτική επισκόπηση των δραστηριοτήτων ενός µηχανικού στα έργα λογισµικού ανοικτού κώδικα. Η οπτική αναπαράσταση των δεδοµένων, µετατρέπει πολύπλοκα σύνολα δεδοµένων σε εύκολα κατανοητές γραφικές µορφές. Η αξιολόγηση της εφαρµογής σε ένα σύνολο µηχανικών λογισµικού δείχνει ότι πετυχαίνει τους στόχους της. Προσφέρει µια εικόνα της δραστηριότητας, του ϱόλου και των τεχνικών δεξιοτήτων ενός µηχανικού, ενισχύοντας τη διαφάνεια και την κατανόηση της συνεισφοράς του στο οικοσύστηµα του OSS.
Creating an Open Archival Information System compliant archive for CERNISSEL
Nowadays, we constantly produce data in an unprecedented scale at various do mains. In the context of research data, large organizations, like CERN, produce information which is of significant importance and which cannot be reproduced in the future. It is therefore our responsibility to make sure that this information is preserved in a way that it will be available to the future generations.
This challenge, which is broadly referred to as digital preservation, has drawn the attention of several researchers and led to the design of a standard for long-term dig ital data storage, known as the Open Archival Information System (OAIS) standard. Several systems have been developed towards this direction, however these solu tions were either not fully-compliant with the OAIS standard, some were short term projects that have been decommissioned or they were not open-source and available to the research community. In this context, CERN proposed the Digital Memory project, a digital archiving initiative that should allow researchers to archive their data in a way that it will be accessible in the future.
In this thesis, which is part of the Digital Memory project, we confront the afore mentioned challenges by proposing an architecture that is fully OAIS-compliant, is integrated with CERN repositories and supports transparency, as the user can easily manage and monitor the actions performed on archival packages. Initially, we implement a tool that can be used to harvest data from various CERN sources like CDS, Indico, CERN Open Data, Gitlab and CodiMD in an OAIS-compliant format called Submission Information Package (SIP). This package can be supplied to the platform in order to create the actual archival packages that can be stored for long term preservation. These packages contain additional metadata and normalization of content that will guarantee long term survival of the information content. Additionally, we show how easy it is for a user to create, monitor and group their archives by using the User Interface. The platform can be easily deployed by anyone on Open shift with the use of Helm charts. Concerning our evaluation we discuss how the the performance of the platform can be improved and we show that the resulting packages as well as the platform as a whole is fully OAIS-compliant.
Δημιουργία ενός Ανοιχτού Αρχειακού Πληροφοριακού Συστήματος για το CERNISSEL
Στις μέρες μας, ο ρυθμός παραγωγής πληροφοριών είναι άνευ προηγουμένου. Από την ίδρυσή του, το CERN παράγει πληροφορίες που είναι σημαντικές για την επιστημονική κοινότητα και δεν μπορούν να αναπαραχθούν στο μέλλον. Είναι ευθύνη ενός οργανισμού σαν το CERN να διασφαλίσει ότι αυτές οι πληροφορίες διατηρούνται με τρόπο που θα τις κάνει διαθέσιμες στις μελλοντικές γενιές.
Το Digital Memory Project δημιουργήθηκε για να λύσει αυτό το πρόβλημα αναπτύσσοντας ένα ψηφιακό αρχείο για το CERN, συμβατό με το πρωτόκολλο Open Archival Information System (OAIS). Με τη χρήση αυτού του συστήματος, οι ερευνητές θα μπορούν να αρχειοθετούν τα δεδομένα τους τα οποία θα επεξεργάζονται και θα αποθηκεύονται με τρόπο που να μεγιστοποιεί τις πιθανότητες ότι αυτά τα δεδομένα θα είναι προσβάσιμα στο μέλλον. Σε αντίθεση με άλλα υλοποιημένα συστήματα, η προτεινόμενη λύση είναι πλήρως συμβατή με το OAIS, είναι ενσωματωμένη με υπάρχοντα αποθετήρια του CERN ενώ ο χρήστης μπορεί εύκολα να διαχειρίζεται και να παρακολουθεί τις ενέργειες που εκτελούνται σε ένα αρχειακό πακέτο. Οι διαθέσιμες λύσεις είτε δεν συμμορφώνονται πλήρως με το πρότυπο, είτε αποτελούσαν βραχυπρόθεσμα έργα που δεν συντηρούνται ή δεν είναι ανοιχτού κώδικα και διαθέσιμα με αυτό τον τρόπο στην ερευνητική κοινότητα.
Σε αυτή την εργασία, θα παρουσιάσουμε μια υλοποίηση ενός αρχείου συμβατό με το πρότυπο OAIS για το CERN. Αρχικά, υλοποιούμε ένα εργαλείο που μπορεί να χρησιμοποιηθεί για τη συλλογή δεδομένων από διάφορες πηγές του CERN όπως τα CDS, Indico, CERN Open Data, Gitlab και CodiMD σε μορφή συμβατή με το OAIS που ονομάζεται Submission Information Package (SIP). Αυτό το πακέτο μπορεί να χρησιμοποιηθεί από την πλατφόρμα προκειμένου να δημιουργηθούν τα πακέτα αρχειοθέτησης που μπορούν να αποθηκευτούν για μακροχρόνια διατήρηση. Αυτά τα πακέτα περιέχουν πρόσθετα μεταδεδομένα και κανονικοποίηση του περιεχομένου που θα εγγυηθούν τη μακροπρόθεσμη επιβίωση του περιεχομένου πληροφοριών. Επιπλέον, δείχνουμε πόσο εύκολο είναι για έναν χρήστη να δημιουργήσει, να παρακολουθεί και να ομαδοποιήσει τα αρχεία του χρησιμοποιώντας τη διεπαφή χρήστη που αναπτύχθηκε. Η πλατφόρμα μπορεί εύκολα να αναπτυχθεί και να χρησιμοποιηθεί από οποιονδήποτε μέσω του Openshift. Τέλος, συζητάμε πώς μπορεί να βελτιωθεί η απόδοση της πλατφόρμας και δείχνουμε ότι τα πακέτα που προκύπτουν καθώς και η πλατφόρμα στο σύνολό της είναι πλήρως συμβατή με το OAIS.
Αρχειακά Μεταδεδομένα: Πρότυπα και Διαχείριση στον Παγκόσμιο ΙστόGiannis Tsakonas
Από τη δεκαετία του 1970 μέχρι σήμερα το Διεθνές Συμβούλιο Αρχείων δημιουργεί και παρέχει στην κοινότητα των Αρχείων και των Αρχειονόμων μια σειρά από πρότυπα για την ανάπτυξη αρχειακών βοηθημάτων έρευνας και συναφών καταλόγων και ευρετηρίων. Στόχος των προτύπων είναι η κοινή αντίληψη, προσέγγιση και ομοιομορφία στη δημιουργία καταλόγων, καθιερωμένων εγγραφών και στη θεματική περιγραφή των αρχείων, της δομής και του περιεχομένου τους.
Ο Παγκόσμιος ιστός έχει γίνει ένα από τα σημαντικότερα μέσα διακίνησης πληροφορίας και η εκρηκτική ανάπτυξη των αντίστοιχων τεχνολογιών ανάπτυξης εφαρμογών στο περιβάλλον του έχει οδηγήσει στην αξιοποίησή του από διάφορες κοινότητες. Σε αυτό το πλαίσιο οι Αρχειονόμοι καλούνται να κωδικοποιήσουν τα μεταδεδομένα τους και να τα καταστήσουν ικανά να διαλειτουργήσουν σε ένα παγκόσμιο περιβάλλον διαχείρισης πληροφορίας και γνώσης, όπου όλες οι επιστημονικές κοινότητες συνυπάρχουν.
Στόχος του σεμιναρίου είναι να παρουσιάσει (α) βασικά πρότυπα διαχείρισης αρχειακής πληροφορίας και (β) το τεχνολογικό υπόβαθρο το οποίο καθορίζει τους τρόπους με τους οποίους είναι δυνατή η ανταλλαγή και η διαλειτουργικότητα - διασύνδεση της αρχειακής πληροφορίας με την πληροφορία που παράγουν άλλοι οργανισμοί και κοινότητες με τις οποίες οι αρχειακές υπηρεσίες έχουν άμεση σχέση.
Το σεμινάριο απευθύνεται σε εργαζόμενους σε δημόσιους και ιδιωτικούς αρχειακούς φορείς, φοιτητές και πτυχιούχους αρχειονόμους, βιβλιοθηκονόμους και πτυχιούχους Πανεπιστημίων και ΤΕΙ με παρεμφερή επαγγελματικά και επιστημονικά ενδιαφέροντα.
Το σεμινάριο εντάσσεται στις δραστηριότητες της Ομάδας Βάσεων Δεδομένων και Πληροφοριακών Συστημάτων του Εργαστηρίου Ψηφιακών Βιβλιοθηκών και Ηλεκτρονικής Δημοσίευσης του Τμήματος Αρχειονομίας, Βιβλιοθηκονομίας και Μουσειολογίας του Ιονίου Πανεπιστημίου, διοργανώνεται στο πλαίσιο του 21st International Conference on Theory and Practice of Digital Libraries και θα διεξαχθεί στο ξενοδοχείο Grand Hotel Palace, Μοναστηρίου 305, Θεσσαλονίκη, την Τρίτη 19 Σεπτεμβρίου 2017 και ώρες 14.00 – 17.00.
Ανάλυση και μοντελοποίηση προφίλ προγραμματιστών μέσω τεχνικών εξόρυξης γνώση...ISSEL
Η ανάγκη για την παραγωγή νέου λογισμικού αυξάνεται διαρκώς, τόσο λόγω της ψηφιοποίησης των διαδικασιών στη βιομηχανία, όσο και λόγω των αυξανόμενων απαιτήσεων των καταναλωτών για νέες ψηφιακές εμπειρίες. Η διαδικασία παραγωγής λογισμικού παραμένει, όμως, δύσκολη και πολύπλοκη, με πολλά έργα να μην φτάνουν στο τελικό στάδιο και να παραμένουν ανολοκλήρωτα. Για την αντιμετώπιση των προβλημάτων της διαδικασίας παραγωγής λογισμικού, οι εταιρίες ωθούνται να εφαρμόσουν νέες διαδικασίες και μεθόδους παραγωγής, όπως το Ευέλικτο μοντέλο. Είναι αναγκαίο, οπότε, να προσλάβουν τους κατάλληλους προγραμματιστές για τις θέσεις, που θα κατέχουν όχι μόνο τις απαραίτητες τεχνικές γνώσεις, αλλά και τις επικοινωνιακές δεξιότητες. Τα ανοιχτά αποθετήρια κώδικα μπορούν να προσφέρουν λύση στο πρόβλημα αυτό, καθώς παρέχουν πληροφορίες για τις τεχνικές ικανότητες και τις γλώσσες προγραμματισμού που χρησιμοποιούν οι προγραμματιστές. Επιπλέον, μέσω της αλληλεπίδρασης των προγραμματιστών, με σχόλια σε Issues και Pull Requests, μπορεί να αντληθεί πληροφορία για τις δεξιότητες επικοινωνίας τους. Στο πλαίσιο αυτό, η παρούσα διπλωματική εργασία προτείνει ένα σύστημα άντλησης και ανάλυσης των συνεισφορών των προγραμματιστών από τη πλατφόρμα GitHub, για τη παραγωγή χρήσιμων μετρικών, και ένα μοντέλο μη-εποπτευόμενης μάθησης για τον διαχωρισμό των προγραμματιστών σε ομάδες ανάλογα με τις δεξιότητές τους.
Analysis and profiling of developer profiles using data mining techniques fro...ISSEL
The need to produce new software is constantly increasing, both because of the digitisation of processes in industry, as well as the growing demands of consumers for new digital experiences. However, the software development process remains a difficult and complex endeavour, with many projects being challenged or failing. To address the problems of the software development process, companies are directed towards contemporary software engineering practices, such as Agile approach. For these paradigms, it is necessary to hire the right programmers for the positions, who have not only the necessary technical knowledge, but also the communication skills. However, assessment in the later axis is extremely difficult. Open source repositories can provide a solution to this problem, as they provide information on technical skills and programming languages used by programmers. Moreover, via the interaction of programmers through comments on Issues and Pull Requests, information about the their communication skills can be extracted. In this context, this thesis proposes a system for extracting and analysing developers’ contributions from the GitHub platform, to generate useful metrics, and an unsupervised learning model to cluster developers into groups according to their skills.
Εφαρμογή Τεχνικών Εξόρυξης Δεδομένων για την Εξαγωγή Προτύπων Διόρθωσης σε Σφ...ISSEL
Τις τελευταίες δεκαετίες, τα έργα λογισµικού γίνονται όλο και µεγαλύτερα, χρησιµότερα και διεισδύουν σε όλο και περισσότερες πτυχές του ανθρώπινου ϐίου. Κατά την ανάπτυξη και τη συντήρηση λογισµικού, οι προγραµµατιστές σπαταλούν µεγάλο µέρος του χρόνου τους στον εντοπισµό και τη διόρθωση σφαλµάτων. Τα εργαλεία στατικής ανάλυσης κώδικα αυτοµατοποιούν τη διαδικασία εντοπισµού των σφαλµάτων. Η χρήση τους, ωστόσο, παραµένει περιορισµένη, καθώς η κατανόηση και η διόρθωση σφαλµάτων παραµένουν ευθύνες των προγραµµατιστών. Τα τελευταία χρόνια, πραγµατοποιούνται έρευνες για την εξόρυξη προτύπων διόρθωσης τέτοιων σφαλµάτων άλλα και την ανάπτυξη συστηµάτων αυτοµατοποιηµένης διόρθωσης σφαλµάτων. Οι πρώτες στοχεύουν στην κατανόηση του τρόπου που οι προγραµµατιστές αντιµετωπίζουν τέτοια προβλήµατα, και πολλές ϕορές τα αποτελέσµατα τους αποτελούν ϐάση για τις δεύτερες. Η παρούσα διπλωµατική, στοχεύει στην εξόρυξη χρήσιµων προτύπων διόρ ϑωσης σφαλµάτων για σφάλµατα που ανήκουν στους κανόνες του εργαλείου στατικής ανάλυσης PMD. Αρχικά, µέσω κατάλληλων ερωτηµάτων στο API του Github, αναζητο ύνται commits που αφορούν διορθώσεις τέτοιων σφαλµάτων και λαµβάνονται οι εκδόσεις των αρχείων πριν και µετά των αλλαγών των commits. Στη συνέχεια, µέσω εκτέλεσης του PMD στις δύο εκδόσεις, εντοπίζονται οι επιµέρους διορθώσεις και δηµιουργείται κα τάλληλο σύνολο δεδοµένων, αποτελούµενο αποκλειστικά από διορθώσεις σφαλµάτων, κανόνων του PMD. Οι επιµέρους διορθώσεις αναλύονται και µε αξιοποίηση της αναπα ϱάστασης κώδικα srcML και του αλγορίθµου απόστασης επεξεργασίας δέντρου Gumtree, είναι εφικτή η εξαγωγή µιας ακολουθίας όρων που είναι αντιπροσωπευτικοί για κάθε διόρθωση. ΄Ετσι, µε εύρεση του µήκους της µέγιστης κοινής υπακολουθίας µεταξύ δύο διορθώσεων, είναι εφικτή η ανάπτυξη ενός µοντέλου οµοιότητας για τις διορθώσεις συνολικά και κατ΄ επέκταση, η οµαδοποίηση τους και η εξαγωγή προτύπων διόρθω σης. Πραγµατοποιήθηκαν δύο διαφορετικά πειράµατα οµαδοποίησης : στο ένα αξιοποιήθηκε ο αλγόριθµος K-medoids και στο άλλο ο DBSCAN. Και στα δύο πειράµα τα, άλλα ιδιαίτερα σε αυτό µε τον DBSCAN, σχεδόν κάθε εξαγόµενη οµάδα αποτελείται κυρίως από διορθώσεις σφαλµάτων ενός κανόνα του PMD. Παράλληλα, µε τον υπο λογισµό του αριθµού των commits και των αποθετηρίων από τα οποία προέρχονται οι διορθώσεις κάθε οµάδας - προτύπου, ϕανερώνεται ότι οι περισσότερες οµάδες προκύπτουν από διορθώσεις προερχόµενες από µεγάλο αριθµό commits και αποθετηρίων. ΄Ετσι αντανακλούν τον τρόπο που αρκετοί προγραµµατιστές ϑα αντιµετώπιζαν παρόµοια προβλήµατα. Συνεπώς, τα εξαγόµενα πρότυπα ϑα µπορούσαν να αποτελέσουν αφετη ϱία για κάποιον µηχανισµό αυτοµατοποιηµένης διόρθωσης σφαλµάτων, ϐασιζόµενο στο PMD για τον εντοπισµό τους.
3. Λίγα Εισαγωγικά I
Τι είναι Beamer ?
A
Είναι µια κατηγορία κειµένων (documentclass) του LTEX ειδική για τη συγγραφή
διαφανειών και παρουσιάσεων.
4. Λίγα Εισαγωγικά II
Τι είναι Beamer ?
A
Είναι µια κατηγορία κειµένων (documentclass) του LTEX ειδική για τη συγγραφή
διαφανειών και παρουσιάσεων.
Γιατί να χρησιµοποιήσω Beamer ?
A
Χρησιµοποιούµε κώδικα LTEX
5. Λίγα Εισαγωγικά III
Τι είναι Beamer ?
A
Είναι µια κατηγορία κειµένων (documentclass) του LTEX ειδική για τη συγγραφή
διαφανειών και παρουσιάσεων.
Γιατί να χρησιµοποιήσω Beamer ?
Παράγει αισθητικά όµορφα αποτελέσµατα
7. Κατασκευή
Απαραίτητα χαρακτηριστικά για το .tex αρχείο
Ορισµός documentclass
Ορισµός Θέµατος
documentclass{beamer}
usetheme{theme}
Ορισµός σώµατος διαφανειών
Μερικά θέµατα : Berkeley, Copenhagen,
Hannover, Pittsburgh κ.α.
begin{document}
begin{frame}
end{frame}
end{document}
Περισσότερα : Beamer Theme Matrix
Ορισµός Χρωµατικού Κώδικα
usecolortheme{color_theme}
Μερικοί χρωµατικοί κώδικες : dolfin, dove,
lilly, orchid, rose κ.α.
Περισσότερα : Beamer Theme Matrix
Φυσικά µπορούµε να κατασκευάσουµε και
τα δικά µας ϑέµατα
8. Κατασκευή ∆ιαφάνειας Τίτλου
Χαρακτηριστικά ∆ιαφάνειας Τίτλου
Εισαγωγή της ∆ιαφάνειας Τίτλου
Η πρώτη διαφάνεια είναι η διαφάνεια τίτλου
και συνήθως περιλαµβάνει συγκεκριµένα
χαρακτηριστικά όπως :
Η εισαγωγή της διαφάνειας γίνεται κάτω
από το :
• Τίτλο :
title{}
• Υπότιτλο :
subtitle{}
• Συγγραφέα :
author{}
• Affiliation:
institute{}
• Ηµεροµηνία :
date{}
Τα χαρακτηριστικά αυτά τοποθετούνται στο
preamble
begin{document}
ως εξής :
begin{frame}
titlepage
end{frame}
10. Κατασκευή ∆ιαφανειών
Τίτλος και Υπότιτλος ∆ιαφάνειας
begin{frame}{Title}
framesubtitle{This is the Subtitle}
end{frame}
Ορισµός νέα διαφάνειας
Ανάµεσα στα
begin{frame}
...
end{frame}
µπορούµε να γράψουµε
A
ότι κώδικα LTEX ϑέλουµε
% or
begin{frame}
frametitle{Title}
framesubtitle{This is the Subtitle}
end{frame}
∆ιαφάνειες που Εκτείνονται
begin{frame}[allowframebreaks]{Title}
...
framebreak
...
end{frame}
12. Εισαγωγή ∆ιαφανειών Περιεχοµένου
Για να εισάγουµε περιεχόµενα πρέπει να οµαδοποιήσουµε τις διαφάνειες σε
ενότητες οι οποίες ϑα διακρίνονται από τις εντολές :
section{}
subsection{}
subsubsection{}
Χειροκίνητα
Αυτόµατα
Με εισαγωγή της παρακάτω
διαφάνειας οπουδήποτε πρέπει
να µπουν τα περιεχόµενα :
Στο preamble εισάγουµε τον παρακάτω κώδικα :
AtBeginSection[]
{
begin{frame}{Contents}
tableofcontents
end{frame}
begin{frame}{Contents}
tableofcontents[currentsection]
end{frame}
}
15. ∆ιαφάνειες µε Κώδικες
Η εισαγωγή κώδικα σε µία διαφάνεια δεν είναι όσο απλή όσο στο κείµενο ϑα πρέπει
να ορίσουµε στη διαφάνεια ότι περιέχει κώδικα :
(Προσοχή: Πρέπει να ϕορτώσετε τα πακέτα listings και verbatim)
begin{frame}[fragile]{Title}
begin{lstlisting}
...
end{lstlisting}
end{frame}
% or
begin{frame}[containsverbatim]{Title}
begin{verbatim}
...
end{verbatim}
20. Εισαγωγή Βιβλιογραφίας
Για την εισαγωγή ϐιβλιογραφίας ϑα δούµε δύο τρόπους. Σαφώς υπάρχουν
περισσότεροι (ϐλ. [4]).
Τρόποι
• Embedded
• Bibtex
Και στις δύο περιπτώσεις οι ϐιβλιογραφικές αναφορές συνδέονται µε ένα µοναδικό
κλειδί για την κάθε µία το οποίο αποτελεί την ‘‘ ετικέτα’’ ϐάση της οποίας ϑα γίνει η
κλήση της συγκεκριµένης αναφοράς µέσα στο κείµενο χρησιµοποιώντας την εντολή:
cite{}
21. Embedded System
΄Οταν οι ϐιβλιογραφικές αναφορές είναι λίγες ή δεν τις χρησιµοποιούµε συχνά τότε
A
µπορούµε να χρησιµοποιήσουµε το ενσωµατωµένο ειδικό περιβάλλον του LTEX το οποίο
µας επιτρέπει την εισαγωγή ϐιβλιογραφικών αναφορών.
Βιβλιογραφικό Αντικείµενο
Περιβάλλον
begin{thebibliography}{}
bibliography-1
bibliography-2
...
end{thebibliography}
bibitem{lamport94}
Leslie Lamport (1994),
emph{LaTeX: A Document
Preparation System},
2nd Edition, Addison Wesley
Το κλειδί στην περίπτωση αυτή ορίζεται από
το bibitem{lamport94} και η
αναφορά γίνεται µέσω της εντολής
cite{lamport94}
22. BIBTEX[5]
΄Οταν χρησιµοποιούµε κάποιες αναφορές πάρα πολύ συχνά, είναι καλό να διαθέτουµε
µια ϐιβλιοθήκη αναφορών, οι ϐιβλιοθήκες αυτές έχουν κατάληξη .bib και µπορούν να
κατασκευαστούν είτε χειροκίνητα είτε µέσω ειδικών προγραµµάτων όπως το JabRef [6].
Βιβλιογραφικό Αντικείµενο
Χρήση
Πρώτα πρέπει να ϕορτωθεί το πακέτο
biblatex µε την εντολή:
usepackage{biblatex}
Αναφορά ϐιβλιοθήκης :
bibliography{file.bib}
Εκτύπωση Βιβλιογραφίας :
@book{lamport94,
author
= "Leslie Lamport",
title
= "{L}a{T}e{X}: {A}
{D}ocument {P}reparation
{S}ystem",
year
= "1994",
publisher = "Addison-Wesley",
}
Το κλειδί στην περίπτωση αυτή είναι το
lamport94 και η αναφορά γίνεται µέσω
της εντολής cite{lamport94}
printbibliography
΄Αλλα είδη
@article, @conference,
@incollection, @misc . . .