- Oggetto:
- Oggetto:
Aggregate Programming for the Internet of Things
- Oggetto:
Aggregate Programming for the Internet of Things
- Oggetto:
Academic year 2022/2023
- Teaching staff
- Ferruccio Damiani (Titolare del corso)
Giorgio Audrito (Titolare del corso)
Gianluca Torta (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 24 hours. The meetings will be:
- Wed 3 May 9-12
- Fri 5 May 9-12
- Tue 9 May 9-12
- Tue 16 May 9-12
- Tue 23 May 9-12
- Mon 29 May 9-11
- Tue 30 May 9-12
- Mon 5 Jun 9-11
- Tue 6 Jun 9-11.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: