Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Τεχνολογία ΛογισμικούSlide 1 Σχεδιασμός Συστημάτων Πραγματικού Χρόνου u Σχεδιασμός συστημάτων λογισμικού που υφίσταται περιορισμούς χρόνου.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Τεχνολογία ΛογισμικούSlide 1 Σχεδιασμός Συστημάτων Πραγματικού Χρόνου u Σχεδιασμός συστημάτων λογισμικού που υφίσταται περιορισμούς χρόνου."— Μεταγράφημα παρουσίασης:

1 Τεχνολογία ΛογισμικούSlide 1 Σχεδιασμός Συστημάτων Πραγματικού Χρόνου u Σχεδιασμός συστημάτων λογισμικού που υφίσταται περιορισμούς χρόνου

2 Τεχνολογία ΛογισμικούSlide 2 Στόχοι u Να δείξουν γιατί συστήματα πραγματικού χρόνου σχεδιάζονται ως σύνολο συνεργαζομένων ταυτόχρονων διαδικασιών u Να δείξουμε την χρησιμότητα των μοντέλων καταστάσεων στον σχεδιασμό συστημάτων πραγματικού χρόνου u Να περιγράψουμε την υποστήριξη πλατφόρμας που απαιτείται από συστήματα πραγματικού χρόνου u Η εισαγωγή βασικών αρχιτεκτονικών για μερικούς τύπους συστημάτων πραγματικού χρόνου

3 Τεχνολογία ΛογισμικούSlide 3 Θέματα u Σχεδιασμός Συστημάτων u Μοντελοποίηση Μηχανής Κατάστασης u Εκτέλεση σε Πραγματικό Χρόνο u Συστήματα Παρακολούθησης και Ελέγχου u Συστήματα Λήψης Δεδομένων

4 Τεχνολογία ΛογισμικούSlide 4 Συστήματα Πραγματικού Χρόνου u Συστήματα που παρακολουθούν και ελέγχουν το περιβάλλον τους u Σχετίζονται άμεσα με στοιχεία υλικού •Αισθητήρες: Συλλέγουν δεδομένα από το περιβάλλον του συστήματος •Ενεργοποιητές: Αλλάζουν με κάποιο τρόπο το περιβάλλον τους u Ο χρόνος είναι κρίσιμη παράμετρος. Τα συστήματα πραγματικού χρόνου πρέπει να αντιδρούν σε συγκεκριμένα χρονικά περιθώρια

5 Τεχνολογία ΛογισμικούSlide 5 Ορισμός u Ένα σύστημα πραγματικού χρόνου είναι σύστημα λογισμικού του οποίου η σωστή λειτουργία εξαρτάται από τα αποτελέσματα που παράγονται από το σύστημα και τον χρόνο στον οποίο τα αποτελέσματα παράγονται u Ένα ‘soft’ σύστημα πραγματικού χρόνου είναι το σύστημα του οποίου η λειτουργία υποβαθμίζεται αν τα αποτελέσματα δεν παράγονται σύμφωνα με τους συγκεκριμένους χρονικούς περιορισμούς u Ένα ‘hard’ σύστημα πραγματικού χρόνου είναι το σύστημα του οποίου η λειτουργία δεν είναι σωστή αν τα αποτελέσματα παράγονται έξω από τους χρονικούς περιορισμούς

6 Τεχνολογία ΛογισμικούSlide 6 Συστήματα Αιτίου/Ανάδρασης u Δοθέντος ενός εξωτερικού αιτίου το σύστημα πρέπει να παράγει αποτελέσματα σε καθορισμένο χρόνο u Περιοδική διέγερση. Η διέγερση εμφανίζεται σε προκαθορισμένα χρονικά διαστήματα •Για παράδειγμα μία λήψη θερμοκρασίας μπορεί να γίνεται κάθε 10 δευτερόλεπτα u Μη περιοδική διέγερση. Η διέγερση εμφανίζεται σε μη καθορισμένα χρονικά διαστήματα •Για παράδειγμα μία διακοπή ρεύματος εισάγει διακοπή η οποία πρέπει να επεξεργαστεί από το σύστημα

