Transcript Metoda HRT-HOOD
Zastosowania Informatyki Wykład 10
Systemy Czasu Rzeczywistego
Copyright, 2003 © Adam Czajka
Spis treści
Systemy Czasu Rzeczywistego Metoda HRT-HOOD Tworzenie systemów w języku C Szeregowanie zadań Copyright, 2003 © Adam Czajka
Wstęp
Systemy czasu rzeczywistego: Systemy wbudowane Systemy sterujące procesami przemysłowymi Systemy sterujące Copyright, 2003 © Adam Czajka
Wstęp
Systemy czasu rzeczywistego: Zdarzenie SCR Odpowiedź 50 ms Systemy Sterowane zdarzeniami Copyright, 2003 © Adam Czajka
Wstęp
Systemy czasu rzeczywistego: Zdarzenie SCR Odpowiedź 500 ms Systemy Sterowane zdarzeniami Copyright, 2003 © Adam Czajka
Wstęp
Systemy czasu rzeczywistego: Zdarzenie SCR Odpowiedź Błąd !!!
500 ms Systemy Sterowane zdarzeniami Copyright, 2003 © Adam Czajka
Wstęp
Systemy czasu rzeczywistego: Systemy Silnie i Słabo uwarunkowane czasowe Copyright, 2003 © Adam Czajka
Wstęp
Specyfikacja wymagań Projektowanie Kodowanie Szeregowanie zadań Uruchamianie
Copyright, 2003 © Adam Czajka
Metoda HRT-HOOD
HOOD = Hierarchical Object-Oriented Design HRT-HOOD = Hard Real-Time HOOD Europejska Agencja ds. Przestrzeni Lata 1990-1995 A. Burns, A. Wellings, University of York Konkurencja: Real-Time UML
Copyright, 2003 © Adam Czajka
Metoda HRT-HOOD
Typy obiektów Przepływ danych Atrybuty obiektów Dekompozycja Klasy Systemy rozproszone
Copyright, 2003 © Adam Czajka
Rodzaj obiektu Pr B u f f e r
Typy obiektów
Nazwa
Aktywne (A) Pasywne (Pa)
Put * Get Operacje
Cykliczne (C) Sporadyczne (S) Chronione (Pr)
Copyright, 2003 © Adam Czajka
Typy obiektów
Obiekty pasywne
Pa Math Sum * Mul
Obiekty pasywne == Zbiór operacji
Copyright, 2003 © Adam Czajka
Typy obiektów
Obiekty aktywne – typy operacji
A Hotel ASER PutKey HSER LSER * GetKey Reservation HSER Confirm
Funkcjonalne ograniczenia aktywacji Asynchroniczne (ASER) Słabo zsynchronizowane (LSER) Silnie zsynchronizowane (HSER)
Copyright, 2003 © Adam Czajka
Typy obiektów
Obiekty aktywne – ograniczenia czasowe
• •
Ograniczenia czasowe są związane z następującymi operacjami : HSER
TOER_HSER LSER
TOER_LSER
(Timed Operation Execution Request)
Copyright, 2003 © Adam Czajka
Typy obiektów
Obiekty aktywne – ograniczenia czasowe
A Post_Office LSER TOER_HSER Send_Letter * Telephone_Call Copyright, 2003 © Adam Czajka
Typy obiektów
Obiekty cykliczne
C Sensor
Objekt jest aktywowany cyklicznie
Copyright, 2003 © Adam Czajka
Typy obiektów
Obiekty cykliczne – pomiar temperatury
C Sensor
1 min.
C Sensor
1 min.
C Sensor
okres
Copyright, 2003 © Adam Czajka
czas
Typy obiektów
Obiekty sporadyczne
S Button ASER Start
Operacja Start może być aktywowana przez przerwanie
Copyright, 2003 © Adam Czajka
C Sensor
Typy obiektów
Obiekty sporadyczne – odczyt klawiatury 1 min.
C Sensor
0,5 min.
C Sensor
max. częstotliwość
Copyright, 2003 © Adam Czajka
czas
Pr Storage LSER HSER Put * Get
Typy obiektów
Obiekty chronione – typy operacji
Asynchroniczne (PAER) - in Synchroniczne (PSER) – in/outs
Tylko operacje PSER mogą posiadać funkcjonalne ograniczenia aktywacji
Copyright, 2003 © Adam Czajka
Typy obiektów
Obiekty chronione W danej chwili obiekt chroniony wykonuje tylko jedną operację napraw element uporządkuj narzędzia
Copyright, 2003 © Adam Czajka
Typy obiektów
Obiekty chronione W danej chwili obiekt chroniony wykonuje tylko jedną operację napraw element uporządkuj narzędzia
Copyright, 2003 © Adam Czajka
Typy obiektów
Obiekty chronione W danej chwili obiekt chroniony wykonuje tylko jedną operację napraw element uporządkuj narzędzia
Copyright, 2003 © Adam Czajka
Przepływ danych
Problem producenta i konsumenta 20 min.
2 dni
Copyright, 2003 © Adam Czajka
Przepływ danych
A Producer A Consumer InElem Pr Storage PSER PSER * PutElement * GetElement OutElem Copyright, 2003 © Adam Czajka
Przepływ danych
Zasady wywołań operacji obiektów
Aktywny (A)
każdy inny obiekt Cykliczny (C), Sporadyczny (S)
Każdy inny obiekt za wyjątkiem aktywnego Chroniony (Pr)
Tylko chronione i pasywne Pasywny (Pa)
tylko pasywne
Copyright, 2003 © Adam Czajka
Przepływ danych
Zasady wywołań funkcji Zasada ogólna :
Jeżeli A i B są obiektami pasywnymi (lub chronionymi) a obiekt A wywołuje pewną operację obiektu B, to obiekt B nie może wywołać żadnej operacji obiektu A.
Copyright, 2003 © Adam Czajka
Wyjątki
Pr Dispatcher Schedule Out_El In_El NoSpace Pa Queue PutElem GetElem Copyright, 2003 © Adam Czajka
Atrybuty obiektów
DEADLINE THREAD BUDGET THREAD WCET OFFSET PRIORITY IMPORTANCE INTEGRITY PERIOD ( tylko obiekty cykliczne ) Minimum Arrival Time ( tylko obiekty sporadyczne)
Copyright, 2003 © Adam Czajka
Atrybuty obiektów
Atrybuty operacji :
OPERATION BUDGET OPERATION WCET (WCET = BUDGET + ERROR_HANDLING) CEILING PRIORITY INTEGRITY Sprawdzić szeregowalność systemu.
Copyright, 2003 © Adam Czajka
Dekompozycja
Obiektów Operacji Cały system (1 obiekt aktywny) dekompozycja Bardziej uszczegó łowione obiekty System zdekomponowany (bez obiektów aktywnych)
Copyright, 2003 © Adam Czajka
Dekompozycja
Zasady dekompozycji :
Active
jakikolwiek inny obiekt Passive
tylko obiekty pasywne Protected
obiekty pasywne + 1 chroniony Sporadic
Pasywne, Chronione, + co najmniej 1 Sporadyczny Cyclic
Pasywne, Chronione + co najmniej 1 Cykliczny
Copyright, 2003 © Adam Czajka
Dekompozycja
Zasady dekompozycji : Aktywne Cykliczne, Sporadyczne Chronione Pasywne
Copyright, 2003 © Adam Czajka
Dekompozycja
Zasady dekompozycji : Aktywne Cykliczne, Sporadyczne Chronione System zdekomponowany Pasywne
Copyright, 2003 © Adam Czajka
Dekompozycja
Zasady dekompozycji (przykłady dekompozycji operacji) :
ASER
ASER ASER
PAER LSER
PSER PSER
PSER Dekompozycja jest poprawna tylko, jeśli nie narusza własności obiektu rodzica.
Copyright, 2003 © Adam Czajka
Dekompozycja
Przykład
A Console ASER HSER Display_Line Read_Line Copyright, 2003 © Adam Czajka
Dekompozycja
Copyright, 2003 © Adam Czajka
Obiekty środowiska
Copyright, 2003 © Adam Czajka
Klasy
Copyright, 2003 © Adam Czajka
Systemy rozproszone
Copyright, 2003 © Adam Czajka
Bufor :
•
obiekt rzeczywisty
•
„stub” klienta
•
„stub” serwera
Zadanie
Zaprojektować przy użyciu metody HRT HOOD system „4 czytelników i pisarza” Copyright, 2003 © Adam Czajka