Gabriel Tamura
ICESI University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Gabriel Tamura.
dagstuhl seminar proceedings | 2013
Rogério de Lemos; Holger Giese; Hausi A. Müller; Mary Shaw; Jesper Andersson; Marin Litoiu; Bradley R. Schmerl; Gabriel Tamura; Norha M. Villegas; Thomas Vogel; Danny Weyns; Luciano Baresi; Basil Becker; Nelly Bencomo; Yuriy Brun; Bojan Cukic; Ron Desmarais; Schahram Dustdar; Gregor Engels; Kurt Geihs; Karl M. Göschka; Alessandra Gorla; Vincenzo Grassi; Paola Inverardi; Gabor Karsai; Jeff Kramer; Antónia Lopes; Jeff Magee; Sam Malek; Serge Mankovskii
The goal of this roadmap paper is to summarize the state-of-the-art and identify research challenges when developing, deploying and managing self-adaptive software systems. Instead of dealing with a wide range of topics associated with the field, we focus on four essential topics of self-adaptation: design space for self-adaptive solutions, software engineering processes for self-adaptive systems, from centralized to decentralized control, and practical run-time verification & validation for self-adaptive systems. For each topic, we present an overview, suggest future directions, and focus on selected challenges. This paper complements and extends a previous roadmap on software engineering for self-adaptive systems published in 2009 covering a different set of topics, and reflecting in part on the previous paper. This roadmap is one of the many results of the Dagstuhl Seminar 10431 on Software Engineering for Self-Adaptive Systems, which took place in October 2010.
software engineering for adaptive and self managing systems | 2011
Norha M. Villegas; Hausi A. Müller; Gabriel Tamura; Laurence Duchien; Rubby Casallas
Over the past decade the dynamic capabilities of self-adaptive software-intensive systems have proliferated and improved significantly. To advance the field of self-adaptive and self-managing systems further and to leverage the benefits of self-adaptation, we need to develop methods and tools to assess and possibly certify adaptation properties of self-adaptive systems, not only at design time but also, and especially, at run-time. In this paper we propose a framework for evaluating quality-driven self-adaptive software systems. Our framework is based on a survey of self-adaptive system papers and a set of adaptation properties derived from control theory properties. We also establish a mapping between these properties and software quality attributes. Thus, corresponding software quality metrics can then be used to assess adaptation properties.
Software Engineering for Self-Adaptive Systems | 2013
Gabriel Tamura; Norha M. Villegas; Hausi A. Müller; João Pedro Sousa; Basil Becker; Mauro Pezzè; Gabor Karsai; Serge Mankovskii; Wilhelm Schäfer; Ladan Tahvildari; Kenny Wong
Software validation and verification (VV and (ii) present a proposal for including V&V operations explicitly in feedback loops for ensuring the achievement of software self-adaptation goals. Both of these contributions provide valuable starting points for V&V researchers to help advance this field.
Software Engineering for Self-Adaptive Systems | 2013
Norha M. Villegas; Gabriel Tamura; Hausi A. Müller; Laurence Duchien; Rubby Casallas
Despite the valuable contributions on self-adaptation, most implemented approaches assume adaptation goals and monitoring infrastructures as non-mutable, thus constraining their applicability to systems whose context awareness is restricted to static monitors. Therefore, separation of concerns, dynamic monitoring, and runtime requirements variability are critical for satisfying system goals under highly changing environments. In this chapter we present DYNAMICO, a reference model for engineering adaptive software that helps guaranteeing the coherence of (i) adaptation mechanisms with respect to changes in adaptation goals; and (ii) monitoring mechanisms with respect to changes in both adaptation goals and adaptation mechanisms. DYNAMICO improves the engineering of self-adaptive systems by addressing (i) the management of adaptation properties and goals as control objectives; (ii) the separation of concerns among feedback loops required to address control objectives over time; and (iii) the management of dynamic context as an independent control function to preserve context-awareness in the adaptation mechanism.
software engineering for adaptive and self managing systems | 2013
Gabriel Tamura; Norha M. Villegas; Hausi A. Müller; Laurence Duchien; Lionel Seinturier
Self-adaptation mechanisms modify target systems dynamically to address adaptation goals, which may evolve continuously due to changes in system requirements. These changes affect values and thresholds of observed context variables and monitoring logic, or imply the addition and/or deletion of context variables, thus compromising self-adaptivity effectiveness under static monitoring infrastructures. Nevertheless, self-adaptation approaches often focus on adapting target systems only rather than monitoring infrastructures. Previously, we proposed DYNAMICO, a reference model for self-adaptive systems where adaptation goals and monitoring requirements change dynamically. This paper presents an implementation of DYNAMICO comprising our SMARTERCONTEXT monitoring infrastructure and QoS-CARE adaptation framework in a self-adaptation solution that maintains its context-awareness relevance. To evaluate our reference model we use self-adaptive system properties and the Znn.com exemplar to compare the Rainbow system with our DYNAMICO implementation. The results of the evaluation demonstrate the applicability, feasibility, and effectiveness of DYNAMICO, especially for self-adaptive systems with context-awareness requirements.
formal aspects of component software | 2010
Gabriel Tamura; Rubby Casallas; Anthony Cleve; Laurence Duchien
In this paper we focus on the formalization of component-based architecture self-reconfiguration as an action associated to quality-of-service (QoS) contracts violation. With this, we aim to develop on the vision of the component-based software engineering (CBSE) as a generator of software artifacts responsible for QoS contracts. This formalization, together with a definition of a QoS contract, forms the basis of the framework we propose to enable a system to preserve its QoS contracts. Our approach is built on a theory of extended graph (e-graph) rewriting as a formalism to represent QoS contracts, component-based architectural structures and architecture reconfiguration. We use a rule-based strategy for the extensible part of our framework. The reconfiguration rules are expressed as e-graph rewriting rules whose left and right hand sides can be used to encode design patterns for addressing QoS properties. These rules, given by a QoS property domain expert, are checked as safe , i.e., terminating and confluent, before its application by graph pattern-matching over the runtime representation of the system.
software product lines | 2015
Raúl Mazo; Juan C. Muñoz-Fernández; Luisa Rincón; Camille Salinesi; Gabriel Tamura
This paper presents the new release of VariaMos, a Java-based tool for defining variability modeling languages, modeling (dynamic) product lines and cyber-physical self-adaptive systems, and supporting automated verification, analysis, configuration and simulation of these models. In particular, we describe the characteristics of this new version regarding its first release: (1) the capability to create languages for modeling systems with variability, even with different views; (2) the capability to use the created language to model (dynamic) product lines; (3) the capability to analyze and configure these models according to the changing context and requirements; and (4) the capability to execute them over several simulation scenarios. Finally, we show how to use VariaMos with an example, and we compare it with other tools found in the literature.
Science of Computer Programming | 2014
Gabriel Tamura; Rubby Casallas; Anthony Cleve; Laurence Duchien
The increasing pervasiveness of computing services in everyday life, combined with the dynamic nature of their execution contexts, constitutes a major challenge in guaranteeing the expected quality of such services at runtime. Quality of Service (QoS) contracts have been proposed to specify expected quality levels (QoS levels) on different context conditions, with different enforcing mechanisms. In this paper we present a definition for QoS contracts as a high-level policy for governing the behavior of software systems that self-adapt at runtime in response to context changes. To realize this contract definition, we specify its formal semantics and implement it in a software framework able to execute and reconfigure software applications, in order to maintain fulfilled their associated QoS contracts. The contribution of this paper is threefold. First, we extend typed-attributed graph transformation systems and finite-state machines, and use them as denotations to specify the semantics of QoS contracts. Second, this semantics makes it possible to systematically exploit design patterns at runtime by dynamically deploying them in the managed software application. Third, our semantics guarantees self-adaptive properties such as reliability and robustness in the contract satisfaction. Finally, we evaluate the applicability of our semantics implementation by integrating and executing it in FraSCAti, a multi-scale component-based middleware, in three case studies. Presents a two-layered denotational semantics for runtime QoS-level preservation.Formally models QoS contracts and software component reconfiguration using graphs.Uses graph transformation rules to exploit design-patterns at runtime.Extends finite-state machines to model fulfillment/unfulfillment contract states.Demonstrates formal properties and shows its applicability in real scenarios.
2011 International Workshop on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems | 2011
Norha M. Villegas; Hausi A. Müller; Gabriel Tamura
End-users increasingly demand the provisioning of secure, scalable, reliable, flexible, resilient, and cost-efficient infrastructures, platforms, and software. However, the preservation of these properties, particularly in SOA and cloud environments, is extremely affected by distributed, heterogeneous, transient, and volatile context information. We envision the implementation of governance feedback loops, an innovative approach that equips service-oriented systems with run-time governance capabilities able to control the fulfillment of service level agreements (SLA) under changing execution environments. However, the effectiveness of our approach depends on the capability of governance infrastructures to guarantee the consistency between monitoring strategies, governance objectives, and context situations. To advance our vision, this paper proposes (i) contextual RDF graphs, a machine-readable specification of monitoring requirements that enable governance feedback loops with dynamic context monitoring capabilities; and (ii) context-driven SLAs, an extension of SLAs where context requirements are explicitly mapped to service level objectives (SLO) to optimize the run-time control of contracted obligations.
Lecture Notes in Computer Science | 2017
Rogério de Lemos; David Garlan; Carlo Ghezzi; Holger Giese; Jesper Andersson; Marin Litoiu; Bradley R. Schmerl; Danny Weyns; Luciano Baresi; Nelly Bencomo; Yuriy Brun; Javier Cámara; Radu Calinescu; Myra B. Cohen; Alessandra Gorla; Vincenzo Grassi; Lars Grunske; Paola Inverardi; Jean-Marc Jézéquel; Sam Malek; Raffaela Mirandola; Marco Mori; Hausi A. Müller; Romain Rouvoy; Cecília M. F. Rubira; Eric Rutten; Mary Shaw; Giordano Tamburrelli; Gabriel Tamura; Norha M. Villegas
The important concern for modern software systems is to become more cost-effective, while being versatile, flexible, resilient, dependable, energy-efficient, customisable, configurable and self-optimising when reacting to run-time changes that may occur within the system itself, its environment or requirements. One of the most promising approaches to achieving such properties is to equip software systems with self-managing capabilities using self-adaptation mechanisms. Despite recent advances in this area, one key aspect of self-adaptive systems that remains to be tackled in depth is the provision of assurances, i.e., the collection, analysis and synthesis of evidence that the system satisfies its stated functional and non-functional requirements during its operation in the presence of self-adaptation. The provision of assurances for self-adaptive systems is challenging since run-time changes introduce a high degree of uncertainty. This paper on research challenges complements previous roadmap papers on software engineering for self-adaptive systems covering a different set of topics, which are related to assurances, namely, perpetual assurances, composition and decomposition of assurances, and assurances obtained from control theory. This research challenges paper is one of the many results of the Dagstuhl Seminar 13511 on Software Engineering for Self-Adaptive Systems: Assurances which took place in December 2013.