7 Τεχνολογία ΛογισμικούSlide 7 Αρχιτεκτονική Θεώρηση u Εξαιτίας της ανάγκης για ανάδραση σε χρονικές απαιτήσεις που απαιτούνται από διαφορετικές αποκρίσεις διέγερσης, η αρχιτεκτονική συστήματος πρέπει να επιτρέπει εναλλαγή μεταξύ διαφορετικών τύπων διέγερσης u Οι χρονικές απαιτήσεις διαφορετικών διεγέρσεων είναι διαφορετικές και ένα απλό διαδοχικό loop δεν είναι συνήθως κατάλληλο u Τα συστήματα πραγματικού χρόνου σχεδιάζονται ως συνεργαζόμενες διαδικασίες με ένα έλεγχο πραγματικού χρόνου που ελέγχει αυτές τις διεργασίες

8 Τεχνολογία ΛογισμικούSlide 8 Μοντέλο Συστήματος Πραγματικού Χρόνου

9 Τεχνολογία ΛογισμικούSlide 9 Στοιχεία Συστήματος u Διαδικασίες Ελέγχου Αισθητήρων •Συλλογή πληροφορίας από αισθητήρες. Αποθήκευση πληροφορίας σε διέγερση αισθητήρων u Επεξεργαστής Δεδομένων •Επεξεργασία συλλεχθείσας πληροφορίας και υπολογισμός της απόκρισης του συστήματος. u Έλεγχο Ενεργοποιητή •Παράγει σήματα ελέγχου για τον ενεργοποιητή

10 Τεχνολογία ΛογισμικούSlide 10 Διαδικασίες Αισθητήρα / Ενεργοποιητή

11 Τεχνολογία ΛογισμικούSlide 11 Σχεδιασμός Συστήματος u Σχεδιασμός υλικού και λογισμικού που σχετίζεται με το σύστημα. Καταμερισμός λειτουργίας μεταξύ υλικού και λογισμικού ή και στα δύο u Οι σχεδιαστικές αποφάσεις στηρίζονται στις μη - λειτουργικές απαιτήσεις του συστήματος u Το υλικό εμφανίζει καλύτερη λειτουργία, αλλά συνήθως περισσότερη ανάπτυξη και απαιτήσεις για αλλαγές

12 Τεχνολογία ΛογισμικούSlide 12 Σχεδιασμός Υλικού και Λογισμικού

13 Τεχνολογία ΛογισμικούSlide 13 Διαδικασία Σχεδιασμού Συστήματος Πραγματικού Χρόνου u Αναγνώριση της διέγερσης που πρέπει να επεξεργαστεί και οι απαιτούμενες αντιδράσεις σε αυτή την διέγερση u Για κάθε διέγερση και απόκριση, αναγνώριση των περιορισμών χρόνου u Συνένωση της διέγερσης και της απόκρισης σε ταυτόχρονες διαδικασίες. Μία διαδικασία πρέπει να σχετίζεται με κάθε τάξη διέγερσης και απόκρισης

14 Τεχνολογία ΛογισμικούSlide 14 Διαδικασία Σχεδιασμού Συστημάτων Πραγματικού Χρόνου u Σχεδιασμός αλγορίθμων για την επεξεργασία κάθε κλάσης διέγερσης και απόκρισης. Πρέπει να ικανοποιούν τους χρονικούς περιορισμούς u Σχεδιασμός συστήματος παρακολούθησης που μπορεί να επιβεβαιώνει ότι οι διαδικασίες αρχίζουν στην ώρα τους και τελειώνουν σε συγκεκριμένο χρονικό διάστημα u Ολοκλήρωση με χρήση εκτέλεσης σε πραγματικό χρόνο ή λειτουργικού συστήματος

