Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałRoman Ostafin Został zmieniony 10 lat temu
1
Systemy czasu rzeczywistego Podstawowe pojęcia, cykl tworzenia oprogramowania
W uproszczeniu system czasu rzeczywistego jest określany jako system komputerowy, którego wyniki zależą nie tylko od danych generowanych przez otoczenie, lecz również uzależnione są od upływu czasu. Analizując dowolny system czasu rzeczywistego należy uwzględnić więc następujące elementy: otoczenie generujące i przyjmujące dane/sygnały z systemu, system komputerowy oraz czas.
2
System czasu rzeczywistego i jego otoczenie
System czasu rzeczywistego będzie analizowany i opisywany w kontekście dwóch współdziałających procesów (rysunek): otoczenie i system komputerowy, przy czym działanie tego ostatniego jest dodatkowo uzależnione od czasu. System czasu rzeczywistego i jego otoczenie e1 e2 s1 s2 otoczenie system
3
Przykłady dotyczą systemów czasu rzeczywistego, pracujących w (fizycznym) otoczeniu, które zmienia się autonomicznie w miarę upływu czasu. Wynika stąd podstawowa cecha systemów czasu rzeczywistego, tzn. reagowalność. Jest to wymaganie właściwego reagowania na zdarzenia zachodzące w otoczeniu, nawet w przypadkach, gdy w systemie pojawiły się błędy. Np. jeśli w wyniku awarii edytora tekstu może nastąpić utrata pliku lub jego kopii, skutki te chociaż dokuczliwe nie są jednak niebezpieczne. Jeżeli błąd nastąpi jednak np. w systemie automatycznego pilota, i wystąpi brak właściwego sterowania skutki mogą być tragiczne ponieważ działanie pole grawitacyjne nie może być ekranowane (zawieszone)
4
Stąd też nawet w wypadku wystąpienia błędów, ich usunięcie i prawidłowa reakcja na ewolucję świata zewnętrznego (otoczenia) musi być zrealizowana w czasie mniejszym niż maksymalny określony w wymaganiach. Nie jest bowiem możliwe zawieszenie procesu zachodzącego w otoczeniu na czas wykrycia błędu i dostarczenia nowej wersji oprogramowania. W związku z powyższym nie można pozwolić sobie na rozwijanie tych systemów „domowy sposobem” tzn. rozpoczęcie tworzenia od pierwszej wersji i następnie przeprowadzanie analizy i poprawiania, gdyż takie postępowanie z uwagi na brak możliwości usystematyzowania może (z dużym prawdopodobieństwem) zakończyć się niepowodzeniem.
5
Poniżej podana jest definicja systemu czasu rzeczywistego (zgodnie z IEEE/ANSI) oraz jego podstawowe cechy. System czasu rzeczywistego jest to system komputerowy, w którym obliczenia są wykonywane współbieżnie z procesem zewnętrznym (otoczenie) w celu sterowania, nadzorowania lub terminowego reagowania na zdarzenia występujące w tym procesie (otoczeniu)
6
Powyższa definicja stanowi podsumowanie wcześniejszych rozważań
Powyższa definicja stanowi podsumowanie wcześniejszych rozważań. Można zauważyć że wyodrębniono w niej dwa niezależne procesy: a.) wyznaczony przez obliczenia realizowane w systemie komputerowym b.) zachodzący w otoczeniu, które dostarcza temu pierwszemu informacji wejściowych (zdarzenia) i jest obszarem, gdzie kierowane są wyniki obliczeń (reakcje na zdarzenia)
7
Ogólna definicja systemu czasu rzeczywistego jest uzupełniona przez sformułowanie wymagań, które określają pożądane cechy tych systemów. Wyróżnić można pięć cech charakterystycznych. 1. Ciągłość działania. SCR powinien pracować bez przerw. W okresie od uruchomienia systemu, do czasu jego wycofania, system powinien działać nieprzerwanie. Stąd obliczenia tego procesu są nieskończone i trudno w nich wyodrębnić stan początkowy. Istotną rolę pełnią natomiast stany oczekiwania na wystąpienie zdarzeń. Cechy te istotnie zmieniają podejście do analizy poprawności.
8
2. Zależność od otoczenia
2. Zależność od otoczenia. SCR musi być rozpatrywany w kontekście otoczenia. Oznacza to, że obliczenia tego systemu są uzależnione od zdarzeń i danych generowanych przez proces zewnętrzny (otoczenie). Struktura otoczenia jest zazwyczaj skomplikowana, lecz przeważnie statyczna, co istotnie ogranicza konieczność stosowania struktur dynamicznych, co ułatwia analizę systemu. 3. Współbieżność. Otoczenie systemu składa się z wielu obiektów (podsystemów), które działają współbieżnie, generując odpowiednie zdarzenia lub dane wymagające obsługi przez SCR. Wymagania jednoczesnej obsługi narzucają współbieżność systemu. System składa się z szeregu procesów współbieżnych, które dostarczają usług.
9
4. Przewidywalność. Zdarzenia i dane generowane przez otoczenie pojawiają się zazwyczaj w momentach przypadkowych, a współbieżne wystąpienie zdarzeń może wymagać ich jednoczesnej obsługi, co w sytuacji ograniczonych zasobów prowadzi do współzawodnictwa o uzyskanie dostępu. Stąd system, mimo że złożony jest zazwyczaj z szeregu procesów współbieżnych (struktura wewnętrzna), na zewnątrz musi zachowywać się deterministycznie, tzn. reagować na zdarzenia wg. założonych wymagań.
10
5. Punktualność. Odpowiedzi systemu (reakcje na zdarzenia) winny być obliczane zgodnie z zaprojektowanymi algorytmami i dostarczane do otoczenia w odpowiednich momentach czasowych. Natura otoczenia, tzn. brak możliwości zatrzymania procesu zewnętrznego stawia dodatkowe wymagania, by oprócz poprawności uzyskanych wyników, moment ich przekazania do otoczenia spełniał określone wymagania. Wyniki dostarczone zbyt późno (niekiedy również wcześnie) mogą prowadzić do niepoprawnego działania, lub być nawet przyczyną upadku systemu.
11
System, czas, proces, obliczenie
Systemem nazywamy zorganizowany zbiór obiektów (podsystemów), które są od siebie zależne i stanowią pewną częściowo zamkniętą (względem relacji zależności) jednostkę. Pierwsza część definicji określa system jako pewien zbiór obiektów (nie jest to więc monolityczny pojedynczy obiekt), które to obiekty są powiązane (sprzężone) przez pewne relacje zdefiniowane między nimi. W drugiej powiedziano, że system jest (częściowo) zamknięty względem relacji zależności. Oznacza to, że obiekty składowe systemu nie są dobrane przypadkowo, lecz tworzą pewną całość, w której połączenia wewnętrzne są dobrze zdefiniowane i mogą być niewidoczne na zewnątrz
12
System jest więc zamknięty w swoich granicach, a stopień jego „otwartości” jest uzależniony przez relacje zależności z innymi systemami. Czas jest opisywany jako niezależny i nieskończony proces generujący stany (momenty czasowe) w porządku liniowym w ten sposób, że zachowany jest warunek ciągłości. Należy również wspomnieć o zakresie czasu, tzn., czas może dotyczyć całego systemu (dokładniej systemu i otoczenia), jak również pewnych jego podsystemów. Odpowiada to pojęciom czasu globalnego i czasów lokalnych. Czas globalny jest niejednokrotnie modelowany (z różną dokładnością) przez zegary lokalne (umieszczone w podsystemach).
13
Terminowe reagowanie jest jednym z ważniejszych wymagań stawianych systemom czasu rzeczywistego. Z punktu widzenia dokładności spełniania wymagań czasu reakcji systemu wyróżnia się trzy klasy systemów czasu rzeczywistego: 1. Systemy o twardych wymaganiach czasowych (Hard Real-Time Systems) – wymagania czasowe muszą być dokładnie spełnione, przy czym warunek ich spełnienia może być wyrażany jako opracowanie i wysłanie odpowiedzi przed upływem określonego czasu (czas reakcji) lub też bardziej rygorystycznie: odpowiedź systemu winna być przesłana do otoczenia dokładnie w danym momencie czasowym. Ta ostatnia sytuacja może wystąpić, gdy konieczna jest ściśle synchroniczna współpraca z otoczeniem, przykład: rozrusznik serca.
14
2. Systemy o miękkich wymaganiach czasowych (Soft Real-Time Systems) – dla tych systemów żąda się spełnienia średniego czasu odpowiedzi. Zbyt późne dostarczenie odpowiedzi nie powoduje tutaj katastrofy systemu, choć większe opóźnienia wpływają niekorzystnie na jego ocenę. Istotną klasę stanowią tu systemy interakcji z użytkownikiem, np. System rezerwacji miejsc lotniczych.
15
3. Systemy o solidnych wymaganiach czasowych (Firm Real-Time Systems) – wymagania czasowe są tu kombinacją twardych i miękkich. W rzeczywistości definiuje się pewien krótszy czas reakcji, który winien być „miękko” spełniany oraz dłuższy, wobec którego żąda się „twardego” dotrzymania. Wydaje się, że tego typu wymagania lepiej obrazują żądania „miękkiego” spełnienia, gdyż wiele wymagań „miękkich” ma właściwie taką „solidną” naturę.
16
Proces jest kolejnym podstawowym pojęciem
Proces jest kolejnym podstawowym pojęciem.W dużym uproszczeniu proces jest pewnym opisem zachowania (dynamiki) charakteryzujący się się zbiorem stanów i pewną relacją (funkcją) określającą następstwo stanów.
17
Etapy tworzenia oprogramowania
Złożoność procesu konstrukcji oprogramowania wymusza podział na etapy. Konstrukcja SCR jest zazwyczaj zagadnieniem skomplikowanym i z tego powodu nie jest możliwe podanie metod pozwalających na automatyczne tworzenie systemu. Z drugiej strony ogólnie znaną tendencją jest podział skomplikowanego procesu na mniejsze etapy (precyzyjnie określone), aby ułatwić rozwiązanie zadania. Podział procesu na etapy jest korzystny z następujących względów: - ułatwia rozwiązanie problemu – poszczególne etapy mają mniejszy zakres i są mniej skomplikowane, stąd łatwiejsze do wykonania, w tym przypadku zakres etapów powinien być precyzyjnie określony.
18
Umożliwia lepsze zarządzanie czasem wykonania, gdyż na końcu każdego etapu konstruktor może określić, jaka część zadania została wykonana; Ułatwia kontrolę jakości, gdyż na końcu każdego etapu może być wykonana odpowiednia analiza i kontrola;
19
problem Analiza wymagań specyfikacja projektowanie programowanie rozwiązanie metoda Dekompozycja na etapy podczas tworzenia oprogramowania
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.