# Caosd Research group

## Presentations

The members of the CAOSD group, as a result of their research, participate in many national and international conferences. Here are some of their presentations at these events.

#### ECSA/SPLC 2019 Keynote: Lidia Fuentes, Variability variations in Cyber-Physical systems

With the increasing size and heterogeneity of systems (e.g., IoT, Cyber-Physical Systems) and enhanced power and versatility of IoT devices (e.g., smart watches, home intelligence sensors), the complexity of managing different kinds of variability for a given vertical domain becomes more difficult to handle. The structural variability of cyber-physical systems becomes more complex, comprising not only the inherent hardware variability of IoT devices and their network access protocols, but also the infrastructure variability derived from modern virtualization technologies, such as microcontainers or unikernels. Variability of software frameworks used to develop domain specific applications and/or services for Cloud/Edge computing environments should not be intermingled with hardware, and infrastructure variability modelling. In addition, to exploit the full potential of flexibility in processing, data storage and networking resource management, experts should define dynamic configuration processes that optimise QoS such as energy efficiency or latency respecting application-specific requirements. In this keynote talk, I will present how QoS assurance in cyber-physical systems implies modelling and configuring different kinds of variability during design, but also at runtime (e.g., user demands, usage context variability), enabling the late binding of dynamic variation points, distributed in IoT/Edge/Cloud devices, and how this can be materialized using current SPL artefacts.

#### Daniel-jesus Munoz PhD. Thesis: Achieving Energy Efficiency with a Software Product Line Engineering Approach

This is a Live PhD. Thesis Presentation; please access and cite the published PhD. Thesis book:

https://doi.org/10.5281/zenodo.10007921

- Author: Daniel-Jesus Munoz
- Directors: Lidia Fuentes and Monica Pinto.

*Post-defense presentation recorded at Universität Ulm in 2023*

Energy-aware software design can energy-aware software design can reduce total energy consumption by 30-90%. However, the different ways of measuring energy consumption in real time are very complex. Energy readings are provided as the total energy consumption in joules or the rate of energy consumption in watts. For battery-powered battery-powered devices, joules per task is a more interesting metric, while watts per task is more commonly used for battery-powered devices. per task is more used for devices directly connected to power. The usual approach to modelling and storing approach to modelling and storing power consumption readings is to describe them as a characteristic of individual components, such as monetary cost. individual components, such as the monetary cost of a hardware component. However, the energy consumption values have many interactions between components, which makes it difficult to describe them with individual, static energy values. This makes it difficult to describe them in terms of individual, static energy values. Instead, we can store and energy information can be stored and populated in collaborative databases. The IEA and Datarade offer free databases with energy consumption data. free databases with energy consumption data for energy efficiency and sustainability analysis. Without However, the databases are not scalable for highly configurable systems because of the curse of the dimension. Our work focuses on Industry 4.0, specifically on Cyber-Physical Systems (acronym CPS), which are characterised by their high configurability and adaptability, presenting a large number of alternatives and a colossal number of alternatives and a colossal number of different systems in operation. This is known as the This is known as the search/solution space, the size of which is the set of all possible points that satisfy an optimisation problem. optimisation problem. Partially known solution spaces are a common problem in many fields, such as computer engineering, machine learning, artificial intelligence and goal-oriented optimisation. engineering, machine learning, artificial intelligence and goal-oriented optimisation. The Constraint Satisfaction Problems (CSP) are mathematical problems defined as a set of objects whose state must satisfy a set of constraints. set of objects whose state must satisfy a set of constraints. Variability Models (acronym VMs) are tree-like structures used to represent the commonalities and differences of a CPS. Numerical Features (NFs) can be used in VMs to represent quantitative properties of the system, but they can be used to represent quantitative properties of the system, but most tools do not support NFs. In addition, NFs increase the size of the VM, NFs increase the size of the solution space by multiplying it by its domain size, which makes large solution spaces colossal. large solution spaces into colossal ones. Quality Models (QMs) are tree structures that are used to determine which Quality Attributes (QAs) such as energy efficiency are to be taken into account when evaluating a project. which Quality Attributes (QAs) such as energy efficiency are to be taken into account when evaluating a system. system. ISO/IEC 25010 is the most popular QM formalisation, which groups QAs into eight different types. The Automated reasoning is the automation of formal logical reasoning to compute different types of information about system models. Examples are providing a VM or QM to a reasoning tool, and calculating the size of the reasoning tool, and calculating the size of the solution space, checking the satisfiability of the model, or generating only optimal systems based on objective functions. only optimal systems based on objective functions based on one or more QAs. This thesis aims to find a native modelling and reasoning approach for a unified Quality and Variability Model (QVM). Variability and Quality Model (QVM). The aim is to develop an approach that supports modelling and reasoning for the reasoning oriented optimisation of numerical characteristics, an algebraic framework for unified QVMs, an online eco-assistant for optimising a user-constrained solution space measured for quality, and an algorithm and an online quality, and an algorithm and a web tool for learning the influences of energy and characteristics of user-constrained, domain-unknown and partially measured solution spaces.

#### CAiSE 21: Daniel- Jesus Munoz, Category Theory Framework for Variability Models with Non-functional Requirements

In Software Product Line (SPL) engineering one uses Variability Models (VMs) as input to automated reasoners to generate optimal products according to certain Quality Attributes (QAs). Variability models, however, and more specifically those including numerical features (i.e., NVMs), do not natively support QAs, and consequently, neither do automated reasoners commonly used for variability resolution. However, those satisfiability and optimisation problems have been covered and refined in other relational models such as databases. Category Theory (CT) is an abstract mathematical theory typically used to capture the common aspects of seemingly dissimilar algebraic structures. We propose a unified relational modelling framework subsuming the structured objects of VMs and QAs and their relationships into algebraic categories. This abstraction allows a combination of automated reasoners over different domains to analyse SPLs. The solutions’ optimisation can now be natively performed by a combination of automated theorem proving, hashing, balanced-trees and chasing algorithms. We validate this approach by means of the edge computing SPL tool HADAS.