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

E-mail Εκτύπωση PDF

Εβδομαδιαίες ώρες διδασκαλίας:   3 θεωρία + 2 εργαστήριο

Tυπικό εξάμηνο διδασκαλίας:        Z

Διδασκαλία: Η διδασκαλία του μαθήματος έχει τη μορφή 15 διαλέξεων και ισάριθμων εργαστηριακών ασκήσεων, στο πλαίσιο των οποίων υπάρχει η δυνατότητα ανάληψης εργασιών.

Ενδεικτικά προαπαιτούμενα:          Αρχιτεκτονική Υπολογιστών, Λειτουργικά Συστήματα, Ψηφιακή Επεξεργασία Σημάτων, Προηγμένα Ψηφιακά Συστήματα.

Διδακτικές μονάδες: 7

Σκοπός και στόχοι του μαθήματος:

 

Το μάθημα αποσκοπεί στο να εισάγει τον φοιτητή στα Συστήματα Πραγματικού Χρόνου που υλοποιούνται σε επίπεδο υλικού και λογισμικού, τα οποία πρέπει να αποκρίνονται και να διαχειρίζονται συμβάντα και διεργασίες σε πραγματικό χρόνο, ο οποίος αποτελεί και την κρισιμότερη παράμετρο αυτών των συστημάτων. Γίνεται εισαγωγή στις αρχές ανάλυσης και σχεδιασμού συστημάτων πραγματικού χρόνου και τις μεθόδους που χρησιμοποιούνται. Αναλύονται θέματα χρονοπρογραμματισμού πραγματικού χρόνου και οδήγησης από χρονιστές, διακοπές και προτεραιότητες. Περιγράφονται οι γλώσσες προγραμματισμού πραγματικού χρόνου υψηλού επιπέδου και η επίδραση του χρόνου στην ανάπτυξη λογισμικού. Περιγράφονται οι μικροεπεξεργαστές και μικροελεγκτές που υλοποιούν συστήματα πραγματικού χρόνου σε επίπεδο υλικού, καθώς και θέματα προγραμματισμού και διασύνδεσής τους με περιφερειακές συσκευές. Γίνεται μία εισαγωγή στους Ψηφιακούς Επεξεργαστές Σήματος (DSP). Αναφέρονται θέματα αρχιτεκτονικής διαύλων που υλοποιούν μεταφορά δεδομένων σε πραγματικό χρόνο. Τέλος γίνεται μία εισαγωγή στα ενσωματωμένα συστήματα πραγματικού χρόνου και τις εφαρμογές τους. 