15 Τεχνολογία ΛογισμικούSlide 15 Χρονικοί Περιορισμοί u Απαιτείται μακροχρόνια προσομοίωση και πειραματισμός για να βεβαιωθούμε ότι ικανοποιούνται από το σύστημα u Πιθανόν τρόποι σχεδιασμού όπως ο αντικειμενοστραφής να μην μπορούν να χρησιμοποιηθούν εξαιτίας των επιπλέον πραγμάτων που απαιτούνται u Σημαίνει ότι πιθανό να απαιτούνται γλώσσες προγραμματισμού χαμηλού επιπέδου για βελτίωση της απόδοσης

16 Τεχνολογία ΛογισμικούSlide 16 Μοντελοποίηση Μηχανής Κατάστασης u Το αποτέλεσμα της διέγερσης ενός συστήματος πραγματικού χρόνου πιθανό να είναι η μεταφορά από την μία κατάσταση στην άλλη u Μηχανές περιορισμένων καταστάσεων πιθανό να χρησιμοποιούνται για την μοντελοποίηση συστημάτων πραγματικού χρόνου. u Όμως τα μοντέλα FSM δεν έχουν δομή. Ακόμα και απλά συστήματα έχουν περίπλοκα μοντέλα u Διαγράμματα τα οποία δείχνουν διαδοχή γεγονότων είναι μέσα για την διαχείριση της πολυπλοκότητας

17 Τεχνολογία ΛογισμικούSlide 17 Μηχανή Κατάστασης Φούρνου Μικροκυμάτων

18 Τεχνολογία ΛογισμικούSlide 18 Καταστάσεις Φούρνου Μικροκυμάτων

19 Τεχνολογία ΛογισμικούSlide 19 Διεγέρσεις Φούρνου Μικροκυμάτων

20 Τεχνολογία ΛογισμικούSlide 20 Διαγράμματα u Χρησιμοποιούνται για να δομήσουν και παρουσιάσουν πληροφορία μοντέλου κατάστασης u Δείχνουν την επεξεργασία από την αρχή έως το τέλος για ένα δεδομένο σύνολο διεγέρσεων u Παράγονται για συνδυασμό μηνυμάτων. Αυτό σημαίνει ότι για συστήματα με πολλαπλές διεγέρσεις πιθανό η προσέγγιση αυτή να μην είναι πρακτική

21 Τεχνολογία ΛογισμικούSlide 21 Διαγράμματα - Πλήρης Ισχύς

22 Τεχνολογία ΛογισμικούSlide 22 Εκτελέσεις Πραγματικού Χρόνου u Είναι εξειδικευμένα λειτουργικά συστήματα που διαχειρίζονται τις διεργασίες σε ένα RTS u Υπεύθυνες για διαχείριση διεργασιών και κατανομή πόρων (επεξεργασία και μνήμη) u Βασίζονται σε πρότυπο RTE kernel το οποίο δεν τροποποιείται για συγκεκριμένη εφαρμογή u Δεν συμπεριλαμβάνονται λειτουργίες όπως διαχείριση αρχείων 14

23 Τεχνολογία ΛογισμικούSlide 23 Στοιχεία Εκτέλεσης u Ρολόι Πραγματικού Χρόνου •Παρέχει πληροφορίες για χρονικό προγραμματισμό διεργασιών u Διαχειριστής διακοπών •Διαχειρίζεται μη περιοδικές απαιτήσεις υπηρεσίας u Χρονικός προγραμματισμός •Επιλέγει την επόμενη διεργασία u Διαχειριστής πόρων •Κατανέμει πόρους μνήμης και επεξεργαστή u Διεκπεραιωτής •Αρχίζει την εκτέλεση διαδικασίας

24 Τεχνολογία ΛογισμικούSlide 24 Non-stop Στοιχεία Συστήματος u Διαχειριστής Διαμόρφωσης •Υπεύθυνος για την δυναμική επαναδιαμόρφωση του υλικού και λογισμικού του συστήματος. Μονάδες υλικού μπορούν να αλλαχθούν και να γίνει αναβάθμιση λογισμικού χωρίς να σταματήσει η λειτουργία του συστήματος u Διαχειριστής Λαθών •Υπεύθυνος για την εύρεση λαθών λογισμικού και υλικού και για την ανάληψη των κατάλληλων δράσεων (χρήση βοηθητικών δίσκων, κ.α.) για να συνεχίσει το σύστημα αδιάλειπτα την λειτουργία του

