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

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

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

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


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

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

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

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

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

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

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

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

8 Μοντέλο Συστήματος Πραγματικού Χρόνου

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

10 Διαδικασίες Αισθητήρα / Ενεργοποιητή

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

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

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

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

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

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

17 Μηχανή Κατάστασης Φούρνου Μικροκυμάτων

18 Καταστάσεις Φούρνου Μικροκυμάτων

19 Διεγέρσεις Φούρνου Μικροκυμάτων

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

21 Διαγράμματα - Πλήρης Ισχύς

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

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

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

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

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

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

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

29 Διαχειριστής Διεργασίας RTE

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

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

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

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

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

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

36 Απαιτήσεις Χρόνου

37 Αρχιτεκτονικά Διεργασίας
Replace with portrait slide

38 Διεργασία Building_monitor
Replace with portrait slides

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

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

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

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

43 Παρακολούθηση Ροής Σε Αντιδραστήρα

44 Κυκλικό buffer

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

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 Buffer Αισθητήρα Δεδομένων
Replace with portrait slide 37

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

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


Κατέβασμα ppt "Σχεδιασμός Συστημάτων Πραγματικού Χρόνου"

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


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