Caosd Research group

Software Product Lines and Multi-Agent Systems for the self-management of the IoT

Self-* objectives

Multi-agent systems (MAS) assum their own management, proposing a decentralized approach.
MAGIC provide MAS with the explicit definition of self-* objectives:

    • Self-management

Autonomic computing, Dynamic Software Product Lines, self-maintenance,…

    • Self-configuration

MAPE-K loop, evolutionary algorithms, self-adjusting,…

    • Self-optimization

Energy-efficiency, performance,…

    • Self-protection

Security policies, authentication, encryption,…

    • Self-healing

Fault-tolerant, graceful degradation, self-stabilization,…

Functional Quality Attributes (FQAs)

Functional Quality Attributes (FQAs) are those quality attributes that, to be satisfied, require the incorporation of additional functionality into the application architecture.
For example, to supply MAS with self-protection agents require the incorporation of specific security components (authentication mechanism or encryption algorithms).
MAGIC seeks to ensure a high level of quality attributes such as performance and energy-efficiency thanks to the self-optimization capabilities of agents.

Multi-Agent System Product Lines (MAS-PL)

MAS and Software Product Lines (SPLs) technologies are combined to exploit the benefits of SPLs: reducing cost, improving time to market, and enhancing agent tecnology in such a away that it is more industrially applicable.
The SPL approach allows the creation of a family of products based on the analysis of commonalities and variabilities of the MAS.

Common Variability Language (CVL)

The variety of devices, networks, resources, and changes in the environment in IoT systems requires to properly model all the variability.
The Common Variability Language (CVL) is a domain-independent language for specifying and resolving variability over MOF-compliant models, being the more suitable solution for use at the architectural level.

Dynamic Software Product Line (DSPL) and Model-Driven Development (MDD)

Dynamic Software Product Line (DSPL) and Model-Driven Development (MDD) technologies automatize the processes of generating MAS’s configurations from the specific models and requirements of each IoT system.


It includes managing the evolution of the self-* objectives.

Case studies

  • Ambient Assisted Living (AAL)
  • Smart Cities and Intelligent Transportation Systems (ITS)
  • Virtual tours
  • Intelligent museums
  • Wireless Sensor Networks
  • Shopping Center Assistant