WYSYŁKA DZISIAJ !!!
CODZIENNIE W DNI ROBOCZE
WYSTARCZY DO GODZ. 13.00 wysłać do nas:
1) deklarację odbioru przesyłki "za pobraniem" lub 2) skan przelewu albo 3) wpłacić za pośrednictwem "PayU"
PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO Z ZASTOSOWANIEM JĘZYKA ADA
Gilles Motet, Tomasz Szmuc Stan książki/ek: NOWA Wydawnictwo: AGH Okładka: twarda Stron: 218
Z okładki:
Gilles Motet jest profesorem w Institut National des Sciences Appliąuees (INSA) w Tuluzie (Francja). Obecnie jest kierownikiem Laboratorium LESIA (Laboratoirc d'Etude des Systemes Automatiąues et Informatiąues) i członkiem zespołu badawczego systemów reaktywnych Jego główne osiągnięcia w ostatnich latach dotyczą wykrywania i zapobiegania błędom w oprogramowaniu Uczestniczył w dwóch projektach europejskich dotyczących systemów czasu rzeczywistego w awionice, w szczególności wykrycia przyczyn niepowodzenia pierwszej misji rakiety Ariane V, i w komisji kwalifikującej drugi lot tej rakiety. Był członkiem komitetu ISO i uczestniczył w tworzeniu standardu ISO 15942. W ostatnich czasach koordynuje badania certyfikacji języka UML do wytwarzania systemów czasu rzeczywistego krytycznych ze hirudina względu na bezpieczeństwo. Jest autorem wielu artykułów i książek nt. systemów reaktywnych. Uczestniczy w pracach komitetów redakcyjnych szeregu czasopism i komitetów programowych konferencji, w tym IEEE Real-Time Systems. ACM/IFIPEuroPar, Theoretical Computer Sciences (Elsevier). Jest również członkiem rad naukowych European Research Institute on Electronics Systems for Trans-portations oraz Centrę National d'Etudes Spatiales. Od roku 1992 współpracuje z Katedrą Automatyki AGH. Brał udział we wspólnych projektach europejskich, jak również seminariach i konferencjach. Efektem tej współpracy są również książki - w tym niniejsza oraz wcześniejsza Specyfikacja i projektowanie oprogramowania systemów czasu rzeczywistego - napisane wspólnie z prof. Szmucem.
Tomasz Szmuc jest profesorem zwyczajnym w Katedrze Automatyki AGH. Od roku 1981 kieruje zespołem ba-dawczo-dydaktycznym Laboratorium Informatyki. Jego zainteresowania naukowe koncentrują się wokół inżynierii oprogramowania, w tym języków, metod i metodologii wytwarzania, jak również zastosowań narzędzi formalnych do wspomagania wytwarzania poprawnego oprogramowania. Systemy reaktywne, w tym systemy czasu rzeczywistego, są w tych badaniach przedmiotem szczególnego zainteresowania. Z kolei od strony narzędziowej stosowane są różne formalizmy: sieci Petriego wyższego poziomu, algebry procesów i logiki temporalne. Jest autorem ok. 100 publikacji, w tym 7 książek. Uczestniczy czynnie w pracach zespołów roboczych, komitetach redakcyjnych czasopism i konferencji naukowych. Spośród ważniejszych wymienić należy: Applied Mathematics and Computer Science. Real-Time Software Engineering (przy IFAC Technical Committee on Computers). IFAC/IFIP Workshop on Real-Time Programming, EURO-PARV9 (przewodnictwo sekcji Real-Time Systems). Dwukrotnie był przewodniczącym Komitetu Programowego Konferencji Systemy Czasu Rzeczywistego (2000 i 2001). Jego współpraca z INSA w Lyonie i Tuluzie zaowocowała między innymi szeregiem wspólnych badań i projektów związanych z językiem LA4 (Lyon) czy też zagadnieniami projektowania i programowania poprawnego oprogramowania (Tuluza). Niniejsza książka jest jednym z rezultatów współpracy z prof. Motetem.
Spis treści:
1. Wstęp 9
2. Charakterystyka języków czasu rzeczywistego 13
2.1. Cechy systemów czasu rzeczywistego. 14
2.2. Wymagania względem języków czasu rzeczywistego. 18
2.3. Podsumowanie. 19
3. Wprowadzenie do języka Ada 21
3.1. Historia języka Ada 21
3.2. Cechy języka Ada 23
3.3. Konwencja notacyjna. 25
3.4. Struktura programu i podstawowe jego elementy 26
3.4.1. Elementy struktury-jednostki programowe 26
3.4.2. Bloki, deklaracje i instrukcje 28
3.4.3. Przykład wstępny. 29
3.5. Typy i zmienne. 30
3.5.1. Deklaracja typu ipodtypu 31
3.5.2. Typy skalarne. 32
3.6. Typy złożone 35
3.7. Instrukcje 39
3.7.1. Instrukcje przypisania i pusta. 40
3.7.2. Instrukcje rozgałęzienia 41
3.7.3. Instrukcje pętli 44
3.8. Podprogramy 46
3.8.1. Funkcje. 47
3.8.2. Procedury. 49
3.9. Typy wskaźnikowe. 52
3.9.1. Typy wskaźnikowe alokowane w specj alnej puli pamięci. 53
3.9.2. Ogólny typ wskaźnikowy. 56
3.9.3. Wskaźniki do podprogramów 58
3.10. Pakiety i jednostki rodzajowe. 59
3.10.1. Definiowanie pakietów 59
3.10.2. Typy prywatne 61
3.10.3. Jednostki rodzajowe. 62
3.11. Podsumowanie. 64
4. Programowanie współbieżne - zadania. 65
4.1. Procesy i zadania 66
4.1.1. Proces, jego opis i interpretacja 66
4.1.2. Współbieżność i fazy procesu 67
4.1.3. Programowanie wspólbieżności. 73
4.2. Zadania w języku Ada 77
4.2.1. Typ zadaniowy- specyfikacja 78
4.2.2. Definiowanie wnętrza (body) zadania 79
4.2.3. Deklaracje zadań 82
4.2.4. Aktywacja, wykonanie i usunięcie zadania 86
4.2.5. Identyfikacja zadań 91
4.2.6. Kompilacja. 95
4.3. Podsumowanie. 98
5. Synchronizacja i komunikacja. Podstawowe konstrukcje 101
5.1. Prosta synchronizacja czasowa 101
5.1.1. Czas i przedział czasowy 102
5.1.2. Instrukcje delay oraz delay until 104
5.1.3. Programowanie zadań cyklicznych 105
5.2. Mechanizm spotkań (rendezvous) 107
5.2.1. Synchronizacja. 107
5.2.2. Komunikacja w trakcie spotkania 112
5.3. Instrukcja select 113
5.3.1. Selektywne oczekiwanie 114
5.3.2. Przeterminowanie wołania wejścia 123
5.3.3. Warunkowe wywołanie wejścia. 125
5.3.4. Asynchroniczna zmiana wątku sterowania. 126
5.3.5. Synchronizacja zadań kreowanych dynamicznie. 127
5.4. Synchroniczne sterowanie zadaniami 128
5.5. Podsumowanie. 128
6. Komunikacja między zadaniami 131
6.1. Komunikacja asynchroniczna - zmienne dzielone. 131
6.1.1. Zasady i przykład wstępny. 131
6.1.2. Pragma Shared w języku Ada83 134
6.1.3. Pragmy dla zmiennych dzielonych w języku Ada95 134
6.2. Komunikacja asynchroniczna realizowana przez mechanizm spotkań 135
6.2.1. Komunikacja asynchroniczna - doręczyciel 137
6.2.2. Komunikacja asynchroniczna - bufor 139
6.3. Obiekty chronione 141
6.3.1. Deklarowanie hirudina obiektów chronionych. 141
6.3.2. Semantyka obiektu chronionego 143
6.3.3. Przykłady zastosowań 149
6.4. Asynchroniczne sterowanie zadaniami. 154
6.5. Uzupełnienia i podsumowanie. 155
7. Wyjątki i przerwania. 157
7.1. Wyjątki. 157
7.1.1. Wyjątki predefiniowane. 158
7.1.2. Deklarowanie i zgłaszanie wyjątków. 158
7.1.3. Obsługa wyjątków 160
7.1.4. Propagacja wyjątków. 161
7.1.5. Zaawansowana obsługa wyjątków.163
7.2. Przerwania 165
7.2.1. Obsługa przerwań z zastosowaniem języka Ada95 165
7.2.2. Obsługa przerwań z zastosowaniem języka Ada83 167
7.3. Wyjątki w różnych fazach programu. 171
7.4. Instrukcja abort i asynchroniczna zmiana sterowania 172
7.4.1. Instrukcja abort 173
7.4.2. Asynchroniczna zmiana wątku sterowania - uzupełnienia 174
7.5. Podsumowanie, 178
8. Priorytety i szeregowanie. 179
8.1. Priorytety 179
8.1.1. Priorytety bazowe. 180
8.1.2. Inwersja priorytetów 181
8.1.3. Czasowa zmiana-dziedziczenie priorytetu. 183
8.1.4. Szeregowanie i wywłaszczanie 184
8.1.5. Priorytety dynamiczne;. 185
8.2. Aspekty implementacyjne 186
8.3. Podsumowanie. 187
9. Przykłady i zastosowania 189
9.1. Specyfikacja i projekt systemu. 189
9.1.1. Opis przykładowego systemu. 189
9.1.2. Specyfikacja systemu. 190
9.1.3. Projekt systemu., 193
9.2. Programowanie systemu 197
9.2.1. Składniki systemu transmisji przez bufor. 197
9.2.2. Pakiety komunikacji i synchronizacji.200
9.2.3. Otoczenie programu.203
9.3. Elementy programowania niezawodnego oprogramowania.207
9.3.1. Unikanie błędów207
9.3.2. Usuwanie błędów.209
9.3.3. Tolerowanie błędów.211
9.4. Podsumowanie.212
10. Zakończenie:213
Literatura.217
CHCESZ PRZED ZAKUPEM ZAPOZNAĆ SIĘ Z OFEROWANĄ KSIĄŻKĄ NAPISZ DO NAS MAILA, A OTRZYMASZ DARMOWY FRAGMENT!!!
Polecamy inne tytuły w dziale INFORMATYKA: ![PaneleAllegro.pl]()
|
|
|
|
|
|
|
|
|
|
|
|
| ![Komentarze]() | PaneleAllegro.pl ![galerie przedmiotow na allegro]() |
|
|
|