Programowanie współbieżne i rozproszone

Wykład dla V roku informatyki wieczorowej i II zaocznej uzupełniającej (15 godz.) 

Program wykładu

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

Literatura i materiały

  1. M. Ben-Ari, Podstawy programowania współbieżnego i rozproszonego. WNT 1996
  2. Z. Czech i inni, Programowanie współbieżne - wybrane zagadnienia , Wydawnictwo Politechniki Śląskiej 1995
  3. Z. Weiss, T. Gruźlewski, Programowanie współbieżne i rozproszone w przykładach i zadaniach. WNT 1993
  4. Catalog of OMG Specifications: CORBA/IIOP Specifications 
  5. Catalog of OMG Specifications: IDL / Language Mapping Specifications  
  6. SOAP Version 1.2 Part 0: Primer
  7. Concurrency in Java (Sun tutorial)
  8. Trail: RMI oraz Java IDL
  9. The WSIT Tutorial

Przykłady

Oprogramowanie