Papers by Javier González Huerta

En la preparación de este proyecto recibí ayuda y aliento de muchas personas. No tendría suficien... more En la preparación de este proyecto recibí ayuda y aliento de muchas personas. No tendría suficiente espacio para mencionarlos a todos. Hay una enorme lista de personas que me han brindado su apoyo y ayuda y de los cuales recibí importantes aportaciones. A todos ellos: GRACIAS 5 Abstract Model Transformations are one of the most important artifacts in the Model-Driven Software Development (MDSD) lifecycle. A model transformation is a process of converting one model to another model. A model may be transformed to multiple models that are functionally equivalent but very different with regard to their quality properties. Alternative models are generated since alternative transformations may appear during the transformation process. In the literature, several proposals try to integrate quality in model transformation processes. However, none of them provides a rigorous solution to tackle this problem. Thus, there is a needed to define transformation processes that are able of ensuring some desired properties in the target model.
Derivación, Evaluación y Mejora de la Calidad de Arquitecturas Software en el Desarrollo de Líneas de Producto Software Dirigido por Modelos
Un enfoque Multi‐modelo para la Introducción de Atributos de Calidad en el Desarrollo de Líneas de Producto Software
Automatización de la Selección de Transformaciones Alternativas Basada en Atributos de Calidad
Framework for Dynamic Architecture Reconfiguration of Cloud Services

Cloud computing represents a new trend to provide software services. In order to deliver these se... more Cloud computing represents a new trend to provide software services. In order to deliver these services there are certain quality levels that should be considered. The provided services need to comply with a set of contract terms and non-functional requirements specified by a service level agreement (SLA). In addition, to support the fulfillment of the SLA a monitoring process should be defined. This allows service providers to determine the actual quality level of services in the cloud. In this paper, we define a monitoring process for the usage of models at runtime, specifying low-and high-level nonfunctional requirements contained in a SLA. Models at runtime provide flexibility to the monitoring infrastructure due to their reflection mechanisms; the modification of non-functional requirements may dynamically change the monitoring computation, avoiding the need to adjust the monitoring infrastructure. In our approach, models at runtime are part of a monitoring middleware that interacts with cloud services; it retrieves data in the model at runtime, analyzes the information, and provides a report detailing the issues of non-compliance of non-functional requirements.
Are Model-driven Techniques Used as a Means to Migrate SOA Applications to Cloud Computing?

Cloud computing is a paradigm that is transforming the computing industry and is receiving more a... more Cloud computing is a paradigm that is transforming the computing industry and is receiving more attention from the research community. The incremental deployment of cloud services is particularly important in agile development of cloud services, where successive cloud service increments must be integrated into existing cloud service architectures. This requires dynamic reconfiguration of software architectures, especially in cloud environments where services cannot be stopped in order to apply reconfiguration changes. This paper presents a model-driven dynamic architecture reconfiguration process to support the integration of cloud services. Models are used to represent high-level architecture reconfiguration operations as well as adaptation patterns. Adaptation patterns allow us to describe reconfiguration operations independently of a specific cloud platform technology. On the other hand, model transformations are used: i) to support compatibility checking of increments; ii) to generate software adaptors that solve incompatibilities between architectures; and iii) to generate reconfiguration plans specific of cloud provider, that include reconfiguration actions to be applied on cloud service instances at runtime. The proposed process is illustrated with a dealer network system development example, where cloud services are deployed in an incremental way.
Defining an Architecture for Quality-Driven Model Transformations
Integration of Quality Attributes in Software Product Line Development

Requirements engineering is a key activity on any software development project. In Software Produ... more Requirements engineering is a key activity on any software development project. In Software Product Line development, this activity is even more important since requirements may encompass commonality and variability. Furthermore, a requirement specification usually is composed by more than one model. In this context it is necessary to specify the requirements variability in the different models of a Software Product Line requirements specification. In order to solve this issue, this paper proposes a multimodel approach for specifying the requirements for the products of a Software Product Line. This multimodel is used in a modeldriven development process in order to obtain the requirements of a single product by applying model transformations. This solution increases the flexibility allowing developers to add more views depending on the domain and to obtain the product requirements by using model-transformations, whereas improves the productivity. The feasibility of the approach is illustrated through a running example.

In this paper we describe the results of a replication study for comparing the effectiveness, eff... more In this paper we describe the results of a replication study for comparing the effectiveness, efficiency and perceived utility of the quality-driven product architecture derivation and improvement method (QuaDAI), an architecture derivation and evaluation method that we presented in recent works, as opposed to the Architecture Tradeoff Analysis Method (ATAM), a well-known architectural evaluation method used in industry. The results of the original experiment (conducted with undergraduate students) showed that QuaDAI was found to be more efficient and was perceived as easier to use than ATAM. However, although QuaDAI performed better than ATAM, we could not confirm the other variables, as the differences between both methods were not statistically significant. Therefore the goal of the replication was to verify these findings with a group of more experienced students. In the replication study QuaDAI also performed better than ATAM, but as opposed to the original study, all the variables proved to be statistically significant.

