Fakultet organizacionih nauka, Univerzitet u Beogradu

Katedra za elektronsko poslovanje

Konkurentno i distribuirano programiranje

Studijski programNastavniciStatus predmetaESPB
Softversko inženjerstvo i elektronsko poslovanjeBožidar LJ. Radenković, Marijana S. Despotović-Zrakić Izborni10

Cilj predmeta

Cilj predmeta je da se studenti osposobe za samostalan naučno-istraživački rad i rešavanje konkretnih i aktuelnih istraživačkih problema u elektronskom poslovanju razvojem paralelnih konkurentnih programa, koji se izvršavaju u distribuiranim računarskim okruženjima.

Ishod predmeta

Studenti su osposobljeni da koncipiraju i realizuju istraživanja u oblasti primene naprednih koncepata distribuiranih računarskih sistema i paralelnog i konkurentnog programiranja. Studenti su upoznati sa konceptima konkurentnog programiranja u različitim programskim okruženjima, kao i sa aktuelnim istraživačkim rezultatima i sposobni su da ih kritički analiziraju. Takođe, studenti su osposobljeni za primenu rezultata istraživačkog rada u praksi.

Sadržaj predmeta

Istorijski pregled i analiza najznačajnijih naučnih radova koji su uticali na razvoj konkurentnog i distribuiranog programiranja. Кarakteristike konkurentnih, paralelnih i distribuiranih programa, formalni modeli, programski jezici, operativni sistemi i hardverske arhitekture. Кernel multiprogramskog sistema. Okruženja za rad distribuiranih i konkurentnih programa. Flunn-ova klasifikacija, MIMD mašine. Tipične organizacije multiprocesora i računarskih mreža, klasteri. Distribuirani računarski sistemi. Tipični problemi komunikacije i sinhronizacije procesa. Sistemska i arhitektonska sredstva za kontrolu pristupa kritičnom regionu: region, semafor, događaj, uslov i monitor. Кoordinacija i sinhronizacija procesa u distribuiranim računarskim sistemima. Upravljanje procesima, memorijom i uređajima u distribuiranom okruženju. Pregled poznatih programskih i komunikacionih modela distribuiranog i konkurentnog programiranja. Programiranje zasnovano na događajima, servisima i procesima. Procesno i servisno orijentisane arhitekture zasnovane na distribuiranoj razmeni poruka. Razvojna okruženja za distribuirane sisteme. Primeri primene: P2P mreže, distribuirani fajl sistemi, distribuirane baze podataka, poslovna analitika, blockchain tehnologije. Pregled aktuelnih naučno-istraživačkih problema u elektronskom poslovanju i analiza mogućnosti reševanja primenom koncepata konkurentnog, paralelnog i distribuiranog programiranja. Specifičnosti metodologije naučno-istraživačkog rada u oblasti konkurentnog i distribuiranog programiranja: pregled otvorenih problema, potrebna infrastruktura, metode evaluacije, pregled časopisa i naučnih skupova na kojima se rezultati mogu objaviti.
Izrada seminarskog rada u oblasti projektovanja i implementacije distribuiranih i paralelizovanih softverskih rešenja za izabrane kompleksne probleme distribuiranog i konkurentnog programiranja.

Literatura

  1. Despotović-Zrakić M., Milutinović V., Belić A. (Eds), High performance and cloud computing in scientific research and education, monografija, IGI Global, 2014.
  2. Ben-Ari , Principles of concurent and distributed programming, New York: Prentice-Hall 1991.
  3. Burns, Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services, O’Reilly Media, 2018
  4. Varela, Programming Distributed Computing Systems: A Foundational Approach, The MIT Press, 2013.
  5. Hewwit, Technology Strategy Patterns: Architecture as Strategy, O’Reilly Media, 2018.
  6. F. Gonzalez, Mastering Concurrency Programming with Java 9 – Second Edition: Fast, reactive and parallel application development, Packt Publishing; 2nd Revised edition edition, 2017.
  7. Wittman, A. Mathur, T. Korb, Start Concurrent: An Introduction to Problem Solving in Java With a Focus on Concurrency, Purdue University Press, 2014.
  8. Garg, Concurrent and Distributed Computing in Java, Wiley-IEEE Press, 2014.
  9. Benmammar, Concurrent, Real-Time and Distributed Programming in Java: Threads, RTSJ and RMI, Wiley-ISTE, 2017.
  10. Raynal, Concurrent Programming: Algorithms, Principles, and Foundations, Springer, 2013.
  11. Материјали у е-форми са портала за е-учење www.moodle.fon.bg.ac.rs