25 Τεχνολογία ΛογισμικούSlide 25 Στοιχεία Εκτέλεσης Πραγματικού Χρόνου u Replace with portrait slide

26 Τεχνολογία ΛογισμικούSlide 26 Προτεραιότητα Διαδικασίας u Η επεξεργασία μερικών τύπων διέγερσης μερικές φορές είναι σε προτεραιότητα u Προτεραιότητα επιπέδου διακοπής. Η μεγαλύτερη προτεραιότητα κατανέμεται σε διεργασίες που απαιτούν πολύ γρήγορη απόκριση u Προτεραιότητα επιπέδου ρολογιού. Κατανέμεται σε περιοδικές διεργασίες u Στα πλαίσια αυτά υπάρχουν και άλλα επίπεδα προτεραιότητας που μπορούν να ανατεθούν

27 Τεχνολογία ΛογισμικούSlide 27 Εξυπηρέτηση Διακοπών u Ο έλεγχος μεταφέρεται αυτόματα σε μία προκαθορισμένη θέση μνήμης u Η θέση περιλαμβάνει οδηγία για μετακίνηση σε ρουτίνα διακοπής u Άλλες διακοπές απομονώνονται και ο έλεγχος επανέρχεται στην διαδικασία που έχει διακοπεί u Οι ρουτίνες διακοπής πρέπει να είναι σύντομες, απλές και γρήγορες

28 Τεχνολογία ΛογισμικούSlide 28 Εξυπηρέτηση Περιοδικών Διεργασιών u Στα περισσότερα συστήματα πραγματικού χρόνου υπάρχουν αρκετές κλάσεις περιοδικών διεργασιών, η κάθε μία με διαφορετική περίοδο (ο χρόνος μεταξύ εκτελέσεων), χρόνους εκτέλεσης και χρονικά όρια (ο χρονικός περιορισμός για την ολοκλήρωση της διεργασίας) u Το ρολόι πραγματικού χρόνου ενημερώνει περιοδικά και προκαλεί διακοπή η οποία προγραμματίζει τον διαχειριστή διεργασιών για περιοδικές διεργασίες u Ο διαχειριστής διεργασιών επιλέγει διεργασία η οποία είναι έτοιμη για εκτέλεση

29 Τεχνολογία ΛογισμικούSlide 29 Διαχειριστής Διεργασίας RTE

30 Τεχνολογία ΛογισμικούSlide 30 Εναλλαγή Διεργασίας u Ο χρονικός προγραμματιστής επιλέγει την επόμενη διεργασία η οποία θα εκτελεστεί από τον επεξεργαστή. Εξαρτάται από την στρατηγική προγραμματισμού η οποία λαμβάνει υπόψη της την προτεραιότητα διεργασίας u Ο διαχειριστής πόρων κατανέμει μνήμη και επεξεργαστή στην διεργασία που πρόκειται να εκτελεσθεί u Ο διεκπεραιωτής παίρνει μία διαδικασία από την λίστα, την φορτώνει σε επεξεργαστή και αρχίζει την εκτέλεσή της

31 Τεχνολογία ΛογισμικούSlide 31 Συστήματα Παρακολούθησης και Ελέγχου u Σημαντική κλάση συστημάτων πραγματικού χρόνου u Ελέγχονται συνεχώς οι αισθητήρες και γίνονται δραστηριότητες που εξαρτώνται από τις τιμές των σενσόρων u Τα συστήματα παρακολούθησης εξετάζουν τους αισθητήρες και δίνουν αποτελέσματα u Τα συστήματα ελέγχου παίρνουν τιμές αισθητήρων και ελέγχουν ενεργοποιητές υλικού

