CAOSD Group

About us

Dynamic reconfiguration

Over last few years CAOSD group contributed to the field with different approaches for developing self-adaptive systems presented in several thesis and research projects. These approaches successfully apply dynamic software product line, models@runtime and/or agent-oriented technologies.

Software Product Line Engineering

We have a vast experience in applying the SPL and dynamic SPL (DSPL) technologies to model a family of self-adaptive middleware (FamiWare), a family of Functional Quality Attributes and a family of self-adaptive agents, among others. We are experts in CVL (Common Variability Languages) and in combining SPL approaches at the software architecture level.

Software Architecture

The goal of CAOSD is primarily focused on Software Architecture centric approaches. Indeed, we have contributed with several Architecture Description Languages (e.g., AO-ADL, DAOP-ADL) and Domain Specific Languages (e.g., VML). The founding principle of CAOSD has been to improve software architecture modularity and separation of concerns principally through Aspect-oriented Software Development (AOSD) technologies.

Industrial applications

We have also applied advanced Software Engineering technologies to the distributed systems domain. More specifically, we have proposed a middleware, an agent platform and several applications in the domain of the Internet of Things (IoT), Future Internet, Ambient Inteligence, AAL, ITS, mobile phones and sensors for an inteligent museum, to name a few.

Green Software Engineering

The CAOSD group is currently involved in the development of a reusable repository of energy consuming concerns and a green assistant to help designers to develop energy-efficient applications. We are interested in measuring energy consumption at the code level, of several functional unit, such as security, logging, video codecs, etc. This work is aligned with the Energy Aware Software Engineering discipline with the goal of helping to develop energy efficient software systems for IoT systems.

Agent-Oriented Software Engineering

Another of CAOSD research topics is the application of advanced software engineering techniques (e.g., variability models, model driven development) to the development of autonomous self-managed agents for the Internet of Things (e.g., Malaca, Self-starMAS).