Metoda HRT-HOOD

Download Report

Transcript Metoda HRT-HOOD

Zastosowania Informatyki Wykład 10

Systemy Czasu Rzeczywistego

[email protected]

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