Thesis Proposals
Take a look at my research activity and contact me via e-mail for thesis proposals.
Kinds of thesis:
- Research-oriented – these aim at providing (small) contributions to the state of the art in some target field;
- Software engineering projects – these are works aimed at developing complex software (cf., distributed systems);
- Surveys / Systematic Literature Reviews – the works include a comprehensive study of the literature (e.g., on self-* systems, multi-agent systems, collective intelligence) and an original synthesis (e.g., in terms of a taxonomy, learned lessons, challenges and opportunities).
Current Active Proposals
- Scientific and inter-/multi-/trans-disciplinary topics:
- Investigations on aspects related to “collective intelligence”: how to reliably engineer collective behaviour? how to influence collective behaviour? what can we learn from animal behaviour? See Casadei’s paper Artificial Collective Intelligence Engineering: A Survey of Concepts and Perspectives Unavailable for an overview of the topic.
- Ethic-aware autonomous systems*: autonomous systems should not just focus on functional requirements and user preferences, but also on the broader implications of their actions (cf. social aspects). So: how to model soft/hard ethical requirements? How to deal with conflicting ethics? How to enforce collective ethics in a MAS? How to measure ethical-awareness and -effectiveness?
- Programming languages and frameworks for specific domains:
- Investigations on non-conventional / domain-specific programming paradigms (cf. macro-programming)
- Integration of ScaFi and the ARGoS Robot Simulator
- Knowledge-intensive workflows
- Web platforms for knowledge-intensive workflows
- DSLs for generating universal (web-based, desktop, mobile) knowledge-intensive workflow applications
- Artificial collective intelligence engineering
- Software engineering topics: visualisation
- Software system visualisation, monitoring, and debugging (with links to Model@Runtime)
- Software engineering topics: testing
- Testing solutions for complex adaptive multi-agent systems (connected with scientific themes like emergence)
- Human-machine networks
- *Supporting effective collaboration in human-machine networks?
- Innovative applications
Some of these proposals are detailed in the following.
A Framework for Reusable Logical Visualisations of Software Systems
- Type of work: project (+ survey)
- Abstract: Visualising software systems is key for understanding them, enabling debugging, software evolution, and team collaboration. Much of research has focussed on visualising program executions in terms of ‘code’. However, sometimes, more flexible and logical forms of visualisations might be generated for purposes like conceptual comprehension, analysis, and education. Moreover, most of the frameworks are constrained in terms of the kinds of visualisations to be generated. Goal of this project/thesis is to investigate ways to design the generation of visualisations in a flexible, decoupled, and reusable manner. Multiple specific directions and applications can also be envisioned, from multi-level visualisations of collective systems (e.g., crowds) to semi-automatic visualisation of algorithms on different data structures.
Integration of ScaFi and the ARGoS Robot Simulator
- Type of work: software engineering project
- Goal: allowing the execution of ScaFi programs to control robots in the ARGoS Robot Simulator
- Requirements: knowledge of C/C++ (since ARGoS is implemented in C++) and Java/Scala (since ScaFi runs on the JVM)
- Mainly aimed at: Master Students
- Type of work: software engineering project
- Goal: the goal is to support the configurable creation of web-based knowledge-intensive workflow platforms, e.g. according to literature models (cf. SLRs). For instance, suppose you are carrying out a collaborative research project. You and your groupmates need to select a bunch of papers or references to study. Then you need to analyse them, and take notes about them. This process consists of multiple phases: paper gathering, preliminary analysis, paper filtering, detailed analysis, and production of plots. The goal is to build a configurable platform allowing customisation of similar workflows and the flexible integration of plugins/tools therein for analyses etc.
- Requirements: web-based and database technologies
- Mainly aimed at: Bachelor / Master Students
Past co-supervised theses
Take a look here for theses (co-)supervised by me in the past.
Some highlights (Master’s Degree):
- “A platform for aggregate computing over LoRaWAN network”, Placuzzi, 2020
- “A Reinforcement Learning approach to discriminate unsafe devices in aggregate computing systems”, Volonnino, 2020
- “Towards Aggregate Processes in a Field Calculus-Based Platform”, Foschi, 2018
- “Distributing Aggregate Computations on top of Akka Actors”, Peruzzi, 2018
- “Tecniche e algoritmi di aggregate computing a supporto di contesti di smart mobility”, Berlini, 2017
- “Design and Deployment of an Execution Platform based on Microservices for Aggregate Computing in the Cloud”, Farneti, 2017
Some highlights (Bachelor’s Degree):