Papers by Ernesto Pimentel

The diversity in the way different cloud providers offer their services, give their SLAs, present... more The diversity in the way different cloud providers offer their services, give their SLAs, present their QoS, support different technologies, etc., complicates the portability and interoperability of cloud applications, and favors vendor lock-in. Standards like TOSCA, and tools supporting them, have come to help in the provider-independent description of cloud applications. After the variety of proposed cross-cloud application management tools, we propose going one step further in the unification of cloud services with a deployment tool in which IaaS and PaaS services are integrated into a unified interface. We provide support for applications whose components are to be deployed on different providers, indistinctly using IaaS and PaaS services. The TOSCA standard is used to define a portable model describing the topology of the cloud applications and the required resources in an agnostic, and providers-and resources-independent way. We include in this paper some highlights on our implementation on Apache Brooklyn and present a non-trivial example that illustrates our approach.

Resumen. La reconfiguración dinámica de aplicaciones multi-cloud es un reto complejo aún no sufic... more Resumen. La reconfiguración dinámica de aplicaciones multi-cloud es un reto complejo aún no suficientemente explorado. En estos entornos las aplicaciones o sus módulos pueden estar desplegados en diferentes proveedores. Por lo tanto, reconfigurar en tiempo de ejecución estas aplicaciones puede requerir la modificación de la distribución en múltiples y heterogéneos proveedores. Obtener la nueva distribución para que sigan funcionando correctamente las aplicaciones no es una tarea sencilla, pues tanto los requisitos de las aplicaciones como las propiedades de los proveedores son muy diversos y variables. Además, la migración de las aplicaciones o sus módulos en tiempo real de un proveedor a otro puede conllevar problemas de compatibilidad y/o dependencias entre los módulos. Por lo tanto, el manejo de la variabilidad dinámica de las aplicaciones y proveedores, así como el de las dependencias existentes es deseable que se haga a un alto nivel de abstracción. Las Líneas de Producto Software Dinámicas (DSLP) utilizan modelos de variabilidad en tiempo de ejecución para obtener los cambios que han de llevarse a cabo durante la reconfiguración. En este trabajo de reflexión, exploramos el uso del enfoque de DSPL, para que cuando ocurran problemas en los proveedores o se violen los requisitos de las aplicaciones en entornos multi-cloud, las aplicaciones puedan ser reconfiguradas y seguir proporcionando los servicios adecuadamente a los usuarios.
Lecture Notes in Computer Science, 2016
We present the open reference architecture of the SeaClouds solution. It aims at enabling a seaml... more We present the open reference architecture of the SeaClouds solution. It aims at enabling a seamless adaptive multi-cloud management of complex applications by supporting the distribution, monitoring and reconfiguration of app modules over heterogeneous cloud providers.
CLEI Electronic Journal, 2015
How to deploy and manage, in an efficient and adaptive way, complex applications across multiple ... more How to deploy and manage, in an efficient and adaptive way, complex applications across multiple heterogeneous cloud platforms is one of the problems that have emerged with the cloud revolution. In this paper we present context, motivations and objectives of the EU research project SeaClouds, which aims at enabling a seamless adaptive multi-cloud management of complex applications by supporting the distribution, monitoring and migration of application modules over multiple heterogeneous cloud platforms. After positioning SeaClouds with respect to related cloud initiatives, we present the SeaClouds architecture and discuss some of its aspect, such as the use of the OASIS standard TOSCA and the compatibility with the OASIS CAMP initiative.
IEEE Latin America Transactions, 2005
Proceedings of the Workshop on Model-Driven Security, 2012
Security is one of the main challenges of service oriented computing. Services need to be loosely... more Security is one of the main challenges of service oriented computing. Services need to be loosely coupled, easily accessible and yet provide tight security guarantees enforced by cryptographic protocols. In this paper, we address how to automatically synthesize an orchestrator process able to guarantee the secure composition of electronic services, supporting different communication and cryptographic protocols. We present a theoretical model based on process algebra, partial model checking and logical satisfiability, plus an automated tool implementing the proposed theory.
2011 IEEE International Conference on Services Computing, 2011
In service-based systems, service evolution might raise critical communication issues since the c... more In service-based systems, service evolution might raise critical communication issues since the client cannot be aware of the changes that have occurred on the black-box services side. In this paper, we propose an automated process to adapt the client to the changes that have occurred. Our approach relies on a compatibility measuring method, and changes the client interface to ensure the system compatibility. This solution is fully automated inside a prototype tool we have implemented.
Proceedings of the 4th International Conference on Cloud Computing and Services Science, 2014
The adaptive management of complex applications deployed across multiple heterogeneous PaaS platf... more The adaptive management of complex applications deployed across multiple heterogeneous PaaS platforms is one of the problems that have emerged with the cloud revolution. The ongoing EU research project SeaClouds aims at providing seamless adaptive multi-cloud management of complex applications by supporting the distribution, monitoring and migration of application modules over multiple heterogeneous PaaS platforms. In this paper we present context, motivations and objectives of SeaClouds, its relation with other cloud initiatives, and its initial architecture.
15th Ieee International Conference on Computational Science and Engineering, 2012
Abstract Context-awareness enables a new class of applications in mobile and pervasive computing,... more Abstract Context-awareness enables a new class of applications in mobile and pervasive computing, providing relevant information to users. Service discovery mechanisms need to overcome the heterogeneity of applications and devices, and provide services with compatible capabilities to user requirements. One of the main challenges in service-oriented computing is to provide semantic representation instead of only a syntactic one. In addition, the advantage of using protocol compatibility is that the services selected not only match ...
ACM SIGMOD Record, 2005
The ninth edition of the Conference on Software Engineering and Databases (named JISBD after its ... more The ninth edition of the Conference on Software Engineering and Databases (named JISBD after its initials in Spanish) was held in Málaga (Spain) November 10-12, 2004. This conference had its origins in two previous, separate events comprising two scientific communities closely related to the subjects of the conferences: on the one hand the Spanish Software Engineering Conference, held for the first time in Sevilla (Spain) in 1996, and, on the other, the Spanish Conference on Research and Education in Databases, held in A Coruña (Spain), also for the first time in the same year. These two events were joined in 1999, giving rise to the Fourth Conference on Software Engineering and Databases, for the first time with this name, which has been preserved to date.

Sensors, 2012
In the Future Internet, applications based on Wireless Sensor Networks will have to support recon... more In the Future Internet, applications based on Wireless Sensor Networks will have to support reconfiguration with minimum human intervention, depending on dynamic context changes in their environment. These situations create a need for building these applications as adaptive software and including techniques that allow the context acquisition and decisions about adaptation. However, contexts use to be made up of complex information acquired from heterogeneous devices and user characteristics, making them difficult to manage. So, instead of building context-aware applications from scratch, we propose to use FamiWare, a family of middleware for Ambient Intelligence specifically designed to be aware of contexts in sensor and smartphone devices. It provides both, several monitoring services to acquire contexts from devices and users, and a context-awareness service to analyze and detect context changes. However, the current version of FamiWare does not allow the automatic incorporation related to the management of new contexts into the FamiWare family. To overcome this shortcoming, in this work, we first present how to model the context using a metamodel to define the contexts that must to be taken into account in an instantiation of FamiWare for a certain Ambient Intelligence system. Then, to configure a new context-aware version of FamiWare and to generate code ready-to-install within heterogeneous devices, we define a mapping that automatically transforms metamodel elements defining contexts into elements of the FamiWare family, and we also use the FamiWare configuration process to customize the new context-aware variant. Finally, we evaluate the benefits of our process, and we analyze both that the new version of the middleware works as expected and that it manages the contexts in an efficient way.

Electronic Notes in Theoretical Computer Science, 2008
A pretty wide range of concurrent programming languages have been developed over the years. Comin... more A pretty wide range of concurrent programming languages have been developed over the years. Coming from dierent programming traditions, concurrent languages dier in many respects, though all share the common aspect to expose parallelism to programmers. In order to provide language level support to programming with more than one process, a few basic concurrency primitives are often combined to provide the main language constructs, sometimes making dierent assumptions. In this paper, we analyze the most common primitives and related semantics for the class of synchronous concurrent programming languages, i.e., languages with a global mechanism of processes synchronization. Then, we present a generic framework for approximating the semantics of the main constructs which applies to both, declarative as well as imperative concurrent programming languages. We determine the conditions which ensure the correctness of the approximation, so that the resulting abstract semantics safely supports program analysis and verication. Finally, we ascertain the conditions that make it possible to implement the abstraction by a source to source transformation of the language semantics. * This work has been partially supported by the EU (FEDER) and the Spanish MEC under grants TIN2004-7943-C04
Abstract. Model checking is a well-known automatic verification method based on the exhaustive ex... more Abstract. Model checking is a well-known automatic verification method based on the exhaustive exploration of the state space produced by a system searching for traces satisfying (not satisfying) a given property. Different techniques have been explored to manage the state explosion problem that occurs when analyzing complex concurrent systems. One of them is the reduction by abstraction of the model and the properties to be checked. The aim of this paper is to compare two semantics for abstracting models when ...
Resumen La copia ilegal de software ha sido, desde la popularización del uso de los ordenadores, ... more Resumen La copia ilegal de software ha sido, desde la popularización del uso de los ordenadores, uno de los mayores problemas para su industria. Para atacar este problema han aparecido en la literatura propuestas de esquemas de protección de software basados en tokens hardware resistentes a ataques físicos. Todos ellos dependen de dos premisas:(a) la resistencia del token a los ataques físicos, y (b) la dificultad de analizar y modificar el software para evitar la comprobación de la presencia del token. La ...
JISBD, 1999
Resumen. La ingeniería del software basada en componentes está despertando mucho interés, no sólo... more Resumen. La ingeniería del software basada en componentes está despertando mucho interés, no sólo en el ámbito académico, sino también en el industrial. Sin embargo, el uso de estas tecnologías implica que deben realizarse importantes cambios en los procesos de desarrollo de software. En particular, es necesario desarrollar y utilizar notaciones específicas, que incorporen conceptos de componentes y rigurosas especificaciones formales. Nuestra propuesta parte de LEDA, un lenguaje formal de descripción de ...
El desarrollo de software basado en componentes es una disciplina en continuo crecimiento dentro ... more El desarrollo de software basado en componentes es una disciplina en continuo crecimiento dentro del campo de la Ingeniería de software. Con las primeras plataformas de componentes del mercado surgió el desarrollo de los lenguajes de descripción de interfaces con la idea de detectar problemas de compatibilidad entre componentes en el desarrollo de aplicaciones distribuidas y abiertas. Sin embargo, al describir los servicios que ofrecen los objetos, los lenguajes de descripción de interfaces sólo consideran la ...
Resumen La actual situación de los grupos en los que se ha aplicado la experiencia piloto de Conv... more Resumen La actual situación de los grupos en los que se ha aplicado la experiencia piloto de Convergencia al Espacio Europeo de Educación Superior en las titulaciones de Informática de la Universidad de Málaga, y en particular, en la asignatura “Laboratorio de Tecnología de Objetos”, hacen difícil un seguimiento personalizado de los alumnos con los recursos de profesorado con los que se ha contado hasta el momento, que no han diferido de los de cursos anteriores. Más de 200 alumnos se han visto involucrados, y el ...
FLACOS’09 Third Workshop on Formal Languages and Analysis of Contract-Oriented Software, Sep 1, 2009
Software Adaptation aims at composing in a non-intrusive way black-box components or services, ev... more Software Adaptation aims at composing in a non-intrusive way black-box components or services, even if they present some mismatches in their interfaces. Adaptation is a complex issue especially when behavioural descriptions of services are taken into account in their interfaces. In this paper, we first present our abstract notations used to specify behavioural interfaces and adaptation contracts, and propose some solutions to support the specification of these contracts. Then, we overview our techniques ...
Canal et al.[4], Jun 14, 2004
Abstract. Software reuse is one of the most important goals in software engineering. However, ser... more Abstract. Software reuse is one of the most important goals in software engineering. However, server components have set, traditionally, functional and non-functional requirements what makes hard to reuse them when developing software by composing components. Of course, server components can and should set conditions in order to ensure their functionality and to avoid run-time errors. Along this paper, we will show how starting from the" Design by Contract" metaphor proposed by Meyer, we have been developed a ...
Uploads
Papers by Ernesto Pimentel