Fakultet organizacionih nauka, Univerzitet u Beogradu

Katedra za elektronsko poslovanje

Konkurentno i distribuirano programiranje – DAS

Studenti su osposobljeni na 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.

Istorijski pregled i analiza najznačajnijih naučnih radova koji su uticali na razvoj konkurentnog i distribuiranog programiranja. Karakteristike konkurentnih, paralelnih i distribuiranih programa, formalni modeli, programski jezici, operativni sistemi i hardverske arhitekture. Kernel 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. Koordinacija 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šavanja 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.

Predavanja. Diskusija. Studije slučaja. Mentorski rad. Samostalan istraživački rad studenata. Elektronsko obrazovanje.

1. Despotović-Zrakić M., Milutinović V., Belić A. (Eds), High performance and cloud computing in scientific research and education, monografija, IGI Global, 2014.
2. M. Ben-Ari , Principles of concurent and distributed programming, New York: Prentice-Hall 1991.
3. B. Burns, Designing Distributed Systems: Patterns and Paradigms for Scalable, Reliable Services, O'Reilly Media, 2018
4. C. Varela, Programming Distributed Computing Systems: A Foundational Approach, The MIT Press, 2013.
5. E.Hewwit, Technology Strategy Patterns: Architecture as Strategy, O'Reilly Media, 2018.
6. J.F. Gonzalez, Mastering Concurrency Programming with Java 9 - Second Edition: Fast, reactive and parallel application development, Packt Publishing; 2nd Revised edition edition, 2017.
7. B. Wittman, A. Mathur, T. Korb, Start Concurrent: An Introduction to Problem Solving in Java With a Focus on Concurrency, Purdue University Press, 2014.
8. V. Garg, Concurrent and Distributed Computing in Java, Wiley-IEEE Press, 2014.
9. B. Benmammar, Concurrent, Real-Time and Distributed Programming in Java: Threads, RTSJ and RMI, Wiley-ISTE, 2017.
10. M. Raynal, Concurrent Programming: Algorithms, Principles, and Foundations, Springer, 2013.
11. Materijali u e-formi sa portala za e-učenje www.moodle.elab.fon.bg.ac.rs, 2021
12. Radenković, B., & Kočović, P., From Mainframe to Cloud, Handbook of Research on High Performance and Cloud Computing in Scientific Research and Education (pp. 1- 30). DOI:10.4018/978-1-4666-5784-7.ch001. IGI Global., 2014
13. Radenković, B., & Kočović, P., From ubiquitous computing to the internet of things, In Securing the Internet of Things: Concepts, Methodologies, Tools, and Applications (pp. 1523-1556). DOI:10.4018/978-1-5225-2437-3.ch001, IGI Global., 2020