32 Τεχνολογία ΛογισμικούSlide 32 Σύστημα Συναγερμού u Το σύστημα παρακολουθεί αισθητήρες σε πόρτες και παράθυρα για να διαπιστώσει παρουσία κάποιου ανεπιθύμητου στο κτίριο u Όταν το σύστημα δείξει κάτι παραβιασμένο τότε το σύστημα ανάβει τα φώτα στην περιοχή και ενημερώνει την αστυνομία u Παρέχει την δυνατότητα λειτουργίας ακόμα και σε περίπτωση διακοπής ηλεκτρικού ρεύματος

33 Τεχνολογία ΛογισμικούSlide 33 Σύστημα Συναγερμού u Αισθητήρες •Αισθητήρες κίνησης, αισθητήρες παραθύρων και θυρών. •50 αισθητήρες παραθύρων, 30 αισθητήρες θυρών και 200 αισθητήρες κίνησης. u Δράσεις •Όταν διαπιστώνεται η παρουσία κάποιου ανεπιθύμητου ειδοποιείται αυτόματα η αστυνομία •Τα φώτα ανάβουν σε δωμάτια με ενεργοποιημένους αισθητήρες •Ο συναγερμός ήχου ενεργοποιείται u Το σύστημα κάνει χρήση βοηθητικής ισχύος όταν διαπιστώνεται πτώση τάσης

34 Τεχνολογία ΛογισμικούSlide 34 Η Διαδικασία Σχεδιασμού Συστήματος Πραγματικού Χρόνου u Αναγνώριση διεγέρσεων και αποκρίσεων u Καθορισμός περιορισμών χρόνου που σχετίζεται με κάθε διέγερση και απόκριση u Κατανομή λειτουργιών συστήματος σε ταυτόχρονες διεργασίες u Σχεδιασμός αλγορίθμων για επεξεργασία διέγερσης και παραγωγή απόκρισης u Σχεδιασμός συστήματος χρονικού προγραμματισμού το οποίο βοηθά ώστε οι διεργασίες να εκτελούνται εντός χρονικών περιορισμών 24

35 Τεχνολογία ΛογισμικούSlide 35 Διεγέρσεις για Επεξεργασία u Αποτυχία Τάσης •Παράγεται όχι περιοδικά από ένα ελεγκτή κυκλώματος. Όταν γίνεται θα πρέπει να χρησιμοποιείται βοηθητική τάση εντός 50 ms u Συναγερμός •Διέγερση που παράγεται από αισθητήρες του συστήματος. Η απόκριση είναι να καλέσουμε την αστυνομία, να ανάψουν τα φώτα και να ενεργοποιηθεί το ηχητικό σήμα του συναγερμού 25

36 Τεχνολογία ΛογισμικούSlide 36 Απαιτήσεις Χρόνου

37 Τεχνολογία ΛογισμικούSlide 37 Αρχιτεκτονικά Διεργασίας u Replace with portrait slide

38 Τεχνολογία ΛογισμικούSlide 38 Διεργασία Building_monitor u Replace with portrait slides

39 Τεχνολογία ΛογισμικούSlide 39 Συστήματα Ελέγχου u Το σύστημα συναγερμού είναι κύρια ένα σύστημα παρακολούθησης. Συλλέγει δεδομένα από αισθητήρες αλλά δεν υπάρχει έλεγχος πραγματικού χρόνου για τον ενεργοποιητή u Τα συστήματα ελέγχου είναι παρόμοια, αλλά σε απόκριση στις τιμές αισθητήρων στέλνουν σήματα ελέγχου στους ενεργοποιητές u Παράδειγμα παρακολούθησης και ελέγχου είναι το σύστημα που ελέγχει θερμοκρασίες και ελέγχει την θέρμανση

40 Τεχνολογία ΛογισμικούSlide 40 Σύστημα Ελέγχου Θερμοκρασίας 30

