ANALIZA I PROJEKTOWANIE
SYSTEMÓW CZASU
RZECZYWISTEGO
Systemy czasu rzeczywistego:
Systemy wbudowane
Systemy sterujące procesami
przemysłowymi
Systemy sterujące
Definicja systemu czasu rzeczywistego
System czasu rzeczywistego
= system informatyczny,
który
nadąża
za zmianami
zachodzącymi w jego
otoczeniu
.
Klasyfikacja systemów czasu
rzeczywistego (SCR)
Systemy Silnie i Słabo-uwarunkowane
czasowe
Istota systemu czasu
rzeczywistego
System
transformacyjny
output= f(input
)
Wejście
Wyjście
System
reaktywny
Zdarzenie
Odpowiedź
Zdarzenie
Odpowiedź
Systemy czasu rzeczywistego to
systemy sterowania zdarzeniami
Czas reakcji >=50 ms
System Czasu
Rzeczywistego
(SCR)
Zdarzenie
Odpowiedź
Cykl życia SCR
Specyfikacja wymagań
Projektowanie i szacowanie
czasu reakcji
Kodowanie
Szeregowanie zadań
Uruchamianie
Metodyki projektowania SCR
Są tu np..: dostępne metodyki:
Hierarchical Object Oriented Design
Hard Real-Time HOOD
ORCCAD
COSMA
REAL-TIME WORKSHOP
RAPID PROTOTYPING
Metoda HOOD i 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
HRT-HOOD
Typy obiektów
Przepływ danych
Atrybuty obiektów
Dekompozycja
Klasy
Systemy rozproszone
Typy i diagram opisu obiektów
Aktywne (A)
Pasywne (Pa)
Rodzaj obiektu
Nazwa
Operacje
Cykliczne (C)
Sporadyczne (S)
Chronione (Pr)
Rodzaje obiektów
Obiekt pasywny
-
P
Procedura wywoływana przez inną procedurę
Biegnij!
Wiesz po co
..
Rodzaje obiektów
Obiekt cykliczny
-
C
okres
Procedura aktywowana zegarem
Przykład obiektu cyklicznego: pomiar
temperatury
C Sensor
C Sensor
C Sensor
1 min.
1 min.
czas
okres
Rodzaje obiektów cd…
Obiekt sporadyczny
-
S
maksymalna częstotliwość
Procedura aktywowana przerwaniem
Rodzaje obiektów cd…
Obiekt sporadyczny
-
S
maksymalna częstotliwość
Procedura aktywowana przerwaniem
Przykład obiektu typu sporadycznego
S Button
ASER
Start
Operacja Start może być aktywowana przez
Operacja Start może być aktywowana przez
przerwanie
przerwanie
Rodzaje obiektów cd…
Obiekt chroniony
-
Pr
Biegnij!
Wiesz po co..
Zanieś list.
Procedura wywoływana przez inne + ochrona
Istota obiektu chronionego
napraw element
uporządkuj narzędzia
W danej chwili obiekt chroniony wykonuje
tylko jedną
operację
Istota obiektu chronionego cd…
napraw element
uporządkuj narzędzia
W danej chwili obiekt chroniony wykonuje
tylko jedną operację
Istota obiektu chronionego cd…
napraw element
uporządkuj narzędzia
W danej chwili obiekt chroniony wykonuje
tylko jedną operację
Schematy współpracy między
usługodawcą a usługobiorcą
Schematy współpracy między
usługodawcą a usługobiorcą:
Asynchroniczny -
ASER
Słabo zsynchronizowany -
LSER
Silnie zsynchronizowany -
HSER
Przykład opisu funkcji obiektu
A
A
ObsługaHotelu
ObsługaHotelu
ZostawienieKlucza
*PobranieKlucza
ZgłoszenieUsterki
ZapłataIPokwitowanie
ASER
ASER
HSER
HSER
LSER
LSER
HSER
HSER
Przepływ danych
20 min.
2 dni
Problem
producenta i
konsumenta
Przepływ danych
C
Producent
C
Konsument
InElem
OutElem
Pr
Magazyn
**WstawElem
*PobierzElem
HSER
HSER
HSER
HSER
Period= 1s
Period= 1s
Zasady wywołania 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
Zasady wywołania 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.
Atrybuty obiektów
DEADLINE
THREAD BUDGET
THREAD WCET
OFFSET
PRIORITY
IMPORTANCE
INTEGRITY
PERIOD
(
tylko obiekty cykliczne
)
Minimum Arrival Time
(
tylko obiekty sporadyczne)
Cel :
Cel :
Sprawdzić szeregowalność
systemu.
CEILING PRIORITY
INTEGRITY
Atrybuty operacji
OPERATION BUDGET
OPERATION WCET
WCET = BUDGET + ERROR_HANDLING
Dekompozycja
Są dwa rodzaje dekompozycji:
Obiektów Operacji
Cały system
(1 obiekt aktywny)
Bardziej uszczegó-
łowione obiekty
dekompozycja
dekompozycja
System zdekomponowany
(bez obiektów aktywnych)
Zasady dekompozycji obiektów
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
Zasady dekompozycji operacji
ASER ASER
ASER HSER
LSER HSER
HSER HSER
Dekompozycja jest poprawna tylko, jeśli nie
Dekompozycja jest poprawna tylko, jeśli nie
narusza własności obiektu rodzica.
narusza własności obiektu rodzica.
Szeregowanie zadań
Podstawowy problem to
Jak szeregować
niepodzielne
zadania
cykliczne
?
Metody szeregowania zadań
Statyczne
Dynamiczne
Szeregowanie statyczne
Opisy zadań:
• cykl
• max. czas wyk.
Opisy zadań:
• cykl
• max. czas wyk.
Godz. Zadanie
0:00
T
1
0:05
T
2
0:10
T
1
Plan Aktywacji
Plan Aktywacji
Godz. Zadanie
0:00
T
1
0:05
T
2
0:10
T
1
Plan Aktywacji
0 : 05
T
2
start!
Projekt klas
Projekt rozproszenia
Bufor :
Bufor :
••
obiekt rzeczywisty
obiekt rzeczywisty
••
„stub” klienta
„stub” klienta
••
„stub” serwera
„stub” serwera
Przykładowe zadanie projektowe
System monitorowania stanów awaryjnych (np.:
zagrożeń zanieczyszczenia środowiska dwutlenkiem
węgla),
System monitorowania włamań do budynku,
System monitorowania stanów alarmowych w
sieciach komputerowych,
Etc…
Dyspozytor
Menedżer zasobów
Menedżer zasobów
Moduł
szeregujący
Informacje o zasobach
wymaganych przez
procesy
Informacje
o szeregowaniu
Zegar czasu
rzeczywistego
Procesy
czekające
na zasoby
Lista procesów
gotowych
Lista procesorów
Lista dostępnych
zasobów
Procedura obsługi
Procedura obsługi
przerwań
Proces wykonywany
Proces
Zwolnione
Gotowy
zasoby
Komponenty modułu wykonawczego
Komponenty modułu wykonawczego
systemu czasu rzeczywistego
systemu czasu rzeczywistego