Software Architecture Laboratory

 

A Layered Architecture based on pRevisional Mechanisms

Marco Mobilio

Supervisor: Daniela Micucci, Correlator: Francesco Fiamberti

Graduation session: April 29, 2013

Master thesis

Some applications are based on acquisition and elab- oration of data originated from sensors located in the field. Examples include: surveillance systems, locali- sation systems and, in general, tracking systems.

The main issue related to the adopted solu- tions is their strong dependance on both the sens- ing devices and the application domain of the problem. Most proposals are “algorithm-oriented” rather than “architecture-oriented”. Moreover, cur- rent approaches usually adopt data-driven policies: a bottom-up process abstracts domain entities from raw data and the whole processing chain is crossed every time new information is available.

This results in huge and monolithic software sys- tems which intermix strategic decisions, specific algo- rithms, scheduling, communications and so on. These solutions thus present several drawbacks: lack of modularisation and stratification (reuse is difficult or even impossible), complex configuration of the field installations (mostly implying some intervention on the software) and difficult coexistence of different al- gorithms. Additional drawbacks are computational overhead (e.g. in a surveillance system, image pro- cessing algorithms are performed from scratch each time an image is acquired), communication overhead (the whole chain is traversed each time), lack of time- liness (“reasoning” is performed only after something happened) and missing reactions (sometimes anoma- lous situations occur when nothing is perceived).

To overcome such issues, this work addresses the problem from an architectural perspective, propos- ing a layered architecture that is independent from

the specific application domain and from the sensors’ characteristics. This makes the architecture modular, scalable and open.

The ALARM architecture (A Layered Architecture based on pRevisional Mechanisms) is based on preliminary ideas presented in (Micucci et al., 2005). With respect to the original document, in this work each pattern is analysed and revised and new concepts and behaviours are introduced, such as multiple lines of previsions and the retraction mechanism; more- over, the concept of abduction inference is better in- vestigated and the proposed abstraction layering finds a validation in the literature on Data Fusion models.

--> © 2024 Software Architecture Laboratory