41 Τεχνολογία ΛογισμικούSlide 41 Συστήματα Συλλογής Δεδομένων u Συλλέγουν δεδομένα από αισθητήρες για περαιτέρω επεξεργασία και ανάλυση u Η διεργασίες συλλογής δεδομένων και επεξεργασίας έχουν διαφορετικές περιόδους και χρονικούς περιορισμούς u Η συλλογή δεδομένων μπορεί να είναι γρηγορότερη από την επεξεργασία, π.χ. συλλογή πληροφορίας για έκρηξη u Υπάρχουν μηχανισμοί για εξομάλυνση των ταχυτήτων.

42 Τεχνολογία ΛογισμικούSlide 42 Συλλογή Δεδομένων Αντιδραστήρα u Το σύστημα συλλέγει δεδομένα από σύνολο αισθητήρων που παρακολουθούν την ροή νετρωνίων σε πυρηνικό αντιδραστήρα u Αποθηκεύονται σε κυκλικό buffer για περαιτέρω επεξεργασία u Το κυκλικό buffer υλοποιείται ως ταυτόχρονη διαδικασία ώστε η συλλογή και η επεξεργασία να συγχρονίζονται

43 Τεχνολογία ΛογισμικούSlide 43 Παρακολούθηση Ροής Σε Αντιδραστήρα

44 Τεχνολογία ΛογισμικούSlide 44 Κυκλικό buffer

45 Τεχνολογία ΛογισμικούSlide 45 Κοινή Εξαίρεση u Η διαδικασία παραγωγός συλλέγει δεδομένα και τα προσθέτει στο buffer. Οι διαδικασίες κατανάλωσης παίρνουν δεδομένα από το buffer και διαθέτουν τα στοιχεία u Οι διαδικασίες παραγωγής και κατανάλωσης πρέπει να εξαιρεθούν και οι δύο από την πρόσβαση στο ίδιο στοιχείο u Τοbuffer πρέπει να σταματήσει την διαδικασία παραγωγό να προσθέτει στοιχεία σε πλήρες buffer και τις διαδικασίες κατανάλωσης από το να παίρνουν πληροφορία από ένα άδειο buffer.

46 Τεχνολογία ΛογισμικούSlide 46 buffer Δεδομένων Αισθητήρα- Εξειδίκευση Διαδικασιών task Sensor_data_buffer is -- Get and Put are like procedures which may -- execute in parallel. They are the only interface to the buffer. entry Put ( Val: SENSOR_RECORD ) ; entry Get ( Val: in out SENSOR_RECORD) ; end Sensor_data_buffer ;

47 Τεχνολογία ΛογισμικούSlide 47 Buffer Αισθητήρα Δεδομένων 37 u Replace with portrait slide

48 Τεχνολογία ΛογισμικούSlide 48 Σημαντικά Σημεία u Η αποτελεσματικότητα των συστημάτων πραγματικού χρόνου δεν εξαρτάται μόνο από το πόσο σωστά λειτουργού, αλλά και από το πόσο γρήγορα αντιδρούν u Καλό είναι να καθυστερήσει ο καταμερισμός λειτουργιών σε υλικό και λογισμικό στην διαδικασία σχεδιασμού u Τα συστήματα πραγματικού χρόνου σχεδιάζονται ως ένας αριθμός ταυτόχρονων διαδικασιών

49 Τεχνολογία ΛογισμικούSlide 49 Σημαντικά Σημεία u Ένα μοντέλο συστήματος πραγματικού χρόνου συσχετίζει διαδικασίες για κάθε κλάση αισθητήρα και ενεργοποιητή u Οι εκτελεστές πραγματικού χρόνου είναι υπεύθυνοι για την διαχείριση των διαδικασιών και πόρων. u Τα συστήματα παρακολούθησης και ελέγχουν δειγματοληπτούν αισθητήρες και στέλνουν σήματα ελέγχου σε ενεργοποιητές u Τα συστήματα συλλογής δεδομένων οργνώνονται σύμφωνα με το μοντέλο παραγωγού - καταναλωτή


Κατέβασμα ppt "Τεχνολογία ΛογισμικούSlide 1 Σχεδιασμός Συστημάτων Πραγματικού Χρόνου u Σχεδιασμός συστημάτων λογισμικού που υφίσταται περιορισμούς χρόνου."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google