| Lp. | Tematy | Godz. |
|---|---|---|
| 1. | Procesy współbieżne i programowanie współbieżne. Pojęcie przeplotu i atomowości operacji. Bezpieczeństwo i żywotność programów współbieżnych oraz przejawy ich braku. Problem wzajemnego wykluczania i metody jego rozwiązania. Algorytm Dekkera. | 2 |
| 2. | Semafory, ich podstawowe własności i rola w programowaniu współbieżnym. Rozwiązanie problemu wzajemnego wykluczania. Bufory cykliczne. Problem producent-konsument i jego rozwiązanie przy użyciu semaforów. Problem ucztujących filozofów i jego rozwiązanie przy użyciu semaforów. Procesy współbieżne w języku Java. | 3 |
| 3. | Monitory w języku Java. Operacje wait(), notify i notifyAll(). Mechanizmy komunikacji między wątkami - klasy PipedReader, PipedInputStream, PipedWriter, PipedOutputStream i problem producent-konsument. | 2 |
| 4. | System rozproszony. Program rozproszony. Komunikacja synchroniczna i asynchroniczna. Mechanizm RMI w języku Java. Zdalna aktywacja obiektów. | 2 |
| 5. | Architektura CORBA i język opisu interfejsów IDL. Tworzenie aplikacji dla architektury CORBA, przykłady (protokół RMI-IIOP). Współpraca aplikacji tworzonych w różnych językach. | 2 |
| 6. | Web Services Interoperability Technology (WSIT) i serwer aplikacji GlassFish. Wykorzystanie protokołu SOAP, przykłady aplikacji klient-serwer. Język WSDL do opisu Web Services i przykłady jego użycia. | 3 |
| 7. | Programowanie hipersekwencyjne. | 1 |