Προγραμματισμός Συστημάτων Πραγματικού Χρόνου σε Java

 
δείτε την πρωτότυπη σελίδα τεκμηρίου
στον ιστότοπο του αποθετηρίου του φορέα για περισσότερες πληροφορίες και για να δείτε όλα τα ψηφιακά αρχεία του τεκμηρίου*
κοινοποιήστε το τεκμήριο




2016 (EL)
Προγραμματισμός Συστημάτων Πραγματικού Χρόνου σε Java

Λαναράς, Φίλιππος Πέτρος

Real-time systems are a systems category which have to respond to a designated stimulus within a finely specified time constraint. The results in the absence of these constraints differs from system to system. These systems are by their nature concurrent, which leads to the need for the respective and suitable support. Java provides support for concurrency, but it lacks the support for real-time systems. This gap can be filled by using The Real-Time Specification for Java (RTSJ). This extends the ability of Java to be used as a programming language in real-time systems. The extensions which it provides are in memory areas that are not a part of the heap, to schedulable objects and schedulers, to asynchronous events and their handlers, to real-time threads, synchronization and resource sharing, to asynchronous transfer of control and access to physical memory. The goal of this project is to get to know the programming problems associated with concurrency requirements in the environment of a real-time system. In this project a real-time system is presented which requires synchronization, where there are some threads which need to communicate between themselves through the use of shared variables and a queue structure, and with specific timing requirements. This system is designed and implemented with the use of RTSJ. In this implementation, the system operates correctly without violating its designated constraints and the sharing of resources also works correctly. Problems that can occur during the development of such an application are reported, and arise due to the nature of the system, for example, mutual exclusion problems, problems with the use of Java as a programming language due to the semantics of some commands, and also with the use of RTSJ, due to default values and missing features from its implementations. Furthermore, the correctness conditions that concurrent programmes need to fulfil, as well as, some methods and tools for the verification of real-time systems with the usage of Java PathFinder and Architecture Analysis and Design Languages are reported. This project can help in the further use of RTSJ in the development of more complex systems. As a continuation of this project, a system that will operate as a controller.
Τα συστήματα πραγματικού χρόνου αποτελούν μια κατηγορία συστημάτων όπου πρέπει να ανταποκρίνονται σε κάποια ερεθίσματα με πολύ συγκεκριμένους περιορισμούς. Το αποτέλεσμα από την καταπάτηση τέτοιων περιορισμών διαφέρει από σύστημα σε σύστημα. Τα συστήματα αυτά είναι εγγενώς ταυτόχρονα, με αποτέλεσμα να χρειάζεται και η αντίστοιχη υποστήριξη. Η Java παρέχει υποστήριξη για ταυτοχρονισμό, αλλά δεν παρέχει υποστήριξη για συστήματα πραγματικού χρόνου. Αυτό συμπληρώνεται από τη Προδιαγραφή Java για Συστήματα Πραγματικού Χρόνου (Real-Time Specification for Java - RTSJ). Αυτή επεκτείνει τη Java ώστε να μπορεί να χρησιμοποιηθεί ως γλώσσα προγραμματισμού σε συστήματα πραγματικού χρόνου. Οι επεκτάσεις που προσφέρει είναι περιοχές μνήμης που δεν είναι μέρος του σωρού, τα χρονοπρογραμματίσιμα αντικείμενα και οι χρονοπρογραμματιστές, τα ασύγχρονα γεγονότα και οι χειριστές τους, τα νήματα πραγματικού χρόνου, ο συγχρονισμός και ο διαμοιρασμός πόρων, η ασύγχρονη μεταφορά ελέγχου και η πρόσβαση φυσικής μνήμης. Σκοπός της εργασίας είναι η εξοικείωση με προβλήματα προγραμματισμού με απαιτήσεις ταυτοχρονισμού σε περιβάλλον συστήματος πραγματικού χρόνου. Στην εργασία αυτή παρουσιάζεται ένα σύστημα πραγματικού χρόνου με ανάγκη για συγχρονισμό, όπου υπάρχουν μερικά νήματα τα οποία πρέπει να επικοινωνούν μεταξύ τους μέσα από κοινές μεταβλητές και μια δομή ουράς, μέσα σε συγκεκριμένους χρονικούς περιορισμούς. Το σύστημα σχεδιάζεται και υλοποιείται με τη χρήση του RTSJ. Στην υλοποίηση αυτή, το σύστημα λειτουργεί σωστά χωρίς να καταπατώνται οι περιορισμοί που έχουν τεθεί και ο διαμερισμός των πόρων λειτουργεί σωστά. Αναφέρονται προβλήματα που μπορούν να δημιουργηθούν κατά την ανάπτυξη μιας τέτοιας εφαρμογής και οφείλονται στη φύση του συστήματος, π.χ. προβλήματα αμοιβαίου αποκλεισμού, στη χρήση της Java ως γλώσσας προγραμματισμού, λόγω της σημασίας μερικών εντολών, και στη χρήση του RTSJ, λόγω προεπιλεγμένων τιμών και ελλείψεις λειτουργιών στις υλοποιήσεις του. Στη συνέχεια αναφέρονται οι συνθήκες ορθότητας που πρέπει να πληρούν τα ταυτόχρονα προγράμματα καθώς και μερικές μεθόδους και εργαλεία για την επαλήθευση συστημάτων πραγματικού χρόνου, όπως το Java PathFinder και τη Architecture Analysis and Design Languages. Αυτή η εργασία μπορεί να βοηθήσει στην περαιτέρω χρήση του RTSJ στην ανάπτυξη πιο σύνθετων συστημάτων. Ως συνέχεια αυτής της εργασίας, μπορεί να υλοποιηθεί ένα σύστημα που θα λειτουργεί ως ελεγκτής, επικοινωνώντας με το περιβάλλον.

info:eu-repo/semantics/bachelorThesis
Graduate Thesis / Πτυχιακή Εργασία

Real-Time Specification for Java (RTSJ)
Java
Συστήματα πραγματικού χρόνου
Προδιαγραφή Java για Συστήματα Πραγματικού χρόνου
Real-time systems

Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης (EL)
Aristotle University of Thessaloniki (EN)

Ελληνική γλώσσα

2016-10-31T12:49:56Z
2016


Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης, Σχολή Θετικών Επιστημών, Τμήμα Πληροφορικής

This record is part of 'IKEE', the Institutional Repository of Aristotle University of Thessaloniki's Library and Information Centre found at http://ikee.lib.auth.gr. Unless otherwise stated above, the record metadata were created by and belong to Aristotle University of Thessaloniki Library, Greece and are made available to the public under Creative Commons Attribution-ShareAlike 4.0 International license (http://creativecommons.org/licenses/by-sa/4.0). Unless otherwise stated in the record, the content and copyright of files and fulltext documents belong to their respective authors. Out-of-copyright content that was digitized, converted, processed, modified, etc by AUTh Library, is made available to the public under Creative Commons Attribution-ShareAlike 4.0 International license (http://creativecommons.org/licenses/by-sa/4.0). You are kindly requested to make a reference to AUTh Library and the URL of the record containing the resource whenever you make use of this material.
info:eu-repo/semantics/openAccess



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