Pervasive Software Lab

The Pervasive Software Lab is at the forefront of research in pervasive and distributed computing, dedicated to shaping the future of intelligent, adaptive, and scalable systems. Our team of PhD students and research fellows works on pioneering technologies such as aggregate programming, digital twins, and their applications across various domains, including smart cities, IoT, and autonomous systems. We are committed to pushing the boundaries of software design and engineering, creating innovative solutions that seamlessly blend into everyday environments and empower smarter decision-making. Explore our research, projects, and collaborations to discover how we are driving technological transformation.

Discover our research

Research

Aggregate Computing

Aggregate computing is a paradigm for distributed systems enabling developers to define high-level collective behaviors emerging from local interactions. Our group is among the founders of the paradigm focusing on languages and tools that abstract the complexity of low-level communication and coordination in large scale systems.

Digital Twins

Committed to bridging the physical and digital worlds, we are developing Digital Twins that mirror real-world entities and processes. Our focus is in researching architectures and platforms to support the development of Digital Twins and their application to digitalize complex and dynamic ecosystems involving multiple heterogeneous assets and technologies.

Multi-Agent Systems

Multi-Agent Systems approach the development of distributed systems involving multiple autonomous entities that reason, learn, and interact with each other. Our group research methodologies and tools to support the design, implementation, and deployment of Multi-Agent Systems, to develop autonomous and adaptive systems.

Our Team

Mirko Viroli

Mirko Viroli

Full professor

One of the main architects of the Aggregate Computing paradigm, his main focus is around programming models/languages, software engineering, and connection with distributed artificial intelligence

Alessandro Ricci

Alessandro Ricci

Associate Professor

Alessandro specializes in software engineering for Multi-Agent Systems and Digital Twins. He introduced the coordination artifact abstraction and developed CArtAgO for designing, implementing and running artifact-based environments. He proposed the idea of Digital Twins Ecosystems through the Web of Digital Twins.

Danilo Pianini

Danilo Pianini

Senior assistant professor

Danilo Pianini specializes in aggregate programming, simulation, and DevOps techniques. Advocates open science. Chief architect of the Alchemist Simulator and the Protelis Programming language. Creator of Collektive.

Roberto Casadei

Roberto Casadei

Junior assistant professor

He is an expert in collective intelligence in large-scale multi-agent systems. Together with Viroli, he is the main contributor to ScaFi and he is the main architect of aggregate process.

Giovanni Ciatto

Giovanni Ciatto

Junior assistant professor

Giovanni Ciatto is a software engineer, data scientist, and assistant professor. His research interests range from Software Engineering to Data Science and include Artificial Intelligence (AI) and Distributed Systems. He’s currently focusing on the integration of symbolic and sub-symbolic AI. He’s currently developing and maintaining the 2P-Kt technology.

Gianluca Aguzzi

Gianluca Aguzzi

Postdoctoral Researcher

Gianluca Aguzzi’s research interests focus on multi-agent learning in cooperative scenarios, aggregate computing, and the application of language models in software engineering. He is a key contributor to ScaFi and one of the primary developers of MacroSwarm.

Angela Cortecchia

Angela Cortecchia

PhD Student

Angela Cortecchia is a PhD student at the University of Bologna since November 2024, under the supervision of Prof. Danilo Pianini. Her research focuses on Software Development, with an emphasis on Aggregate Computing, Collective Systems, Multi-Agent Systems, and Autonomic Systems, particularly through the development of Collektive, an open-source tool for Aggregate Computing.

Davide Domini

Davide Domini

PhD Student

Davide is a PhD student from University of Bologna since November 2023, supervised by Prof. Mirko Viroli. His research interests are related to Collective Intelligence, Federated Learning, Reinforcement Learning, Aggregate Computing, Software Development and Self-Organizing Systems.

Martina Baiardi

Martina Baiardi

PhD Student

She is the major maintainer of JaKtA, an open-source tool for programming BDI Multi-Agent Systems. Her research interests are related to Software Development, Continuous Integration and Continuous Deployment, Virtualization, Container Orchestration, Multi-Agent Systems, Collective Systems, and Autonomic Systems.

Matteo Magnini

Matteo Magnini

PhD Student

Matteo is a PhD student since November 2022. His research activities comprehends the fields of Artificial Intelligence (AI), Neuro-Symbolic AI, Large Language Models, Fair AI and Multi-Agent Systems. He is a key contributor and main maintainer the PSyKI project.

Nicolas Farabegoli

Nicolas Farabegoli

PhD Student

Nicolas Farabegoli is a PhD student at the University of Bologna since 2023. His research focuses on Cloud-Edge and IoT systems, deployment models and strategies for collective systems, aggregate programming, software engineering, and DevOps methodologies. He actively contributes to various research projects and open-source tools related to his research lines like Collektive, PulvReAKt, and ScaFi.

Ruslan Shaiakhmetov

Ruslan Shaiakhmetov

PhD student

Ruslan Shaiakhmetov specializes in robotics, simulation, and machine learning. Creator of Yasik.

Samuele Burattini

Samuele Burattini

PhD Candidate

Samuele is working on Digital Twin Ecosystems applied to the healthcare domain in a collaboration with AUSL Romagna. His research interests are in the area of Internet of Things, focusing on Digital Twins, Agent-Oriented Programming the Web of Things.

Angelo Filaseta

Angelo Filaseta

Research Fellow

He is involved in projects within the industrial sector, primarily centered on implementing remote software updates for industrial machinery. His additional research interests include simulations.

Our Projects

Wood 4.0

Wood 4.0

Industrial project aiming to develop a versatile, high-performance, and digitized platform to manage large scale woodworking manufacturing machines.
Twinkle

Twinkle

Aims to develop a new open and distributed DT platform, Digital Twin Continuum (DTC), to support the management, deployment and exploitation of Digital Twin Ecosystems.

Our Software Systems

2P-Kt

2P-Kt

A Kotlin Multi-Platform ecosystem for symbolic AI (and a Prolog interpreter)
Alchemist

Alchemist

Alchemist is a simulator for pervasive, aggregate, and nature-inspired computing.
Collektive

Collektive

Collektive is a Kotlin Multiplatform DSL for Aggregate Computing.
JaKtA

JaKtA

JaKtA is a Kotlin based framework for BDI agent programming
Protelis

Protelis

Protelis is a stand-alone JVM-based language for aggregate computing.
ScaFi

ScaFi

ScaFi (Scala Fields) is a Scala-based library and framework for Aggregate Programming.
HWoDT

HWoDT

Implementing the Web of Digital Twins with Hypermedia
WLDT

WLDT

An open-source Java library for implementing Digital Twins

Partnership with UniMoRe

Latest News

Check all the News