81615 - Pervasive Computing

Course Unit Page

Academic Year 2021/2022

Learning outcomes

At the end of the course, a student: - knows the main aspects about the design and development of pervasive computing systems and applications; - knows the main technique for modelling, designing, and simulating pervasive computing systems, in particular complex ones (large-scale); - is capable of using reference technologies and tools (e.g. related to Internet of Things) for developing pervasive computing systems and applications; - is capable of designing and implementing pervasive computing systems in specific application domains.

Course contents

The content of the course is organised around a selected set of topics that concern the engineering of complex software systems (broadly referred as "pervasive software systems") that include:
- large-scale distributed systems
- situated software systems (such as IoT and Industrial IoT)
- enterprise software systems
- autonomous software systems

Main topics:

* Software Architectures and Technologies for Pervasive Software Systems
-- service-oriented architectures and microservices
-- event-oriented architectures and technologies
-- message-based architectures and technologies
-- cloud-computing and serverless computing
-- architectures and technologies for autonomous systems (agents and multi-agent systems)

* Modeling and Engineering Pervasive Software Systems
-- probabilistic models and large-scale models
-- decision problem & autonomous decision making
-- simulation

* Internet of Things, Industrial IoT and Digital Transformation
-- Models, Architectures, Technologies
-- Standards
-- Web of Things
-- Digital Twins

* Enterprise Software Systems
-- Integration Patterns
-- Middlewares, Standards and Technologies
--- Enterprise Service Bus, Service Mesh


- Selected set of scientific papers

Teaching methods

The course is developed by means of a set of lectures (~3 CFU) and activities in lab (~3CFU).

Lectures are based the discussion of a selected set of reference papers and of the notes/slides provided by the teachers.

Laboratory activities concern: (1) activities devoted to practice with models, techniques, technologies and tools discussed in the theory; (2) the development of a project.

Assessment methods

Two modalities (students' choice):

- development of a project, to be presented and discussed during a colloquium;

- writing a paper, either an original contribution or a survey/deepening about some course topic - to be presented and discussed during a colloquium.


Teaching tools

- Selected set of scientific papers

- Notes/slides provided by the teachers


Links to further information


Office hours

See the website of Alessandro Ricci

See the website of Mirko Viroli