Περίγραμμα μαθήματος:

 

  • Εισαγωγή στα Συστήματα Πραγματικού Χρόνου. Κλασσική Δομημένη Ανάλυση Συστημάτων Πραγματικού Χρονου, Ημι-κλασικές προσεγγίσεις (Statecharts, PAISLey, Trace Assertion, Spec), Τυπικές μέθοδοι που ενσωματώνουν ιδιότητες χρόνου (Timed Petri Nets, Temporal Logic,VDM, Z κ.λ.π.), χρονική ανάλυση, συγχρονισμός, βασικά θεωρήματα χρονο­προγραμματισμού ορίων και σταθερών προτεραιοτήτων, σκληροί και μαλακοί περιορισμοί χρόνου, μετρήσεις απόδοσης.
  • Χρονοπρογραμματισμός πραγματικού χρόνου, οδήγηση από χρονιστή, οδήγηση από προτεραιότητες, κυκλική εκτέλεση, περιοδικές και απεριοδικές διεργασίες, ατομικές ενέργειες, ταυτόχρονες διεργασίες, διαχείριση εξαιρέσεων, Λειτουργικά Συστήματα και Πυρήνες Πραγματικού χρόνου.
  • Γλώσσες προγραμματισμού πραγματικού χρόνου, Ada, IDL, RTL/2, Estelle, C, Java, η επίδραση του χρόνου στη ανάπτυξη λογισμικού, σχεδίαση λογισμικού για πρόβλεψη και έλεγχο εκκίνησης διεργασιών.
  • Προγραμματισμός πραγματικού χρόνου, έλεγχος διεργασιών από μικροεπεξεργαστές / μικροελεγκτές. Μικροελεγκτές και προγραμματισμός τους σε γλώσσα μηχανής/assembly, έλεγχος περιφερειακών μέσω ολοκληρωμένων PIA, VIA, ASIC, UART κ.λ.π., διαχείριση διακοπών και προτεραιότητες, διανυσματικές διακοπές, περιορισμοί χρόνου, χρονο­προγραμματισμός, αξιοπιστία και ανοχή σε σφάλματα, παράλληλες αρχιτεκτονικές.
  • Αρχές ψηφιακής επεξεργασίας σημάτων, Ψηφιακοί Επεξεργαστές Σημάτων DSP, Αρχές σχεδίασης, προγραμματισμός και διασύνδεση των DSP, Ψηφιακά φίλτρα, μετατροπές ψηφιακών σημάτων, εφαρμογές σε βιομηχανικό περιβάλλον.
  • Αρχιτεκτονική Υπολογιστών Προσανατολισμένη σε συγκεκριμένες εφαρμογές, Αρχές λειτουργίας διαύλων, πρωτόκολλα, διαιτήτευση διαύλων και Πολλαπλοί Κύριοι Διάυλου, μεταφορά δεδομένων πραγματικού χρόνου, Single Transfers, Block Transfers, and Broadcasting, Σχεδίαση διαύλων, διαχείριση σφαλμάτων και προβλήματα.
  • Σχεδιασμός και υλοποίηση ενσωματωμένων συστημάτων πραγματικού χρόνου. Υψηλής απόδοσης Ολοκληρωμένα Κυκλώματα Ενσωματωμένων Συστημάτων, προγραμματισμός ενσωματωμένων συστημάτων και διασύνδεση με τον έξω κόσμο, βιομηχανικές εφαρμογές.

 

 

Βασική Βιβλιογραφία:

 

  1. Σημειώσεις του μαθήματος «Προγραμματισμός Συστημάτων σε Πραγματικό Χρόνο», Α.Τ.Ε.Ι. Σερρών.
  2. Δημήτρης Πογαρίδης, «Μικροϋπολογιστές – Μικροελεγκτές», Εκδόσεις ΙΩΝ, 1998, ISBN: 9604057790
  3. Predko, Myke, «Προγραμματίζοντας τον Μικροελεγκτή 8051», Εκδόσεις Τζιόλα, 2000.
  4. Hayes, Monson, «Θεωρία και προβλήματα στην ψηφιακή επεξεργασία σήματος», Εκδόσεις Τζιόλα, 2000.

 

 

Συμπληρωματική Βιβλιογραφία:

 

  1. A. Burns and A. Wellings, Real-Time Systems and Programming Languages, Addison-Wesley, Second Edition, 1997, ISBN 0-201-40365-X
  2. J. W. S. Liu, Real-Time Systems, Prentice Hall, 2000, ISBN 0-13-099651-3
  3. R. Grehan, R. Moote, I. Cyliax, "Real-Time Programming: A Guide to 32-bit Embedded Development,", 1998,  Addison Wesley
  4. Bruce Powel Douglass, Doing Hard Time: Developing Real-Time Systems with UML, Objects, Frameworks, and Patterns, Addison-Wesley, 1999, ISBN 0-201-49837- 5.
  5. W. Wolf, “Computers as Components: Principles of Embedded Computing System Design”, Morgan Kaufman, 2001
  6. H. Kopetz, “Real-Time Systems: Design Principles for Distributed Embedded Applications”, Kluwer Academic Publishers
  7. Phillip A. LaPlante, Real-Time Systems Design and Analysis:  An Engineers Handbook, IEEE Press, 1993.

 

 

Ηλεκτρονικές Υπηρεσίες