Product architecture derivation is a crucial activity in Software Product Line (SPL) development ... more Product architecture derivation is a crucial activity in Software Product Line (SPL) development since an inadequate decision during the architecture design directly impacts the quality of the product under development. Although some methods for architecture derivation have been proposed in the last few years, there is still a need for approaches that model the impact among architectural design decisions and quality attributes and use this information to drive the derivation of high-quality product architectures. In this paper, we present an approach for integrating quality attributes in early stages of the SPL lifecycle. The approach is based on a multimodel that explicitly represents the product line from multiple viewpoints (e.g., variability, functional and quality) and the relationships among them, as well as on a derivation process that makes use of this multimodel to derive a product architecture with the required quality attributes from the product line architecture. The feasibility of the approach is illustrated using a case study on the automotive domain.

Lecture Notes in Computer Science, 2010
The design of model transformations is a key aspect in model-driven development processes and is ... more The design of model transformations is a key aspect in model-driven development processes and is even more important when alternative transformations exist. The transformation designer must be able to identify which alternative transformations produce models with the desired quality attributes. This paper presents design guidelines for defining model transformations to deal with alternative transformations in which the selection of the alternatives is done based on quality attributes. The design guidelines are defined in the context of a multimodeling approach which, unlike conventional transformation processes that only use source models as input to apply transformations, also uses two additional models: a quality model for representing quality attributes, and a transformation model for representing the relationships among quality attributes and the alternative transformations in a particular domain.

A Multimodel for Integrating Quality Assessment in Model-Driven Engineering
2012 Eighth International Conference on the Quality of Information and Communications Technology, 2012
ABSTRACT The development of complex software systems following the Model-Driven Engineering (MDE)... more ABSTRACT The development of complex software systems following the Model-Driven Engineering (MDE) approach relies on the use of different models for describing the system (e.g., structure, behavior). These models should be specified first separately but then their inter-relationship must be established since they represent complementary aspects of the system. Besides, MDE development processes are mostly focused on functionality, and do not give proper support to the quality aspects of the system. In this paper, we present a generic multimodel and the process for its construction, allowing the representation of the different viewpoint models of a software system and the relationships among elements on these viewpoints. This multimodel is a means for integrating a quality viewpoint in MDE processes, allowing the quality attributes to become a decision factor in the choice among design decisions in transformation processes. The feasibility of this approach is illustrated through the use of the multimodel in a specific example for Software Product Line development.
Towards an architecture for ensuring product quality in model-driven software development
Proceedings of the 11th International Conference on Product Focused Software - PROFES '10, 2010
Abstract This paper presents an architecture to perform model-driven transformations that are gui... more Abstract This paper presents an architecture to perform model-driven transformations that are guided by quality attributes. The main goal of the architecture is to define a set of artifacts and a process for specifying and executing model transformations in which the selection ...

Non-functional requirements in model-driven software product line engineering
Proceedings of the Fourth International Workshop on Nonfunctional System Properties in Domain Specific Modeling Languages - NFPinDSML '12, 2012
ABSTRACT Developing variant-rich software systems through the application of the software product... more ABSTRACT Developing variant-rich software systems through the application of the software product line approach requires the management of a wide set of requirements. However, in most cases, the focus of those requirements is limited to the functional requirements. The non-functional requirements are often informally defined and their management does not provide traceability mechanisms for their validation. In this paper, we present a multimodel approach that allows the explicit representation of non-functional requirements for software product lines both at domain engineering, and application engineering levels. The multimodel allows the representation of different viewpoints of a software product line, including the non-functional requirements and the relationships that these non-functional requirements might have with features and functionalities. The feasibility of this approach is illustrated through a specific example from the automotive domain.

Information System Development, 2014
Product architecture derivation is a crucial activity in Software Product Line (SPL) development ... more Product architecture derivation is a crucial activity in Software Product Line (SPL) development since any inadequate decisions made during the architecture design directly impact on the non-functional properties of the product under development. Although some methods for architecture derivation have been proposed in the last few years, there is still a need for approaches that model the impact among architectural design decisions and quality attributes and use this information to drive the derivation of high-quality product architectures. This paper, presents a set of guidelines for the definition of pattern-based quality-driven architectural transformations in a Model-Driven SPL development environment. These guidelines rely both on a multimodel that represents the product line from multiple viewpoints as well as on a derivation process that makes use of this multimodel to derive a product architecture that meets the quality requirements. The feasibility of the approach is illustrated using a case study on the automotive domain.
Adaptation of transformations to metamodel changes
Desarrollo de Software Dirigido por Modelos, 2010
MDE is becoming mainstream. This implies facing scalability and complexity problems: larger meta-... more MDE is becoming mainstream. This implies facing scalability and complexity problems: larger meta-models and more intricate transformations. Additionally, metamodel evolution introduces even more stringent demands. Model transformation needs then to face an increase in both complexity and evolvability. Specifically, assistance is required to guide how metamodel changes impact associated transformations. This paper focuses on changes in the source metamodel, and the impact on the associated transformations. ...

Software Product Line development involves the explicit management of variability that has to be ... more Software Product Line development involves the explicit management of variability that has to be encompassed by the software artifacts, in particular by the software architecture. Architectural variability has to be not only sup- ported by the architecture but also explicitly represented. The Common Variabil- ity Language (CVL) allows to represent such variability independently of the Ar- chitecture Description Language (ADL) and to support the resolution of this var- iability for the automatic derivation of AADL product architectures. This paper presents a multimodel approach to represent the relationships between the exter- nal variability, represented by a feature model, and the architectural variability, represented by the CVL model, for the automatic derivation of AADL product architectures through model transformations. These transformations take into ac- count functional and non-functional requirements.
Keywords:
Uploads
Papers by Javier González Huerta
Keywords:
Keywords: