Ingegneria dei Sistemi Software Adattativi Complessi 2014/2015

    Main     News     Calendar     Projects

Note generali

Seguono i principali aspetti relativi ai progetti da svolgere per l'esame:

  • Il progetto è comunque facoltativo, e può essere rimpiazzato da una prova orale sul programma del corso (la cui preparazione richiede tuttavia un tempo analogo, ed è opportuno che venga concordata in anticipo col docente)
  • Il progetto è scelto dallo studente in accordo col docente, può essere eseguito da un gruppo di 1, 2 o 3 persone (dipendentemente dall'impegno richiesto e dalle modalità specifiche scelte per quel progetto), e deve comportare un impegno temporale di circa 80 ore a testa (ogni studente è tenuto a tenere traccia delle ore impiegate per svolgere il progetto)
  • Una volta assegnato il progetto, verrà concordata anche la data di consegna (non più tardi di 2 mesi dall'inizio del progetto, in genere). La consegna conterrà la relazione e il codice concordato col docente di riferimento del progetto, e verrà seguita da un colloquio sul progetto.
  • In questa pagina si elencano proposte del docente per i progetti. Si rammenta che altre possibilità possono essere relative a progetti suggeriti da docenti di altri corsi (normalmente dello stesso profilo), o possono anche venire dagli studenti stessi. 
  • Questa lista è dinamica: verrà estesa via via nel tempo, anche dopo la fine del corso.
  • Identificata una area di interesse, lo studente chieda le delucidazioni del caso al docente proponente del progetto.

Complex Systems Science (A.Roli)

  • Flocking models
    The project consists in surveying the flocking models that have been published and implementing the most prominent ones with a simulator of choice (already available or customised). The objective is to compare the models and study their behaviours as a function of their main parameters.
  • Evolution of cellular automata
    The project consists of using evolutionary computation to find the rules of a 1D CA such that it can solve some classification problem, such as the majority or the density task. Both synchronous and asynchronous CA can be used.
  • Distributed classification in a group of robots
    The projects consists in programming the individual controller of a group of robots with the aim of enabling the robots classifying the pattern painted on the arena floor. The robots know only the ground colour of their location (by means of the ground sensor) and the pieces of information received by their neighbours (by means of the range-and-bearing device). The goal is to design a controller (the same for every robot) that makes it possible to let the robot reach a consensus on the basis of local information.
    The project can be developed with ARGoS or in a customised simulator.
  • Complexity measures
    The projects consists in surveying the complexity measures proposed in the literature and applying them to notable complex dynamical systems, such as random Boolean networks.
  • Evolution of self-organised behaviours by means of information-theoretic measures
    The projects consists in experimenting with artificial evolution of robots or agents with a fitness function not tailored to a specific task, but rather aimed at optimising a general criterion defined in terms of information properties, such as mutual information, integration and empowerment.

Simulation tools for self-organisation (M.Viroli)

  • Simulators overview: Many stochastic simulation tools exist around, but they are rarely used to simulate self-organisation mechanisms (especially when dealing with spatial patterns). The goal of this project is to survey such tools, find those that could be used, perform experiments, and provide a comparative analysis of performance with respect to Alchemist, in select cases.
  • Alchemist interactive GUI: Alchemist has currently little support for interacting during simulation. The goal of this project is extend its GUI to allow basic interaction abilities, including the possibility of adding/removing/moving nodes, adding/removing/changing data available in a node, and so on. Other than development of these new features, this project will deliver a demo based on some experiments in self-organisation mechanisms.

Design of new self-organisation mechanisms (M.Viroli)

  • Anticipative crowd-steering strategies: Gradient-based structures are useful to steer people in crowded areas, and there is a potential for making the resulting system intelligent and adaptive not only to current contingencies, but also to what can presumably happen in the future. The goal of this project is to design mechanisms and patterns to properly deviate a standard gradient based on the information about agents ascending the gradient itself, so as to intercept future congestions. This project will be developed possibly using either Proto or Alchemist/Protelis.
  • Pedestrian steering: Steering pedestrian is a main application of self-organisation mechanisms to pervasive computing. A main issue is to combine gradient-based algorithms with actual models of people movement. Starting from existing solutions to these problems, this project will try to combine them and develop large-scale simulations (either in indoor or outdoor settings) in Alchemist/Protelis.

Prototyping self-organisation platforms and applications for smart-devices (M.Viroli)

  • Ad-hoc-based platform for spatial applications: This project will prototype an Android-based platform for spatial applications, relying on ad-hoc communications between devices.
  • Cloud-based platform for spatial applications: This project will prototype a platform for spatial applications, relying on cloud-based communications/computations.
  • Scala spatial applications: The Scala language is argued to be the most sophisticated one for building complex concurrent applications, possibly relyong on Akka actor framework. This project will prototype spatial computing applications (e.g., gradient-based mechanisms) in Scala/Akka.

Architectures for complex large-scale systems (A.Ricci)

tba