In this paper, we combine the Common Variability Language (CVL) and the ATL Transformation Language to customize and incorporate a generic security model into any application that requires security. Security spans a large set of concerns such as integrity, encryption or authentication, among others, and each concern needs to be incorporated...
-
June 7, 2021 (v1)PublicationUploaded on: March 25, 2023
-
June 10, 2021 (v1)Publication
El Lenguaje CVL (Common Variability Language) carece de una herramienta flexible que permita poner en práctica las necesidades industriales del modelado de la variabilidad en Líneas de Producto Software. Las herramientas existentes que proporcionan soporte para CVL son prototipos incompletos, o se centran principalmente en la especificación de...
Uploaded on: December 5, 2022 -
June 11, 2021 (v1)Publication
Ensuring the security requirements of an application is not a straightforward task. Security properties (e.g., confidentiality, anonymity) need to be satisfied in different ways in different parts of the same application. Software architects are usually required to manually define security components and their dependencies with the...
Uploaded on: March 25, 2023 -
June 10, 2021 (v1)Publication
The lack of mature tool support is one of the main reasons that make the industry to be reluctant to adopt Software Product Line (SPL) approaches. A number of systematic literature reviews exist that identify the main characteristics offered by existing tools and the SPL phases in which they can be applied. However, these reviews do not really...
Uploaded on: December 4, 2022 -
June 9, 2021 (v1)Publication
Quality attributes that add new behavior to the functional software architecture are known as functional quality attributes (FQAs). These FQAs are applied to pieces of software from small components to entire systems, usually crosscutting some of them. Due to this crosscutting nature, modeling them separately from the base application has many...
Uploaded on: March 25, 2023 -
June 8, 2021 (v1)Publication
Functional quality attributes (FQAs) are those quality attributes that, to be satisfied, require the incorporation of additional functionality into the application architecture. By adding an FQA (e.g., security) we can improve the quality of the final product, but there is also an increase in energy consumption. This paper proposes a solution...
Uploaded on: December 4, 2022 -
June 10, 2021 (v1)Publication
Functional Quality Attributes (FQAs) are quality attributes that have strong functional implications and so can be easily modeled by software components. Thus, we use an aspect-oriented software product line approach, to model the commonalities and variabilities of FQAs from the early stages of the software development. However, FQAs cannot...
Uploaded on: March 25, 2023 -
June 8, 2021 (v1)Publication
La computación en la nube se está convirtiendo en un mecanismo predominante para desplegar fácilmente aplicaciones con requisitos especiales, tales como el almacenamiento masivo compartido, o el equilibrado de carga. Esta funcionalidad se proporciona normalmente como servicios por las plataformas en la nube. Un desarrollador puede mejorar tanto...
Uploaded on: March 25, 2023 -
June 10, 2021 (v1)Publication
Context: Quality attributes play a critical role in the architecture elicitation phase. Software Sustainability and energy efficiency is becoming a critical quality attribute that can be used as a selection criteria to choose from among different design or implementation alternatives. Energy efficiency usually competes with other...
Uploaded on: December 4, 2022 -
June 7, 2021 (v1)Publication
Los atributos de calidad funcionales (FQAs) son aquellos que para satisfacerlos se necesita incorporar funcionalidad adicional a la arquitectura de las aplicación (e.g., seguridad). La nueva funcionalidad incorporada por estos FQAs (e.g., encriptación) afecta a otro atributo de calidad como es el consumo de energía de la aplicación. Hasta el...
Uploaded on: March 27, 2023 -
June 10, 2021 (v1)Publication
Cloud computing is becoming the predominant mechanism to seamlessly deploy applications with special requirements such as massive storage sharing or load balancing, usually provided as services by cloud platforms. A developer can improve the application's delivery and productivity by following a multi tenancy approach, where variants of the...
Uploaded on: December 4, 2022 -
June 7, 2021 (v1)Publication
Software systems have a strong impact on the energy consumption of the hardware they use. This is es- pecially important for cyber-physical systems where power consumption strongly influences the batterylife. For this reason, software developers should be more aware of the energy consumed by their sys- tems. Moreover, software systems should be...
Uploaded on: December 2, 2022 -
June 9, 2021 (v1)Publication
Los dispositivos móviles ofrecen cada vez mayores prestaciones a costa de un mayor consumo energético. La energía consumida por un móvil no sólo depende de las aplicaciones en sí, sino también de las interacciones del usuario con la aplicación. Si un recurso no está siendo utilizado por la aplicación, no debería estar consumiendo energía. En...
Uploaded on: December 2, 2022 -
June 8, 2021 (v1)Publication
The Common Variability Language (CVL) has become a reference in the speci cation and resolution of variability in the last few years. Despite the multiple advantages of CVL (orthogonal variability, architecture variability resolution, MOF-compliant, standard proposed,. . . ), several approaches require extending and/or modifying the CVL...
Uploaded on: December 4, 2022 -
June 9, 2021 (v1)Publication
A pesar de la gran cantidad de trabajos y de herramientas existentes en el ámbito de las Líneas de Productos Software, muchos dominios de aplicación actuales como la ingeniería web no pueden verse beneficiados del uso de una Línea de Producto Software. Además, fuera del mundo académico, la empresa sigue siendo bastante reticente a usar este...
Uploaded on: March 25, 2023 -
June 7, 2021 (v1)Publication
Some quality attributes can be modelled using software components, and are normally known as Functional Quality Attributes (FQAs). Applications may require different FQAs, and each FQA (e.g., security) can be composed of many concerns (e.g., access control or authentication). They normally have dependencies between them and crosscut the system...
Uploaded on: March 27, 2023 -
June 10, 2021 (v1)Publication
There are some Quality Attributes (QAs) whose variability is addressed through functional variability in the software architecture. Separately modelling the variability of these QAs from the variability of the base functionality of the application has many advantages (e.g., a better reusability), and facilitates the reconfiguration of the QA...
Uploaded on: December 5, 2022 -
June 11, 2021 (v1)Publication
Security policies are enforced through the deployment of certain security functionalities within the applications. Applications can have different levels of security and thus each security policy is enforced by different security functionalities. Thus, the secure deployment of an application is not an easy task, being more complicated due to...
Uploaded on: March 25, 2023 -
February 15, 2024 (v1)Publication
For the last ten years, software product line (SPL) tool developers have been facing the implementation of different variability requirements and the support of SPL engineering activities demanded by emergent domains. Despite systematic literature reviews identifying the main characteristics of existing tools and the SPL activities they...
Uploaded on: February 17, 2024 -
June 10, 2021 (v1)Publication
The security policies of an application can change at runtime due to several reasons, as for example the changes on the user preferences, the lack of enough resources in mobile environments or the negotiation of security levels between the interacting parties. As these security policies change, the application code that copes with the security...
Uploaded on: March 25, 2023 -
June 8, 2021 (v1)Publication
Since the definition of feature models in 1990, a large number of language constructs have emerged. Each language construct usually comes with its own abstract and concrete syntax, its semantics, and even its complete language dialect and tool support. Nowadays, there is a consensus in the Software Product Line community about a need for...
Uploaded on: December 4, 2022 -
June 10, 2021 (v1)Publication
The quality of a software system can be measured by the extent to which it possesses a desired combination of quality attributes (QAs). While some QAs are achieved implicitly through the interaction of various functional components of the system, others (e.g., security) can be encapsulated in dedicated software components. These QAs are known...
Uploaded on: March 25, 2023 -
June 10, 2021 (v1)Publication
Software systems have a strong impact on the energy consumption of the hardware they use. For this reason, software developers should be more aware of the energy consumed by their systems. Moreover, software systems should be developed to be able to adapt their behavior to minimize the energy consumed during their execution. This paper...
Uploaded on: December 4, 2022 -
June 2, 2021 (v1)Publication
Multi-agent systems have proved to be a suitable technology for developing self-adaptive Internet of Things (IoT) systems, able to make the most appropriate decisions to address unexpected situations. This leads to new opportunities to use multi-agent technologies to develop all kinds of cyber– physical systems, which usually encompass a high...
Uploaded on: March 25, 2023 -
June 11, 2021 (v1)Publication
One of the most important challenges of this decade is the Internet of Things (IoT) that pursues the integration of real-world objects in the virtual world of the Internet. One property that characterises IoT systems is that they have to react to variable and continuous changes. This means that IoT systems need to work as self-managed systems...
Uploaded on: March 25, 2023