sdl i prosty scheduler - zastosowania

Transkrypt

sdl i prosty scheduler - zastosowania
SDL I PROSTY SCHEDULER
- ZASTOSOWANIA
Ryszard Sobczak
Politechnika Gda ska,
Wydział Fizyki Technicznej i Matematyki Stosowanej,
Zakład Matematyki Dyskretnej
ul.Narutowicza 11/12;
80-952 Gda sk,
[email protected]
Inspiracja
• Niska ocena praktyki wykonywania oprogramowania
protokołów w rodowiskach systemów wbudowanych. Trudny do rozpoznania zwi zek kodu ze specyfikacj .
• Niska ocena sposobu przygotowania rodowiska
systemów wbudowanych do wykonywania oprogramowania protokołów telekomunikacyjnych. Brak niezb dnych funkcji i oferta wielu zb dnych funkcji.
• Artykuł: Fry lewicz Z., Ułasiewicz J., Scheduler
transakcyjny dla zastosowa telekomunikacyjnych,
Informatyka nr 2, 1992
Scheduler
- Niedu a liczba procesów statycznych,
- Brak wywłaszczania,
- Krótki czas obsługi komunikatu.
Rozwi zanie proste i tanie, ale czy wystarczaj ce?
SDL
• Z.100 Specification and Description Language
(SDL). ITU Recommendation , 1993
• Badach A, Sobczak R., Zientalski M.,
Entwicklung von Fernübertragungssystemunterlagen elektronischer Telegrafie-Zentralen, 18
Fachkolloquim Informationstechnik. Drezno, luty
1985
• SDL-RT Specification & Description Language Real Time, www.sdl-rt.org, 2003
SDL
SDL i scheduler - implementacja
Implementacja podstawowych elementów specyfikacji
automatu opisuj cego proces
• #define Process(z)
switch(Processes[z].State) {
• #define State(x)
case x:switch(Ev->EID){
• #define Input(x)
case x: {
• #define Output(x,D,Q,B) {OutMe (byte x, byte D, byte Q,
BufferT *B);}
• #define NextState(y)
{Processes[Self].State=y;}
• Struktury danych z j zyka C
• Przykład Layer 3.C
SDL – komunikacja
W j zyku SDL z ka dym procesem jest zwi zany indywidualny bufor
komunikatów adresowanych do procesu
P1
Komunikat 2
Komunikat 1
P2
P3
SDL – odmierzanie czasu
Odpowiedni mechanizm odmierzania czasu:
najcz stszy brak w rodowisku oprogramowania
wbudowanego.
W SDL upłyni cie czasu jest przekazywane do
procesu z zastosowaniem komunikatu od
procesu zegara
SDL i scheduler – odmierzanie czasu
Scenariusz:
Po ustawieniu timera T1 nast piło zdarzenie I1, ale
zanim scheduler je obsłu ył upłyn ł czas odmierzany przez timer T1 i odpowiedni komunikat został
umieszczony w buforze schedulera
RESET(T1)
SET(T1,N2)
SET(T1,N1)
T1
...
I1
X
SDL – komunikacja
W j zyku SDL z ka dym procesem jest zwi zany indywidualny bufor
komunikatów adresowanych do procesu
P1
Komunikat 2
Komunikat 1
P2
P3
SDL i scheduler – ograniczenia w
stosowaniu
Wymuszenie kolejno ci obsługi zdarze
S0
I1
I2
...
S1
I2
I3
State S0;
Input I1;
...
NextState S1;
Save I2;
State S1;
Input I2;
...
Input I3;
...
Podsumowanie
• Przydatno
schedulera do implementacji
protokołów mo na oceni
tylko poprzez
analiz mo liwo ci zaimplementowania przynajmniej podstawowych mechanizmów formalnej specyfikacji protokołów. Implementowanie jednego protokołu jest dalece niewystarczaj ce.
• Pomimo istnienia ogranicze wynikaj cych z
konstrukcji schedulera znalazł on swoje zastosowanie w urz dzeniach stosuj cych procesory
jednochipowe.