- Oggetto:
- Oggetto:
Aggregate Programming for the Internet of Things
- Oggetto:
Aggregate Programming for the Internet of Things
- Oggetto:
Academic year 2021/2022
- Teaching staff
- Prof. Ferruccio Damiani (Titolare del corso)
Dott. Giorgio Audrito (Titolare del corso) - Degree course
- PhD in Computer Science
- Year
- 1st year 2nd year 3rd year
- Teaching period
- Ciclo di incontri
- Type
- A scelta dello studente
- Credits/Recognition
- 6
- Course disciplinary sector (SSD)
- INF/01 - informatics
- Delivery
- Tradizionale
- Language
- Inglese
- Attendance
- Obbligatoria
- Type of examination
- Relazione finale
- Oggetto:
Sommario del corso
- Oggetto:
Course delivery
Frontal lessons (with slides) and program development sessions, for a total duration of 20 hours. Frontal lessons will be delivered in blocks of (mostly) two hours, while program development sessions will be allocated in blocks of 3 hours. The first meetings will be:
- Tuesday, April 12th 9:00-12:00
- Thursday, April 21th 9:00-12:00
- Friday, April 22th 9:00-12:00
- Tuesday, April 26th 9:00-12:00
Some of the meetings may end earlier (or start later) than the allocated time: the exact timing of each meeting will be confirmed with short notice. Further meetings will soon be allocated in May. All meetings will be physically held in Sala Seminari, 1st floor at the Department of Computer Science.
- Oggetto:
Learning assessment methods
Exercises done during the program development sessions.
- Oggetto:
Program
With the ongoing explosion of data production and availability of devices with computational capabilities, traditional centralized data-processing techniques start to suffer from the increasing costs of data transfer, infrastructure, security and privacy needs. The edge/fog computing paradigm has emerged to meet these challenges, particularly for Internet of Things and open Cyber-Physical Systems. It processes data where it is generated in order to address the shortcomings of centralized techniques. However, decentralized architectures have their own challenges: handling device unreliability, data volatility, and coping with conficting goals. Aggregate Programming is a recent abstraction allowing one to program large-scale networks in a simple way, while providing strong guarantees on the resilience of the resulting behaviour under changes and unreliability. This abstraction shifts the local viewpoint of single device behaviour, to the global viewpoint of overall system behaviour; leaving the (automated) global-to-local translation to language implementation. This short course presents the Aggregate Programming abstraction, together with its commonly used distributed algorithms that have strong resilience guarantees, and its toolkit (programming language and simulator).
Suggested readings and bibliography
- Oggetto:
- Beal, J., Pianini, D., Viroli, M.: Aggregate programming for the Internet of Things.
IEEE Computer 48(9) (2015). https://doi.org/10.1109/MC.2015.261 - Viroli, M., Beal, J., Damiani, F., Audrito, G., Casadei, R., Pianini, D.: From distributed coordination to field calculus and aggregate computing. J. Log. Algebraic
Methods Program. 109 (2019). https://doi.org/10.1016/j.jlamp.2019.100486 - Audrito, G.: FCPP: an effcient and extensible field calculus framework. In:
Proceedings of the 1st International Conference on Autonomic Computing and
Self-Organizing Systems, ACSOS. pp. 153{159. IEEE Computer Society (2020).
https://doi.org/10.1109/ACSOS49614.2020.00037
- Beal, J., Pianini, D., Viroli, M.: Aggregate programming for the Internet of Things.
- Oggetto: