Systemy Czasu Rzeczywistego Zastosowania Informatyki Wykład 10 Systemy Czasu Rzeczywistego aczajka@man.poznan.pl Copyright, 2003 © Adam Czajka
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
Copyright, 2003 © Adam Czajka Wstęp Systemy czasu rzeczywistego: Systemy wbudowane Systemy sterujące procesami przemysłowymi Systemy sterujące Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Wstęp Systemy czasu rzeczywistego: Zdarzenie Odpowiedź SCR 50 ms Systemy Sterowane zdarzeniami Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Wstęp Systemy czasu rzeczywistego: Zdarzenie Odpowiedź SCR 500 ms Systemy Sterowane zdarzeniami Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Wstęp Systemy czasu rzeczywistego: Zdarzenie Odpowiedź SCR Błąd !!! 500 ms Systemy Sterowane zdarzeniami Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Wstęp Systemy czasu rzeczywistego: Systemy Silnie i Słabo-uwarunkowane czasowe Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Wstęp Specyfikacja wymagań Projektowanie Kodowanie Szeregowanie zadań Uruchamianie Copyright, 2003 © Adam Czajka
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
Copyright, 2003 © Adam Czajka Metoda HRT-HOOD Typy obiektów Przepływ danych Atrybuty obiektów Dekompozycja Klasy Systemy rozproszone Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Typy obiektów Rodzaj obiektu Nazwa Aktywne (A) Pasywne (Pa) Cykliczne (C) Sporadyczne (S) Chronione (Pr) Operacje Copyright, 2003 © Adam Czajka
Obiekty pasywne == Zbiór operacji Typy obiektów Obiekty pasywne Obiekty pasywne == Zbiór operacji Copyright, 2003 © Adam Czajka
Obiekty aktywne – typy operacji Funkcjonalne ograniczenia aktywacji Typy obiektów Obiekty aktywne – typy operacji Asynchroniczne (ASER) Słabo zsynchronizowane (LSER) Silnie zsynchronizowane (HSER) Funkcjonalne ograniczenia aktywacji Copyright, 2003 © Adam Czajka
Obiekty aktywne – ograniczenia czasowe 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
Obiekty aktywne – ograniczenia czasowe Typy obiektów Obiekty aktywne – ograniczenia czasowe Copyright, 2003 © Adam Czajka
Objekt jest aktywowany cyklicznie Typy obiektów Obiekty cykliczne Objekt jest aktywowany cyklicznie Copyright, 2003 © Adam Czajka
Obiekty cykliczne – pomiar temperatury Typy obiektów Obiekty cykliczne – pomiar temperatury 1 min. 1 min. czas okres Copyright, 2003 © Adam Czajka
Operacja Start może być aktywowana przez przerwanie Typy obiektów Obiekty sporadyczne Operacja Start może być aktywowana przez przerwanie Copyright, 2003 © Adam Czajka
Obiekty sporadyczne – odczyt klawiatury Typy obiektów Obiekty sporadyczne – odczyt klawiatury 1 min. 0,5 min. czas max. częstotliwość Copyright, 2003 © Adam Czajka
Typy obiektów Asynchroniczne (PAER) - in Obiekty chronione – typy operacji Asynchroniczne (PAER) - in Synchroniczne (PSER) – in/outs Tylko operacje PSER mogą posiadać funkcjonalne ograniczenia aktywacji Copyright, 2003 © Adam Czajka
W danej chwili obiekt chroniony wykonuje tylko jedną operację Typy obiektów Obiekty chronione W danej chwili obiekt chroniony wykonuje tylko jedną operację ? ? ? napraw element uporządkuj narzędzia Copyright, 2003 © Adam Czajka
W danej chwili obiekt chroniony wykonuje tylko jedną operację Typy obiektów Obiekty chronione W danej chwili obiekt chroniony wykonuje tylko jedną operację napraw element uporządkuj narzędzia Copyright, 2003 © Adam Czajka
W danej chwili obiekt chroniony wykonuje tylko jedną operację Typy obiektów Obiekty chronione W danej chwili obiekt chroniony wykonuje tylko jedną operację napraw element uporządkuj narzędzia Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Przepływ danych Problem producenta i konsumenta 20 min. 2 dni Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Przepływ danych Copyright, 2003 © Adam Czajka
Zasady wywołań operacji obiektów 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
Zasady wywołań funkcji 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
Copyright, 2003 © Adam Czajka Wyjątki Copyright, 2003 © Adam Czajka
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 chronionych : Atrybuty operacji : OPERATION BUDGET OPERATION WCET (WCET = BUDGET + ERROR_HANDLING) Atrybuty obiektów chronionych : Cel : Sprawdzić szeregowalność systemu. CEILING PRIORITY INTEGRITY Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Dekompozycja Obiektów Operacji Bardziej uszczegó- łowione obiekty dekompozycja Cały system (1 obiekt aktywny) System zdekomponowany (bez obiektów aktywnych) Copyright, 2003 © Adam Czajka
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
Cykliczne, Sporadyczne Dekompozycja Zasady dekompozycji : Aktywne Cykliczne, Sporadyczne Chronione Pasywne Copyright, 2003 © Adam Czajka
Cykliczne, Sporadyczne System zdekomponowany Dekompozycja Zasady dekompozycji : Aktywne Cykliczne, Sporadyczne System zdekomponowany Chronione Pasywne Copyright, 2003 © Adam Czajka
Zasady dekompozycji (przykłady dekompozycji operacji) : 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
Copyright, 2003 © Adam Czajka Dekompozycja Przykład Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Dekompozycja Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Obiekty środowiska Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Klasy Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Systemy rozproszone Bufor : obiekt rzeczywisty „stub” klienta „stub” serwera Copyright, 2003 © Adam Czajka
Copyright, 2003 © Adam Czajka Zadanie Zaprojektować przy użyciu metody HRT-HOOD system „4 czytelników i pisarza” Copyright, 2003 © Adam Czajka