Publications


Article Collections and Book Chapters

2017

  • N. M. Villegas, G. Tamura, and H. A. Müller, “Architecting Software Systems for Runtime Self-Adaptation: Concepts, Models, and Challenges,” in Managing Trade-Offs in Adaptable Software Architectures, I. Mistrik, N. Ali, R. Kazman, J. Grundy, and B. Schmerl, Eds., Morgan Kaufmann, 2017, pp. 17-43. doi:https://doi.org/10.1016/B978-0-12-802855-1.00002-2
    [BibTeX] [Download PDF]
    @incollection{villegas-et-al:2017:architecting-sw-systems-self-adapt,
    title = {{Architecting Software Systems for Runtime Self-Adaptation: Concepts, Models, and Challenges}},
    author = {N.M. Villegas and G. Tamura and H.A. M{\"u}ller},
    editor = {Mistrik, Ivan and Ali, Nour and Kazman, Rick and Grundy, John and Schmerl, Bradley},
    booktitle = {{Managing Trade-Offs in Adaptable Software Architectures}},
    publisher = {Morgan Kaufmann},
    year = {2017},
    pages = {17 -- 43},
    isbn = {978-0-12-802855-1},
    doi = {https://doi.org/10.1016/B978-0-12-802855-1.00002-2},
    url = {https://www.sciencedirect.com/science/article/pii/B9780128028551000022}
    }

  • M. Litoiu, M. Shaw, G. Tamura, N. M. Villegas, Hausi A. Müller, H. Giese, R. Rouvoy, and E. Rutten, “What Can Control Theory Teach Us About Assurances in Self-Adaptive Software Systems?,” in Software Engineering for Self-Adaptive Systems III, R. de Lemos, D. Garlan, C. Ghezzi, and H. Giese, Eds., Springer, 2017, vol. 9640, pp. 90-134.
    [BibTeX]
    @incollection{SEFSAS3:2017:what-can-contro-theory-teach-us,
    author = {Marin Litoiu and Mary Shaw and Gabriel Tamura and Norha M. Villegas and Hausi A. M{\"u}ller, and Holger Giese and Romain Rouvoy and Eric Rutten},
    title = {{What Can Control Theory Teach Us About Assurances in Self-Adaptive Software Systems?}},
    booktitle = {{Software Engineering for Self-Adaptive Systems III}},
    pages = {90--134},
    volume = {9640},
    editor = {de Lemos, Rog\'{e}rio and Garlan, David and Ghezzi,
    Carlo and Giese, Holger},
    series = {Lecture Notes in Computer Science (LNCS)},
    publisher = {Springer},
    isbn = {978-3-319-74182-6},
    issn = {0302-9743},
    year = {2017}
    }

  • R. de Lemos, D. Garlan, C. Ghezzi, H. Giese, J. Andersson, M. Litoiu, B. Schmerl, D. Weyns, L. Baresi, N. Bencomo, Y. Brun, J. Camara, R. Calinescu, M. B. Cohen, A. Gorla, V. Grassi, L. Grunske, P. Inverardi, J. Jezequel, S. Malek, R. Mirandola, M. Mori, H. A. Müller, R. Rouvoy, C. F. Rubira, E. Rutten, M. Shaw, G. Tamburrelli, G. Tamura, N. M. Villegas, T. Vogel, and F. Zambonelli, “Software Engineering for Self-adaptive Systems: Research Challenges in the Provision of Assurances,” in Software Engineering for Self-Adaptive Systems III, R. de Lemos, D. Garlan, C. Ghezzi, and H. Giese, Eds., Springer, 2017, vol. 9640, pp. 3-30.
    [BibTeX]
    @incollection{SEFSAS3:2017:challenges-assurances,
    author = {de Lemos, Rog\'{e}rio and Garlan, David and Ghezzi,
    Carlo and Giese, Holger and Andersson, Jesper and Litoiu, Marin
    and Schmerl, Bradley and Weyns, Danny and Baresi, Luciano and
    Bencomo, Nelly and Brun, Yuriy and Camara, Javier and Calinescu,
    Radu and Cohen, Myra B. and Gorla, Alessandra and Grassi,
    Vincenzo and Grunske, Lars and Inverardi, Paola and Jezequel,
    Jean-Marc and Malek, Sam and Mirandola, Raffaela and Mori, Marco
    and M{\"u}ller, Hausi A. and Rouvoy, Romain and Rubira, Cecilia
    M. F. and Rutten, Eric and Shaw, Mary and Tamburrelli, Giordano
    and Tamura, Gabriel and Villegas, Norha M. and Vogel, Thomas and
    Zambonelli, Franco},
    title = {{Software Engineering for Self-adaptive Systems:
    Research Challenges in the Provision of Assurances}},
    booktitle = {{Software Engineering for Self-Adaptive Systems III}},
    pages = {3--30},
    volume = {9640},
    editor = {de Lemos, Rog\'{e}rio and Garlan, David and Ghezzi,
    Carlo and Giese, Holger},
    series = {Lecture Notes in Computer Science (LNCS)},
    publisher = {Springer},
    isbn = {978-3-319-74182-6},
    issn = {0302-9743},
    year = {2017}
    }

2013

  • R. de Lemos, H. Giese, H. A. Müller, M. Shaw, J. Andersson, L. Baresi, B. Becker, N. Bencomo, Y. Brun, B. Cukic, R. Desmarais, S. Dustdar, G. Engels, K. Geihs, K. M. Goeschka, A. Gorla, V. Grassi, P. Inverardi, G. Karsai, J. Kramer, M. Litoiu, A. Lopes, J. Magee, S. Malek, S. Mankovskii, R. Mirandola, J. Mylopoulos, O. Nierstrasz, M. Pezzè, C. Prehofer, W. Schäfer, R. Schlichting, B. Schmerl, D. B. Smith, J. P. Sousa, G. Tamura, L. Tahvildari, N. M. Villegas, T. Vogel, D. Weyns, K. Wong, and J. Wuttke, “Software Engineering for Self-Adaptive Systems: A Second Research Roadmap,” in Software Engineering for Self-Adaptive Systems II, R. de Lemos, H. Giese, H. Müller, and M. Shaw, Eds., Springer, 2013, vol. 7475, pp. 1-32.
    [BibTeX] [Abstract] [Download PDF]

    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.

    @incollection{delemos-et-al:2013:software-engineering-for-sas-roadmap-2,
    author ={
    Rog\'{e}rio de Lemos and Holger Giese and Hausi A. M\"{u}ller and Mary Shaw and Jesper Andersson and Luciano Baresi and Basil Becker and Nelly Bencomo and Yuriy Brun and Bojan Cukic and Ron Desmarais and Schahram Dustdar and Gregor Engels and Kurt Geihs and Karl M. Goeschka and Alessandra Gorla and Vincenzo Grassi and Paola Inverardi and Gabor Karsai and Jeff Kramer and Marin Litoiu and Antonia Lopes and Jeff Magee and Sam Malek and Serge Mankovskii and Raffaela Mirandola and John Mylopoulos and Oscar Nierstrasz and Mauro Pezz\`{e} and Christian Prehofer and Wilhelm Sch\"{a}fer and Rick Schlichting and Bradley Schmerl and Dennis B. Smith and Jo{\~a}o P. Sousa and Gabriel Tamura and Ladan Tahvildari and Norha M. Villegas and Thomas Vogel and Danny Weyns and Kenny Wong and Jochen Wuttke},
    title ={{Software Engineering for Self-Adaptive Systems: A Second Research Roadmap}},
    booktitle ={{Software Engineering for Self-Adaptive Systems II}},
    pages = {1--32},
    year ={2013},
    editor ={Rog{\'e}rio de Lemos and Holger Giese and Hausi M{\"u}ller and Mary Shaw},
    series ={LNCS},
    volume = {7475},
    publisher ={Springer},
    isbn = {978-3-642-35813-5},
    issn = {0302-9743},
    url={http://link.springer.com/chapter/10.1007%2F978-3-642-35813-5_1},
    abstract={
    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.
    },
    keywords ={Software engineering for self-adaptive systems, design spaces, verification and validation, processes, decentralization}
    }

  • G. Tamura, N. M. Villegas, H. Müller, J. P. Sousa, Basil Becker, M. Pezzè, G. Karsai, S. Mankovskii, W. Schäfer, Ladan Tahvildari, and K. Wong, “Towards Practical Runtime Verification and Validation of Self-Adaptive Software Systems,” in Software Engineering for Self-Adaptive Systems II, Springer, 2013, vol. 7475, pp. 108-132.
    [BibTeX] [Abstract]

    Software validation and verification (V&V) ensures that software products satisfy user requirements and meet their expected quality attributes throughout their lifecycle. While high levels of adaptation and autonomy provide new ways for software systems to operate in highly dynamic environments, developing certifiable V&V methods for guaranteeing the achievement of self-adaptive software goals is one of the major challenges facing the entire research field. In this chapter we (i) analyze fundamental challenges and concerns for the development of V&V methods and techniques that provide certifiable trust in self-adaptive and self-managing systems; 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.

    @InCollection{tamura-et-al:2013:Towards-Practical-Runtime-VV-SAS,
    author ={Gabriel Tamura and Norha M. Villegas and Hausi
    A. M{\"{u}}ller and Jo{\~a}o P. Sousa and Basil
    Becker and Mauro Pezz{\`e} and Gabor Karsai and
    Serge Mankovskii and Wilhelm Sch{\"a}fer and Ladan
    Tahvildari and Kenny Wong},
    title ={{Towards Practical Runtime Verification and
    Validation of Self-Adaptive Software Systems}},
    booktitle ={{Software Engineering for Self-Adaptive Systems II}},
    pages = {108--132},
    year ={2013},
    series ={LNCS},
    volume = {7475},
    isbn = {978-3-642-35813-5},
    issn = {0302-9743},
    publisher = {Springer},
    pdf={http://hal.inria.fr/hal-00709943/PDF/run-time-vv.pdf},
    abstract={
    Software validation and verification (V&V) ensures that software products satisfy user requirements and meet their expected quality attributes throughout their lifecycle. While high levels of adaptation and autonomy provide new ways for software systems to operate in highly dynamic environments, developing certifiable V&V methods for guaranteeing the achievement of self-adaptive software goals is one of the major challenges facing the entire research field. In this chapter we (i) analyze fundamental challenges and concerns for the development of V&V methods and techniques that provide certifiable trust in self-adaptive and self-managing systems; 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.
    },
    keywords ={Software engineering for self-adaptive systems,
    self-adaptive software reference model}
    }

  • N. M. Villegas, G. Tamura, H. A. Müller, L. Duchien, and R. Casallas, “DYNAMICO: A Reference Model for Governing Control Objectives and Context Relevance in Self-Adaptive Software Systems,” in Software Engineering for Self-Adaptive Systems II, Springer, 2013, vol. 7475, pp. 265-293.
    [BibTeX] [Abstract] [Download PDF]

    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.

    @incollection{villegas-et-al:2013:DYNAMICO-A-Reference-Model-for-SAS,
    author ={Norha M. Villegas and Gabriel Tamura and Hausi A. M{\"u}ller and Laurence Duchien and Rubby Casallas},
    title ={{DYNAMICO: A Reference Model for Governing Control Objectives and
    Context Relevance in Self-Adaptive Software Systems}},
    booktitle ={{Software Engineering for Self-Adaptive Systems II}},
    pages = {265--293},
    year ={2013},
    series ={LNCS},
    volume = {7475},
    isbn = {978-3-642-35813-5},
    issn = {0302-9743},
    publisher = {Springer},
    keywords ={Software engineering for self-adaptive systems,
    self-adaptive software reference model},
    url={http://link.springer.com/chapter/10.1007/978-3-642-35813-5_11},
    abstract={
    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.
    }
    }

  • N. M. Villegas and H. A. Müller, “The smartercontext ontology and its application to the smart internet: a smarter commerce case study,” in The personal web, Springer, 2013, pp. 151-184.
    [BibTeX] [Abstract] [Download PDF]

    In the smart internet interactions must be situation-aware and smart. That is, they must be realized with awareness of, and adaptation to users’ individual and collective context situations. Therefore, context management is crucial to deliver contents and services that are relevant to the user’s matters of concern. This paper presents the SmarterContext ontology, our semantic web approach to context representation and reasoning applicable to user-centric domains of the smart internet. We illustrate the application of the SmarterContext ontology using a personal web case study based on IBM’s smarter commerce initiative. This case study demonstrates how our ontology supports context representation and reasoning to improve the relevance of retailer offers with respect to shopper situations. Our ontology is the core of the SmarterContext infrastructure, our context management solution that exploits user web interactions as sources of meaningful personal context information, and empowers users to control context gathering and provisioning.

    @incollection{villegas2013smartercontext,
    title={The smartercontext ontology and its application to the smart internet: A smarter commerce case study},
    author={Villegas, Norha M and M{\"u}ller, Hausi A},
    booktitle={The Personal Web},
    pages={151--184},
    year={2013},
    publisher={Springer},
    url={http://link.springer.com/chapter/10.1007/978-3-642-39995-4_8},
    abstract={
    In the smart internet interactions must be situation-aware and smart. That is, they must be realized with awareness of, and adaptation to users’ individual and collective context situations. Therefore, context management is crucial to deliver contents and services that are relevant to the user’s matters of concern. This paper presents the SmarterContext ontology, our semantic web approach to context representation and reasoning applicable to user-centric domains of the smart internet. We illustrate the application of the SmarterContext ontology using a personal web case study based on IBM’s smarter commerce initiative. This case study demonstrates how our ontology supports context representation and reasoning to improve the relevance of retailer offers with respect to shopper situations. Our ontology is the core of the SmarterContext infrastructure, our context management solution that exploits user web interactions as sources of meaningful personal context information, and empowers users to control context gathering and provisioning.
    }
    }

2011

  • G. Tamura, R. Casallas, A. Cleve, and L. Duchien, “QoS Contract-Aware Reconfiguration of Component Architectures Using E-Graphs,” in Formal Aspects of Component Software (FACS), Springer, 2011, vol. 6921, pp. 34-52.
    [BibTeX] [Abstract] [Download PDF]

    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.

    @incollection{tamura-et-al:2011:contract-aware-reconfiguration-of-sw-arch-egraphs,
    author = {G. Tamura and R. Casallas and A. Cleve and L. Duchien},
    title = {{QoS Contract-Aware Reconfiguration of Component Architectures Using E-Graphs}},
    pages = {34--52},
    booktitle = {{Formal Aspects of Component Software (FACS)}},
    volume = {6921},
    series = {LNCS},
    publisher = {Springer},
    issn = {0302-9743},
    url = {http://hal.archives-ouvertes.fr/docs/00/52/54/38/PDF/contract-aware-architecture-reconfiguration-preproceedings.pdf},
    abstract={
    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.
    },
    year = {2011}
    }

2010

  • N. M. Villegas and H. A. Müller, “Managing dynamic context to optimize smart interactions and services,” in The smart internet, Springer, 2010, pp. 289-318.
    [BibTeX] [Abstract] [Download PDF]

    With the rapid growth of socio-technical ecosystems, smart interactions and services are permeating every walk of life. As smart interactions must managed automatically and interactively in response to evolving user’s matters of concern, the smart Internet requires creative approaches where services and interactions are implemented with awareness of, and dynamic adaptation to, users, computational environments, changing policies and unknown requirements. Consequently, modeling and managing dynamic context is critical for implementing smart services and smart interactions effectively. Thus, smart interactions need infrastructure to acquire, compose, and distribute context information to multiple execution endpoints. Moreover, context management must be controlled and governed to optimize system properties. This chapter surveys context modeling and management approaches intended for the optimization of smart interactions and services, discusses the main challenges and requirements of context-awareness in the smart Internet, and provides a feature-based framework useful for the evaluation and implementation of context modeling and management mechanisms.

    @incollection{villegas2010managing,
    title={Managing dynamic context to optimize smart interactions and services},
    author={Villegas, Norha M and M{\"u}ller, Hausi A},
    booktitle={The smart internet},
    pages={289--318},
    year={2010},
    publisher={Springer},
    url={http://link.springer.com/chapter/10.1007/978-3-642-16599-3_18},
    abstract={
    With the rapid growth of socio-technical ecosystems, smart interactions and services are permeating every walk of life. As smart interactions must managed automatically and interactively in response to evolving user’s matters of concern, the smart Internet requires creative approaches where services and interactions are implemented with awareness of, and dynamic adaptation to, users, computational environments, changing policies and unknown requirements. Consequently, modeling and managing dynamic context is critical for implementing smart services and smart interactions effectively. Thus, smart interactions need infrastructure to acquire, compose, and distribute context information to multiple execution endpoints. Moreover, context management must be controlled and governed to optimize system properties. This chapter surveys context modeling and management approaches intended for the optimization of smart interactions and services, discusses the main challenges and requirements of context-awareness in the smart Internet, and provides a feature-based framework useful for the evaluation and implementation of context modeling and management mechanisms.
    }
    }

International Journals

2017

  • N. M. Villegas, C. Sánchez, J. Díaz-Cely, and G. Tamura, “Characterizing Context-Aware Recommender Systems: A Systematic Literature Review,” Knowledge-based systems, vol. 140, pp. 173-200, 2017. doi:https://doi.org/10.1016/j.knosys.2017.11.003
    [BibTeX] [Download PDF]
    @article{villegas-et-al:2017:Characterizing-context-aware-recommender,
    title = {{Characterizing Context-Aware Recommender Systems: A Systematic Literature Review}},
    journal = {Knowledge-Based Systems},
    volume = {140},
    pages = {173 -- 200},
    year = "2017",
    issn = "0950-7051",
    doi = "https://doi.org/10.1016/j.knosys.2017.11.003",
    url = "http://www.sciencedirect.com/science/article/pii/S0950705117305075",
    author = {Norha M. Villegas and Cristian S{\'a}nchez and Javier D{\'i}az-Cely and Gabriel Tamura},
    publisher = "Elsevier",
    keywords = {Recommender systems, Context-aware recommender systems, Pre-filtering, Post-filtering, Context modeling, Recommender systems evaluation}
    }

2015

  • J. C. Muñoz-Fernández, G. Tamura, R. Mazo, and C. Salinesi, “Towards a Requirements Specification Multi-View Framework for Self-Adaptive Systems,” CLEI Electronic Journal, vol. 18, iss. 2, pp. 1-26, 2015.
    [BibTeX] [Abstract]

    The analysis of self-adaptive systems (SAS) requirements involves addressing uncertainty from several sources. Despite advances in requirements for SAS, uncertainty remains an extremely difficult challenge to overcome. In this paper, we propose REFAS, a framework to model the requirements of self-adaptive software systems. Our aim with REFAS is to address and reduce uncertainty and to provide a language with sufficient power of expression to specify the different aspects of self-adaptive systems, relative to functional and non-functional requirements. The REFAS modeling language includes concepts closely related to these kind of requirements and their fulfillment, such as context variables, claims, and soft dependencies. Specifically, the paper’s contribution is twofold. First, REFAS supports different viewpoints and concerns related to requirements modeling, with key associations between them. Moreover, the modeler can define additional models and views by exploiting the REFAS meta-modeling capability, in order to capture additional aspects contributing to reduce uncertainty. Second, REFAS promotes in-depth analysis of all of the modeled concerns with aggregation and association capabilities, especially with context variables. Furthermore, we also define a process that enforces modeling requirements, considering different aspects of uncertainty. We demonstrate the applicability of REFAS by using the VariaMos software tool, which implements the REFAS meta-model, views, and process.

    @article{Munoz-et-al:2015:RequirementsSpec-CLEI-ej,
    title = {{Towards a Requirements Specification Multi-View Framework for Self-Adaptive Systems}},
    author = {Juan C. Mu{\~n}oz-Fern{\'a}ndez and Gabriel Tamura and Ra{\'u}l Mazo and Camille Salinesi},
    journal = {{CLEI Electronic Journal}},
    abstract = {The analysis of self-adaptive systems (SAS) requirements involves addressing uncertainty from several sources. Despite advances in requirements for SAS, uncertainty remains an extremely difficult challenge to overcome. In this paper, we propose REFAS, a framework to model the requirements of self-adaptive software systems. Our aim with REFAS is to address and reduce uncertainty and to provide a language with sufficient power of expression to specify the different aspects of self-adaptive systems, relative to functional and non-functional requirements. The REFAS modeling language includes concepts closely related to these kind of requirements and their fulfillment, such as context variables, claims, and soft dependencies. Specifically, the paper’s contribution is twofold. First, REFAS supports different viewpoints and concerns related to requirements modeling, with key associations between them. Moreover, the modeler can define additional models and views by exploiting the REFAS meta-modeling capability, in order to capture additional aspects contributing to reduce uncertainty. Second, REFAS promotes in-depth analysis of all of the modeled concerns with aggregation and association capabilities, especially with context variables. Furthermore, we also define a process that enforces modeling requirements, considering different aspects of uncertainty. We demonstrate the applicability of REFAS by using the VariaMos software tool, which implements the REFAS meta-model, views, and process.},
    volume = "18",
    number = "2",
    pages = "1--26",
    year = "2015",
    issn = {0717-5000},
    publisher = {{IEEE}}
    }

2014

  • G. Tamura, R. Casallas, A. Cleve, and L. Duchien, “QoS Contract Preservation through Dynamic Reconfiguration: A Formal Semantics Approach,” Science of computer programming (scp), vol. 94, iss. 3, pp. 307-332, 2014. doi:http://dx.doi.org/10.1016/j.scico.2013.12.003
    [BibTeX] [Abstract] [Download PDF]

    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.

    @article{tamura-et-al:2014:QoS-Contract-Preservation-Formal-Semantics,
    title = {{QoS Contract Preservation through Dynamic Reconfiguration: A Formal Semantics Approach}},
    author = "Gabriel Tamura and Rubby Casallas and Anthony Cleve
    and Laurence Duchien",
    journal = "Science of Computer Programming (SCP)",
    volume = "94",
    number = "3",
    pages = "307--332",
    year = "2014",
    issn = "0167-6423",
    doi = "http://dx.doi.org/10.1016/j.scico.2013.12.003",
    url = "http://www.sciencedirect.com/science/article/pii/S0167642313003390",
    abstract={
    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.
    }
    }

2001

  • C. Rueda, G. Alvarez, L. Quesada, G. Tamura, F. D. Valencia, J. F. Díaz, and G. Assayag, “Integrating Constraints and Concurrent Objects in Musical Applications: A Calculus and its Visual Language,” Constraints, vol. 6, iss. 1, pp. 21-52, 2001.
    [BibTeX] [Abstract] [Download PDF]

    We propose PiCO, a calculus integrating concurrent objects and constraints, as a base for music composition tools. In contrast with calculi such as NiehrenMueller:Free, milner.parrow.ea:calculus-mobile or TyCO vasconcelos:typed-concurrent, both constraints and objects are primitive notions in PiCO. In PiCO a base object model is extended with constraints by orthogonally adding the notion of constraint system found in the -calculus OzCalculus. Concurrent processes make use of a constraint store to synchronize communications either via the ask and tell operations of the constraint model or the standard message-passing mechanism of the object model. A message delegation mechanism built into the calculus allows encoding of general forms of inheritance. This paper includes encodings in PiCO of the concepts of class and sub-class. These allow us to represent complex partially defined objects such as musical structures in a compact way. We illustrate the transparent interaction of constraints and objects by a musical example involving harmonic and temporal relations. The relationship between Cordial, a visual language for music composition applications, and its underlying model PiCO is described.

    @article{DBLP:journals/constraints/RuedaAQTVDA01,
    author = {Camilo Rueda and
    Gloria Alvarez and
    Luis Quesada and
    Gabriel Tamura and
    Frank D. Valencia and
    Juan Francisco D\'{i}az and
    G{\'e}rard Assayag},
    title = {{Integrating Constraints and Concurrent Objects in Musical
    Applications: A Calculus and its Visual Language}},
    journal = {{Constraints}},
    pages = {21-52},
    volume = {6},
    number = {1},
    year = {2001},
    publisher={Springer},
    url={http://link.springer.com/article/10.1023/A:1009849309451},
    bibsource = {DBLP, http://dblp.uni-trier.de},
    abstract={
    We propose PiCO, a calculus integrating concurrent objects and constraints, as a base for music composition tools. In contrast with calculi such as NiehrenMueller:Free, milner.parrow.ea:calculus-mobile or TyCO vasconcelos:typed-concurrent, both constraints and objects are primitive notions in PiCO. In PiCO a base object model is extended with constraints by orthogonally adding the notion of constraint system found in the -calculus OzCalculus. Concurrent processes make use of a constraint store to synchronize communications either via the ask and tell operations of the constraint model or the standard message-passing mechanism of the object model. A message delegation mechanism built into the calculus allows encoding of general forms of inheritance. This paper includes encodings in PiCO of the concepts of class and sub-class. These allow us to represent complex partially defined objects such as musical structures in a compact way. We illustrate the transparent interaction of constraints and objects by a musical example involving harmonic and temporal relations. The relationship between Cordial, a visual language for music composition applications, and its underlying model PiCO is described.
    }
    }

  • A. A. Buss, M. Heredia, and G. Tamura, “MAPiCO: An Abstract Machine for the PiCO Calculus.”
    [BibTeX] [Abstract]

    This paper presents a description of the design and implementation of an abstract machine for the PiCO calculus. The aim of this calculus is to integrate the object-oriented, concurrent and constraint programming paradigms, to provide a sound basis for high-level programming languages presenting characteristics of these paradigms. A set of simple transition rules is used to specify the machine operation. These rules are adapted from the transition rules of PiCO and require some supporting structures. A general protocol is built into the abstract machine, that allows interaction with implementations of different constraint systems. MAPiCO is implemented in Java and provides a target machine for the compilation of programs written in Cordial [QRT97], a visual language integrating concurrent objects and constraints.

    @article{bussmapico,
    title={{MAPiCO: An Abstract Machine for the PiCO Calculus}},
    author={Buss, Antal A and Heredia, Mauricio and Tamura, Gabriel},
    pdf={http://www.researchgate.net/publication/229121887_MAPiCO_An_Abstract_Machine_for_the_PiCO_Calculus/file/d912f50057acdd7ce4.pdf},
    abstract={
    This paper presents a description of the design and implementation of an abstract machine for the PiCO calculus.
    The aim of this calculus is to integrate the object-oriented, concurrent and constraint programming paradigms, to provide a sound basis for high-level programming languages presenting characteristics of these paradigms.
    A set of simple transition rules is used to specify the machine operation. These rules are adapted from the transition rules of PiCO and require some supporting structures.
    A general protocol is built into the abstract machine, that allows interaction with implementations of different constraint systems.
    MAPiCO is implemented in Java and provides a target machine for the compilation of programs written in Cordial [QRT97], a visual language integrating concurrent objects and constraints.
    }
    }

Peer-Reviewed International Conferences, Symposia and Workshops

2015

  • J. C. Muñoz-Fernández, G. Tamura, R. Irina, R. Mazo, and C. Salinesi, “REFAS: A PLE Approach for Simulation of Self-Adaptive Systems Requirements,” in 19th international software product line conference (splc), 2015, pp. 121-125.
    [BibTeX]
    @inproceedings{Munoz-et-al:2015:refas-splc,
    author = {Juan C. Mu{\~n}oz-Fern{\'a}ndez and Gabriel Tamura and Raicu Irina and Ra{\'u}l Mazo and Camille Salinesi},
    title = {{REFAS: A PLE Approach for Simulation of Self-Adaptive Systems Requirements}},
    booktitle = {19th International Software Product Line Conference (SPLC)},
    isbn = {978-1-4503-3613-0},
    pages = {121--125},
    year = {2015},
    publisher = {{ACM}}
    }

  • R. Mazo, J. C. Muñoz-Fernández, L. Rincón, C. Salinesi, and G. Tamura, “VariaMos: an Extensible Tool for Engineering (dynamic) Product Lines,” in 19th international software product line conference (splc), 2015, pp. 374-379.
    [BibTeX]
    @inproceedings{Munoz-et-al:2015:variamos-splc,
    author = {Ra{\'u}l Mazo and Juan C. Mu{\~n}oz-Fern{\'a}ndez and Luisa Rinc{\'o}n and Camille Salinesi and Gabriel Tamura},
    title = {{VariaMos: an Extensible Tool for Engineering (dynamic) Product Lines}},
    booktitle = {19th International Software Product Line Conference (SPLC)},
    isbn = {978-1-4503-3613-0},
    pages = {374--379},
    note = {To appear},
    year = {2015},
    publisher = {{ACM}}
    }

2014

  • J. C. Muñoz-Fernández, G. Tamura, R. Mazo, and C. Salinesi, “Towards a requirements specification multi-view framework for self-adaptive systems,” in 2014 XL latin american computing conference (clei), 2014, pp. 1-14.
    [BibTeX] [Abstract]

    The research on requirements specification for self-adaptive systems has a growing interest in the academy and the industry. As a result, currently there exists different proposals for the specification of requirements for self-adaptive systems. Despite the momentum that this area has received in recent years, in the works reported in the literature we have identified shortcomings. We propose a new framework to represent the requirements of self-adaptive systems. This framework seeks to manage uncertainty and to be sufficiently expressive for self-adaptive systems, including the representation of all the relevant concepts. The concepts, represented in different views to be used in a 5-stage process. Specifically, we present: (i) a discussion of the challenges and problems encountered in the literature; (ii); our proposal to solve these challenges; and (iii) a case study of the problem and its application.

    @inproceedings{Munoz-et-al:2014:RequirementsSpec-CLEI,
    author = {Juan C. Mu{\~n}oz-Fern{\'a}ndez and Gabriel Tamura and Ra{\'u}l Mazo and Camille Salinesi},
    title = {Towards a Requirements Specification Multi-View Framework for Self-Adaptive Systems},
    booktitle = {2014 {XL} Latin American Computing Conference (CLEI)},
    issn = {0717-5000},
    pages = {1--14},
    year = {2014},
    publisher = {{IEEE}},
    abstract={
    The research on requirements specification for self-adaptive systems has a growing interest in the academy and the industry. As a result, currently there exists different proposals for the specification of requirements for self-adaptive systems. Despite the momentum that this area has received in recent years, in the works reported in the literature we have identified shortcomings. We propose a new framework to represent the requirements of self-adaptive systems. This framework seeks to manage uncertainty and to be sufficiently expressive for self-adaptive systems, including the representation of all the relevant concepts. The concepts, represented in different views to be used in a 5-stage process. Specifically, we present: (i) a discussion of the challenges and problems encountered in the literature; (ii); our proposal to solve these challenges; and (iii) a case study of the problem and its application.
    }
    }

  • M. A. Jiménez, A. Villotta Gomez, M. Villegas Norha, G. Tamura, and L. Duchien, “A Framework for Automated and Composable Testing of Component-based Services,” in Maintenance and Evolution of Service-Oriented Systems and Cloud-Based Environments, Victoria BC, Canada, 2014.
    [BibTeX] [Abstract] [Download PDF]

    {The vision of service-oriented computing has been largely developed on the fundamental principle of building systems by composing and orchestrating services in their flow of control. Therefore, software development is nowadays notably influenced by service-oriented architectures (SOAs), in which the quality of software systems is determined by the quality of the involved services and their actual composition. Despite the efforts on improving their individual quality, adding or replacing services in an evolving system can introduce failures, thus compromising the satisfaction of the system’s functional and extra-functional requirements, which is translated as a lack of trust in the SOA vision. Thus, a key issue for the industrial adoption of SOA is providing service providers, integrators, and consumers the means to build confidence that services behave according to the contracted quality conditions. In this paper we present a first version of PASCANI, a framework for specifying and executing automated, composable, and traceable test specifications for service-oriented systems. From a test specification, PASCANI generates a configuration of testing services compliant with the Service Component Architecture (SCA) specification, that can be composed to integrate different testing strategies, being their tests traceable in an automated way. Our evaluation results show the applicability of the framework and a substantial gain in the tester’s effort for developing tests.}

    @inproceedings{jimenez:hal-01055906,
    hal_id = {hal-01055906},
    url = {http://hal.inria.fr/hal-01055906},
    title = {{A Framework for Automated and Composable Testing of Component-based Services}},
    author = {Jim{\'e}nez, Miguel A. and Villotta Gomez, Angela and Villegas, Norha, M. and Tamura, Gabriel and Duchien, Laurence},
    abstract = {{The vision of service-oriented computing has been largely developed on the fundamental principle of building systems by composing and orchestrating services in their flow of control. Therefore, software development is nowadays notably influenced by service-oriented architectures (SOAs), in which the quality of software systems is determined by the quality of the involved services and their actual composition. Despite the efforts on improving their individual quality, adding or replacing services in an evolving system can introduce failures, thus compromising the satisfaction of the system's functional and extra-functional requirements, which is translated as a lack of trust in the SOA vision. Thus, a key issue for the industrial adoption of SOA is providing service providers, integrators, and consumers the means to build confidence that services behave according to the contracted quality conditions. In this paper we present a first version of PASCANI, a framework for specifying and executing automated, composable, and traceable test specifications for service-oriented systems. From a test specification, PASCANI generates a configuration of testing services compliant with the Service Component Architecture (SCA) specification, that can be composed to integrate different testing strategies, being their tests traceable in an automated way. Our evaluation results show the applicability of the framework and a substantial gain in the tester's effort for developing tests.}},
    language = {Anglais},
    affiliation = {Department of Information and Communications Technologies , Universit{\'e} Lille 1 - Sciences et technologies , SPIRALS - INRIA Lille - Nord Europe},
    booktitle = {{Maintenance and Evolution of Service-Oriented Systems and Cloud-Based Environments}},
    publisher = {IEEE Computer Society},
    address = {Victoria BC, Canada},
    audience = {internationale },
    year = {2014},
    month = Aug,
    pdf = {http://hal.inria.fr/hal-01055906/PDF/MESOCA-Pascani-2014.pdf},
    }

  • L. Castaneda, N. M. Villegas, and H. A. Muller, “Personalized web-tasking applications: an online grocery shopping prototype,” in Services (services), 2014 ieee world congress on, 2014, pp. 24-29.
    [BibTeX] [Abstract] [Download PDF]

    Users utilize web applications to perform everyday tasks in order to achieve personal goals. Personalized Web-Tasking (PWT) is the automation of such web interactions while exploiting personal context to enrich users experience. However, web-tasking is affected by unpredictable context behaviour — environment, user, and infrastructure — and situational changes. Given that current web systems are challenged to respond effectively to such changes, we proposed to design PWT applications as self-adaptive software systems that exploit personal context to deliver user-centric functionalities. This paper presents our first approach implementing PWT applications using a grocery shopping web-tasking scenario. Our prototype PWT system transforms web-tasking knowledge information (i.e., user’s web interactions) into RDF graphs (i.e., runtime models that contain the user’s web-tasking). We conclude our paper with a discussion about our results and implementation challenges.

    @inproceedings{castaneda2014personalized,
    title={Personalized Web-Tasking Applications: An Online Grocery Shopping Prototype},
    author={Castaneda, Lorena and Villegas, Norha M and Muller, Hausi A},
    booktitle={Services (SERVICES), 2014 IEEE World Congress on},
    pages={24--29},
    year={2014},
    organization={IEEE},
    url={http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6903239},
    abstract={
    Users utilize web applications to perform everyday tasks in order to achieve personal goals. Personalized Web-Tasking (PWT) is the automation of such web interactions while exploiting personal context to enrich users experience. However, web-tasking is affected by unpredictable context behaviour -- environment, user, and infrastructure -- and situational changes. Given that current web systems are challenged to respond effectively to such changes, we proposed to design PWT applications as self-adaptive software systems that exploit personal context to deliver user-centric functionalities. This paper presents our first approach implementing PWT applications using a grocery shopping web-tasking scenario. Our prototype PWT system transforms web-tasking knowledge information (i.e., user's web interactions) into RDF graphs (i.e., runtime models that contain the user's web-tasking). We conclude our paper with a discussion about our results and implementation challenges.
    }
    }

  • L. Castañeda, N. M. Villegas, and H. A. Müller, “Self-adaptive applications: on the development of personalized web-tasking systems,” in Proceedings of the 9th international symposium on software engineering for adaptive and self-managing systems, 2014, pp. 49-54.
    [BibTeX] [Abstract] [Download PDF]

    Personalized Web-Tasking (PWT) proposes the automation of user-centric and repetitive web interactions to assist users in the fulfilment of personal goals using internet systems. In PWT, both personal goals and internet systems are affected by unpredictable changes in user preferences, situations, system infrastructures and environments. Therefore, self-adaptation enhanced with dynamic context monitoring is required to guarantee the effectiveness of PWT systems that, despite context uncertainty, must guarantee the accomplishment of personal goals and deliver pleasant user experiences. This position paper describes our approach to the development of PWT systems, which relies on self-adaptation and its enabling technologies. In particular, it presents our runtime modelling approach that is comprised of our PWT Ontology and Goal-oriented Context-sensitive web-tasking (GCT) models, and the way we exploit previous SEAMS contributions developed in our research group, the DYNAMICO reference model and the SmarterContext Monitoring Infrastructure and Reasoning Engine. The main goal of this paper is to demonstrate how the most crucial challenges in the engineering of PWT systems can be addressed by implementing them as self-adaptive software.

    @inproceedings{castaneda2014self,
    title={Self-adaptive applications: on the development of personalized web-tasking systems},
    author={Casta{\~n}eda, Lorena and Villegas, Norha M and M{\"u}ller, Hausi A},
    booktitle={Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems},
    pages={49--54},
    year={2014},
    organization={ACM},
    url={http://dl.acm.org/citation.cfm?id=2593942},
    abstract={
    Personalized Web-Tasking (PWT) proposes the automation of user-centric and repetitive web interactions to assist users in the fulfilment of personal goals using internet systems. In PWT, both personal goals and internet systems are affected by unpredictable changes in user preferences, situations, system infrastructures and environments. Therefore, self-adaptation enhanced with dynamic context monitoring is required to guarantee the effectiveness of PWT systems that, despite context uncertainty, must guarantee the accomplishment of personal goals and deliver pleasant user experiences. This position paper describes our approach to the development of PWT systems, which relies on self-adaptation and its enabling technologies. In particular, it presents our runtime modelling approach that is comprised of our PWT Ontology and Goal-oriented Context-sensitive web-tasking (GCT) models, and the way we exploit previous SEAMS contributions developed in our research group, the DYNAMICO reference model and the SmarterContext Monitoring Infrastructure and Reasoning Engine. The main goal of this paper is to demonstrate how the most crucial challenges in the engineering of PWT systems can be addressed by implementing them as self-adaptive software.
    }
    }

2013

  • R. de Lemos, H. Giese, H. A. Müller, M. Shaw, J. Andersson, L. Baresi, B. Becker, N. Bencomo, Y. Brun, B. Cukic, R. Desmarais, S. Dustdar, G. Engels, K. Geihs, K. M. Goeschka, A. Gorla, V. Grassi, P. Inverardi, G. Karsai, J. Kramer, M. Litoiu, A. Lopes, J. Magee, S. Malek, S. Mankovskii, R. Mirandola, J. Mylopoulos, O. Nierstrasz, M. Pezzè, C. Prehofer, W. Schäfer, R. Schlichting, B. Schmerl, D. B. Smith, J. P. Sousa, G. Tamura, L. Tahvildari, N. M. Villegas, T. Vogel, D. Weyns, K. Wong, and J. Wuttke, “Software Engineering for Self-Adaptive Systems: A Second Research Roadmap,” in Software engineering for self-adaptive systems 2, 2013, pp. 1-32.
    [BibTeX] [Abstract]

    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.

    @InProceedings{delemos-et-al:2013:software-engineering-for-sas-roadmap-2,
    author ={
    Rog\'{e}rio de Lemos and Holger Giese and Hausi A. M\"{u}ller and Mary Shaw and Jesper Andersson and Luciano Baresi and Basil Becker and Nelly Bencomo and Yuriy Brun and Bojan Cukic and Ron Desmarais and Schahram Dustdar and Gregor Engels and Kurt Geihs and Karl M. Goeschka and Alessandra Gorla and Vincenzo Grassi and Paola Inverardi and Gabor Karsai and Jeff Kramer and Marin Litoiu and Antonia Lopes and Jeff Magee and Sam Malek and Serge Mankovskii and Raffaela Mirandola and John Mylopoulos and Oscar Nierstrasz and Mauro Pezz\`{e} and Christian Prehofer and Wilhelm Sch\"{a}fer and Rick Schlichting and Bradley Schmerl and Dennis B. Smith and Jo{\~a}o P. Sousa and Gabriel Tamura and Ladan Tahvildari and Norha M. Villegas and Thomas Vogel and Danny Weyns and Kenny Wong and Jochen Wuttke},
    title ={{Software Engineering for Self-Adaptive Systems: A Second Research Roadmap}},
    booktitle ={Software Engineering for Self-Adaptive Systems 2},
    pages = {1--32},
    year ={2013},
    editor ={Rog{\'e}rio de Lemos and Holger Giese and Hausi M{\"u}ller and Mary Shaw},
    series ={LNCS},
    volume = {7475},
    publisher ={Springer},
    keywords ={Software engineering for self-adaptive systems, design spaces, verification and validation, processes, decentralization},
    abstract={
    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.
    }
    }

  • G. Tamura, N. M. Villegas, H. A. Müller, L. Duchien, and L. Seinturier, “Improving context-awareness in self-adaptation using the dynamico reference model,” in Procs. of 8th intl. symposium on software engineering for adaptive and self-managing systems, Piscataway, NJ, USA, 2013, pp. 153-162.
    [BibTeX] [Abstract] [Download PDF]

    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.

    @inproceedings{Tamura-et-al:2013:Improving-context-awareness-with-DYNAMICO,
    author = {Tamura, Gabriel and Villegas, Norha M. and M\"{u}ller, Hausi A. and Duchien, Laurence and Seinturier, Lionel},
    title = {Improving Context-Awareness in Self-Adaptation Using the DYNAMICO Reference Model},
    booktitle = {Procs. of 8th Intl. Symposium on Software Engineering for Adaptive and Self-Managing Systems},
    series = {SEAMS '13},
    year = {2013},
    isbn = {978-1-4673-4401-2},
    location = {San Francisco, CA, USA},
    pages = {153--162},
    numpages = {10},
    url = {http://dl.acm.org/citation.cfm?id=2487336.2487361},
    acmid = {2487361},
    publisher = {IEEE Press},
    address = {Piscataway, NJ, USA},
    abstract={
    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.
    }
    }

  • N. M. Villegas, G. Tamura, H. A. Müller, L. Duchien, and R. Casallas, “DYNAMICO: A Reference Model for Governing Control Objectives and Context Relevance in Self-Adaptive Software Systems,” in Software engineering for self-adaptive systems 2, 2013, pp. 265-293.
    [BibTeX] [Abstract]

    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.

    @InProceedings{villegas-et-al:2013:DYNAMICO-A-Reference-Model-for-SAS,
    author ={Norha M. Villegas and Gabriel Tamura and Hausi A. M{\"u}ller and Laurence Duchien and Rubby Casallas},
    title ={{DYNAMICO: A Reference Model for Governing Control Objectives and Context Relevance in Self-Adaptive Software Systems}},
    booktitle ={Software Engineering for Self-Adaptive Systems 2},
    pages = {265--293},
    year ={2013},
    series ={LNCS},
    volume = {7475},
    isbn = {978-3-642-35813-5},
    publisher = {Springer},
    keywords ={Software engineering for self-adaptive systems,
    self-adaptive software reference model},
    abstract={
    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.
    }
    }

  • G. Tamura, N. M. Villegas, H. Müller, J. P. Sousa, Basil Becker, M. Pezzè, G. Karsai, S. Mankovskii, W. Schäfer, Ladan Tahvildari, and K. Wong, “Towards Practical Runtime Verification and Validation of Self-Adaptive Software Systems,” in Software engineering for self-adaptive systems 2, 2013, pp. 108-132.
    [BibTeX] [Abstract]

    Software validation and verification (V&V) ensures that software products satisfy user requirements and meet their expected quality attributes throughout their lifecycle. While high levels of adaptation and autonomy provide new ways for software systems to operate in highly dynamic environments, developing certifiable V&V methods for guaranteeing the achievement of self-adaptive software goals is one of the major challenges facing the entire research field. In this chapter we (i) analyze fundamental challenges and concerns for the development of V&V methods and techniques that provide certifiable trust in self-adaptive and self-managing systems; 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.

    @InProceedings{tamura-et-al:2013:Towards-Practical-Runtime-VV-SAS,
    author ={Gabriel Tamura and Norha M. Villegas and Hausi
    A. M{\"{u}}ller and Jo{\~a}o P. Sousa and Basil
    Becker and Mauro Pezz{\`e} and Gabor Karsai and
    Serge Mankovskii and Wilhelm Sch{\"a}fer and Ladan
    Tahvildari and Kenny Wong},
    title ={{Towards Practical Runtime Verification and Validation of Self-Adaptive Software Systems}},
    booktitle ={Software Engineering for Self-Adaptive Systems 2},
    pages = {108--132},
    year ={2013},
    series ={LNCS},
    volume = {7475},
    isbn = {978-3-642-35813-5},
    publisher = {Springer},
    keywords ={Software engineering for self-adaptive systems,
    self-adaptive software reference model},
    abstract={
    Software validation and verification (V&V) ensures that software products satisfy user requirements and meet their expected quality attributes throughout their lifecycle. While high levels of adaptation and autonomy provide new ways for software systems to operate in highly dynamic environments, developing certifiable V&V methods for guaranteeing the achievement of self-adaptive software goals is one of the major challenges facing the entire research field. In this chapter we (i) analyze fundamental challenges and concerns for the development of V&V methods and techniques that provide certifiable trust in self-adaptive and self-managing systems; 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.
    }
    }

  • L. Castaneda, H. A. Muller, and N. M. Villegas, “Towards personalized web-tasking: task simplification challenges,” in Services (services), 203 ieee ninth world congress on, 2013, pp. 147-153.
    [BibTeX] [Abstract] [Download PDF]

    Despite the increasing use of the web to support human activities, most web interactions required to accomplish personal goals are performed manually by users. Even though users can easily transform a goal into multiple web interactions, the manual governance of these interactions diminishes the user experience. Personalized web-tasking seeks to improve the user experience by automating personal web tasks. This automation is driven by user needs, matters of concerns, and personal context. An important concern in personalized web-tasking is task simplification, the process of decomposing a personal web task into simpler tasks that can readily be composed into bigger tasks. This position paper characterizes a set of task simplification challenges intended as starting points for advancing the field of personalized web-tasking.

    @inproceedings{castaneda2013towards,
    title={Towards Personalized Web-Tasking: Task Simplification Challenges},
    author={Castaneda, Lorena and Muller, Hausi A and Villegas, Norha M},
    booktitle={Services (SERVICES), 203 IEEE Ninth World Congress on},
    pages={147--153},
    year={2013},
    organization={IEEE},
    url={http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6655689},
    abstract={
    Despite the increasing use of the web to support human activities, most web interactions required to accomplish personal goals are performed manually by users. Even though users can easily transform a goal into multiple web interactions, the manual governance of these interactions diminishes the user experience. Personalized web-tasking seeks to improve the user experience by automating personal web tasks. This automation is driven by user needs, matters of concerns, and personal context. An important concern in personalized web-tasking is task simplification, the process of decomposing a personal web task into simpler tasks that can readily be composed into bigger tasks. This position paper characterizes a set of task simplification challenges intended as starting points for advancing the field of personalized web-tasking.
    }
    }

2012

  • J. C. Muñoz, G. Tamura, N. M. Villegas, and H. A. Müller, “Surprise: user-controlled granular privacy and security for personal data in smartercontext,” in Proceedings of the 2012 conference of the center for advanced studies on collaborative research, 2012, pp. 131-145.
    [BibTeX] [Abstract]

    The Smart Internet relies on the exploitation of information obtained from interactions of users with web applications. A critical aspect for its success is the adoption of mechanisms that guarantee the protection of information sensitive to users. This paper presents Surprise, our solution to empower users with privacy and data security control for the access to their information, stored in Personal Context Sphere repositories. These repositories are defined and maintained by SmarterContext, our Smart Internet infrastructure that improves the quality of user experience in their interactions with web applications. Surprise (i) allows users to configure access permissions to their sensitive personal information to third parties, selectively and with different levels of granularity; (ii) supports changes in these configurations at runtime to add or remove third parties or permissions, and (iii) realizes partial encryption to share non-sensitive data with not explicitly authorized third parties, while protecting user identity. We analyze details of our proof-of-concept implementation with respect to the SmarterContext’s privacy and security requirements.

    @inproceedings{munoz2012surprise,
    title={Surprise: user-controlled granular privacy and security for personal data in SmarterContext},
    author={Mu{\~n}oz, Juan C and Tamura, Gabriel and Villegas, Norha M and M{\"u}ller, Hausi A},
    booktitle={Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research},
    pages={131--145},
    year={2012},
    organization={IBM Corp.},
    pdf={http://www.researchgate.net/publication/232288593_Surprise_User-controlled_Granular_Privacy_and_Security_for_Personal_Data_in_SmarterContext/file/d912f50816c3003036.pdf},
    abstract={
    The Smart Internet relies on the exploitation of information obtained from interactions of users with web applications. A critical aspect for its success is the adoption of mechanisms that guarantee the protection of information sensitive to users. This paper presents Surprise, our solution to empower users with privacy and data security control for the access to their information, stored in Personal Context Sphere repositories. These repositories are defined and maintained by SmarterContext, our Smart Internet infrastructure that improves the quality of user experience in their interactions with web applications. Surprise (i) allows users to configure access permissions to their sensitive personal information to third parties, selectively and with different levels of granularity; (ii) supports changes in these configurations at runtime to add or remove third parties or permissions, and (iii) realizes partial encryption to share non-sensitive data with not explicitly authorized third parties, while protecting user identity. We analyze details of our proof-of-concept implementation with respect to the SmarterContext's privacy and security requirements.
    }
    }

  • S. Ebrahimi, N. M. Villegas, H. A. Müller, and A. Thomo, “Smarterdeals: a context-aware deal recommendation system based on the smartercontext engine,” in Proceedings of the 2012 conference of the center for advanced studies on collaborative research, 2012, pp. 116-130.
    [BibTeX] [Abstract] [Download PDF]

    Daily-deal applications are popular implementations of on-line advertising strategies that offer products and services to users based on their personal profiles. The current implementations are effective but can frustrate users with irrelevant deals due to stale profiles. To exploit these applications fully, deals must become smarter and context-aware. This paper presents SmarterDeals, our deal recommendation system that exploits users’ changing personal context information to deliver highly relevant offers. SmarterDeals relies on recommendation algorithms based on collaborative filtering, and SmarterContext, our adaptive context management framework. SmarterContext provides SmarterDeals with up-to-date information about users’ locations and product preferences gathered from their past and present web interactions. For many deal categories the accuracy of SmarterDeals is between 3% and 8% better than the approaches we used as baselines. For some categories, and in terms of multiplicative relative performance, SmarterDeals outperforms related approaches by as much as 173.4%, and 37.5% on average.

    @inproceedings{ebrahimi2012smarterdeals,
    title={SmarterDeals: a context-aware deal recommendation system based on the smartercontext engine},
    author={Ebrahimi, Sahar and Villegas, Norha M and M{\"u}ller, Hausi A and Thomo, Alex},
    booktitle={Proceedings of the 2012 Conference of the Center for Advanced Studies on Collaborative Research},
    pages={116--130},
    year={2012},
    organization={IBM Corp.},
    url={http://dl.acm.org/citation.cfm?id=2399788},
    abstract={
    Daily-deal applications are popular implementations of on-line advertising strategies that offer products and services to users based on their personal profiles. The current implementations are effective but can frustrate users with irrelevant deals due to stale profiles. To exploit these applications fully, deals must become smarter and context-aware. This paper presents SmarterDeals, our deal recommendation system that exploits users' changing personal context information to deliver highly relevant offers. SmarterDeals relies on recommendation algorithms based on collaborative filtering, and SmarterContext, our adaptive context management framework. SmarterContext provides SmarterDeals with up-to-date information about users' locations and product preferences gathered from their past and present web interactions. For many deal categories the accuracy of SmarterDeals is between 3% and 8% better than the approaches we used as baselines. For some categories, and in terms of multiplicative relative performance, SmarterDeals outperforms related approaches by as much as 173.4%, and 37.5% on average.
    }
    }

2011

  • G. Tamura, R. Casallas, A. Cleve, and L. Duchien, “QoS Contract-Aware Reconfiguration of Component Architectures Using E-Graphs,” in Formal aspects of component software, 2011, pp. 34-52.
    [BibTeX] [Abstract] [Download PDF]

    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.

    @inproceedings{tamura-et-al:2011:contract-aware-reconfiguration-of-sw-arch-egraphs,
    author = {G. Tamura and R. Casallas and A. Cleve and L. Duchien},
    title = {{QoS Contract-Aware Reconfiguration of Component Architectures Using E-Graphs}},
    pages = {34--52},
    booktitle = {Formal Aspects of Component Software},
    volume = {6921},
    series = {LNCS},
    publisher = {Springer},
    url = {http://hal.archives-ouvertes.fr/docs/00/52/54/38/PDF/contract-aware-architecture-reconfiguration-preproceedings.pdf},
    year = {2011},
    abstract={
    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.
    }
    }

  • N. Villegas, H. Müller, and G. Tamura, “Optimizing Run-Time SOA Governance through Context-Driven SLAs and Dynamic Monitoring,” in Procs. of ieee intl. workshop on the maintenance and evolution of service-oriented and cloud-based systems (MESOCA 2011), 2011, pp. 1-10.
    [BibTeX] [Abstract]

    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.

    @inproceedings{Villegas-et-al:2011:ContextDrivenSLAs,
    author={Norha Villegas and Hausi M\"{u}ller and Gabriel Tamura},
    title={{Optimizing Run-Time SOA Governance through Context-Driven SLAs and Dynamic Monitoring}},
    booktitle={Procs. of IEEE Intl. Workshop on the
    Maintenance and Evolution of Service-Oriented and Cloud-Based Systems
    ({MESOCA} 2011)},
    year={2011},
    publisher={IEEE},
    pages={1--10},
    abstract={
    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.
    }
    }

  • N. Villegas, H. Müller, J. Muñoz, A. Lau, J. Ng, and C. Brealey, “A Dynamic Context Management Infrastructure for Supporting User-driven Web Integration in the Personal Web,” in Procs. of 2011 conf. of the center for advanced studies on collaborative research, canada (cascon 2011), 2011, pp. 200-214.
    [BibTeX] [Abstract]

    Most web applications deliver personalized features by making decisions on behalf of the user. Thus, the user’s web experience is still a fractionated process due to a lack of user-centric web integration. In contrast, smarter web applications will empower the user to control the integration of web resources according to personal concerns. Moreover, as the user’s situation and web resources continuously evolve, web infrastructures supporting smarter applications require dynamic and efficient mechanisms to represent, gather, provide, and reason about context information. Aiming at optimizing the user’s web experience, this paper proposes a self-adaptive context management infrastructure, and an extensible context taxonomy based on the resource description framework (RDF). Our context manager is able to deploy new context management components to keep track of changes in the user’s situation at run-time. Our taxonomy includes a set of inference rules for supporting dynamic context representation and reasoning. Using a smarter commerce case study, we illustrate the application of feedback loops and semantic web, to the realization of dynamic context management in the personal web.

    @inproceedings{Villegas-et-al:2011:DynamicContextMonitoring,
    author = {Norha Villegas and Hausi M\"{u}ller and Juan Mu{\~n}oz and
    Alex Lau and Johana Ng and Chris Brealey},
    title = {{A Dynamic Context Management Infrastructure for Supporting User-driven Web Integration in the Personal Web}},
    booktitle = {Procs. of 2011 Conf. of the Center for
    Advanced Studies on Collaborative Research, Canada (CASCON 2011)},
    year = {2011},
    publisher = {ACM},
    pages = {200--214},
    abstract={
    Most web applications deliver personalized features by making decisions on behalf of the user. Thus, the user's web experience is still a fractionated process due to a lack of user-centric web integration. In contrast, smarter web applications will empower the user to control the integration of web resources according to personal concerns. Moreover, as the user's situation and web resources continuously evolve, web infrastructures supporting smarter applications require dynamic and efficient mechanisms to represent, gather, provide, and reason about context information. Aiming at optimizing the user's web experience, this paper proposes a self-adaptive context management infrastructure, and an extensible context taxonomy based on the resource description framework (RDF). Our context manager is able to deploy new context management components to keep track of changes in the user's situation at run-time. Our taxonomy includes a set of inference rules for supporting dynamic context representation and reasoning. Using a smarter commerce case study, we illustrate the application of feedback loops and semantic web, to the realization of dynamic context management in the personal web.
    }
    }

  • N. Villegas, H. Muller, G. Tamura, L. Duchien, and R. Casallas, “A Framework for Evaluating Quality-Driven Self-Adaptive Software Systems,” in Procs. of 6th intl. symp. on software engineering for adaptive and self-managing systems, 2011, pp. 80-89. doi:http://doi.acm.org/10.1145/1988008.1988020
    [BibTeX] [Abstract] [Download PDF]

    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.

    @inproceedings{villegas-tamura-et-al:2011:a-framework-for-evaluating-qd-sas,
    author = {Norha Villegas and Hausi Muller and Gabriel Tamura and Laurence Duchien and Rubby Casallas},
    title = {{A Framework for Evaluating Quality-Driven Self-Adaptive Software Systems}},
    booktitle = {Procs. of 6th Intl. Symp. on Software Engineering for Adaptive and Self-Managing Systems},
    year = {2011},
    pages = {80--89},
    publisher = {ACM},
    isbn = {978-1-4503-0575-4},
    url = {http://doi.acm.org/10.1145/1988008.1988020},
    doi = {http://doi.acm.org/10.1145/1988008.1988020},
    keywords = {application of control theory, assessment and evaluation of self-adaptive systems, engineering of self-adaptive systems, run-time validation and verification, software adaptation metrics, software adaptation properties, software quality attributes},
    abstract={
    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.
    }
    }

  • N. M. Villegas, H. Muller, and G. Tamura, “Optimizing run-time soa governance through context-driven slas and dynamic monitoring,” in Maintenance and evolution of service-oriented and cloud-based systems (mesoca), 2011 international workshop on the, 2011, pp. 1-10.
    [BibTeX] [Abstract] [Download PDF]

    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.

    @inproceedings{villegas2011optimizing,
    title={Optimizing run-time SOA governance through context-driven SLAs and dynamic monitoring},
    author={Villegas, Norha M and Muller, HA and Tamura, Gabriel},
    booktitle={Maintenance and Evolution of Service-Oriented and Cloud-Based Systems (MESOCA), 2011 International Workshop on the},
    pages={1--10},
    year={2011},
    organization={IEEE},
    url={http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6049036},
    abstract={
    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.
    }
    }

  • N. M. Villegas, H. A. Müller, J. C. Muñoz-Fernández, A. Lau, J. Ng, and C. Brealey, “A dynamic context management infrastructure for supporting user-driven web integration in the personal web.,” in Cascon, 2011, pp. 200-214.
    [BibTeX] [Abstract]

    Most web applications deliver personalized features by making decisions on behalf of the user. Thus, the user’s web experience is still a fractionated process due to a lack of user-centric web integration. In contrast, smarter web applications will empower the user to control the integration of web resources according to personal concerns. Moreover, as the user’s situation and web resources continuously evolve, web infrastructures supporting smarter applications require dynamic and efficient mechanisms to represent, gather, provide, and reason about context information. Aiming at optimizing the user’s web experience, this paper proposes a self-adaptive context management infrastructure, and an extensible context taxonomy based on the resource description framework (RDF). Our context manager is able to deploy new context management components to keep track of changes in the user’s situation at run-time. Our taxonomy includes a set of inference rules for supporting dynamic context representation and reasoning. Using a smarter commerce case study, we illustrate the application of feedback loops and semantic web, to the realization of dynamic context management in the personal web.

    @inproceedings{villegas2011dynamic,
    title={A dynamic context management infrastructure for supporting user-driven web integration in the personal web.},
    author={Villegas, Norha M and M{\"u}ller, Hausi A and Mu{\~n}oz-Fern{\'a}ndez, Juan C and Lau, Alex and Ng, Joanna and Brealey, Chris},
    booktitle={CASCON},
    pages={200--214},
    year={2011},
    pdf={http://www.researchgate.net/publication/229068732_A_Dynamic_Context_Management_Infrastructure_for_Supporting_User-driven_Web_Integration_in_the_Personal_Web/file/9fcfd4ffed849820c7.pdf},
    abstract={
    Most web applications deliver personalized features by making decisions on behalf of the user. Thus, the user's web experience is still a fractionated process due to a lack of user-centric web integration. In contrast, smarter web applications will empower the user to control the integration of web resources according to personal concerns. Moreover, as the user's situation and web resources continuously evolve, web infrastructures supporting smarter applications require dynamic and efficient mechanisms to represent, gather, provide, and reason about context information. Aiming at optimizing the user's web experience, this paper proposes a self-adaptive context management infrastructure, and an extensible context taxonomy based on the resource description framework (RDF). Our context manager is able to deploy new context management components to keep track of changes in the user's situation at run-time. Our taxonomy includes a set of inference rules for supporting dynamic context representation and reasoning. Using a smarter commerce case study, we illustrate the application of feedback loops and semantic web, to the realization of dynamic context management in the personal web.
    }
    }

  • M. E. Frincu, N. M. Villegas, D. Petcu, H. A. Muller, and R. Rouvoy, “Self-healing distributed scheduling platform,” in Proceedings of the 2011 11th ieee/acm international symposium on cluster, cloud and grid computing, 2011, pp. 225-234.
    [BibTeX] [Abstract] [Download PDF]

    Distributed systems require effective mechanisms to manage the reliable provisioning of computational resources from different and distributed providers. Moreover, the dynamic environment that affects the behaviour of such systems and the complexity of these dynamics demand autonomous capabilities to ensure the behaviour of distributed scheduling platforms and to achieve business and user objectives. In this paper we propose a self-adaptive distributed scheduling platform composed of multiple agents implemented as intelligent feedback control loops to support policy-based scheduling and expose self-healing capabilities. Our platform leverages distributed scheduling processes by (i) allowing each provider to maintain its own internal scheduling process, and (ii) implementing self-healing capabilities based on agent module recovery. Simulated tests are performed to determine the optimal number of agents to be used in the negotiation phase without affecting the scheduling cost function. Test results on a real-life platform are presented to evaluate recovery times and optimize platform parameters.

    @inproceedings{frincu2011self,
    title={Self-healing distributed scheduling platform},
    author={Frincu, Marc E and Villegas, Norha M and Petcu, Dana and Muller, Hausi A and Rouvoy, Romain},
    booktitle={Proceedings of the 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing},
    pages={225--234},
    year={2011},
    organization={IEEE Computer Society},
    url={http://dl.acm.org/citation.cfm?id=2007413},
    abstract={
    Distributed systems require effective mechanisms to manage the reliable provisioning of computational resources from different and distributed providers. Moreover, the dynamic environment that affects the behaviour of such systems and the complexity of these dynamics demand autonomous capabilities to ensure the behaviour of distributed scheduling platforms and to achieve business and user objectives. In this paper we propose a self-adaptive distributed scheduling platform composed of multiple agents implemented as intelligent feedback control loops to support policy-based scheduling and expose self-healing capabilities. Our platform leverages distributed scheduling processes by (i) allowing each provider to maintain its own internal scheduling process, and (ii) implementing self-healing capabilities based on agent module recovery. Simulated tests are performed to determine the optimal number of agents to be used in the negotiation phase without affecting the scheduling cost function. Test results on a real-life platform are presented to evaluate recovery times and optimize platform parameters.
    }
    }

2010

  • H. A. Müller, N. M. Villegas, A. Lau, and S. Jou, “Dynamic context-aware applications: approaches and challenges,” in Proceedings of the 2010 conference of the center for advanced studies on collaborative research, 2010, pp. 404-406.
    [BibTeX] [Abstract] [Download PDF]

    The continuous evolution from goods-centric to service-centric businesses requires new and innovative approaches for building, running, managing and evolving business applications. The complexity of these modern, decentralized and distributed computing systems presents significant challenges for businesses. End-users increasingly demand that businesses provide smart software systems that are flexible, resilient, location-based, service-oriented, decentralized, energy-efficient, customizable, self-healing and self-optimizing. A system with such dynamic properties must be capable of adjusting its behavior at run-time in response to its perception of its environment and its own state in the form of fully or semi-automatic self-adaptation.

    @inproceedings{muller2010dynamic,
    title={Dynamic context-aware applications: approaches and challenges},
    author={M{\"u}ller, Hausi A and Villegas, Norha M and Lau, Alex and Jou, Stephan},
    booktitle={Proceedings of the 2010 Conference of the Center for Advanced Studies on Collaborative Research},
    pages={404--406},
    year={2010},
    organization={IBM Corp.},
    url={http://dl.acm.org/citation.cfm?id=1924016},
    abstract={
    The continuous evolution from goods-centric to service-centric businesses requires new and innovative approaches for building, running, managing and evolving business applications. The complexity of these modern, decentralized and distributed computing systems presents significant challenges for businesses. End-users increasingly demand that businesses provide smart software systems that are flexible, resilient, location-based, service-oriented, decentralized, energy-efficient, customizable, self-healing and self-optimizing. A system with such dynamic properties must be capable of adjusting its behavior at run-time in response to its perception of its environment and its own state in the form of fully or semi-automatic self-adaptation.
    }
    }

  • N. M. Villegas, H. A. Müller, J. Ng, and A. Lau, “Managing dynamic context to enable user-driven web integration in the personal web,” in Proceedings 1st symposium on the personal web, 2010.
    [BibTeX]
    @inproceedings{villegas2010managing,
    title={Managing dynamic context to enable user-driven web integration in the personal web},
    author={Villegas, Norha M and M{\"u}ller, Hausi A and Ng, Joanna and Lau, Alex},
    booktitle={Proceedings 1st Symposium on the Personal Web},
    year={2010},
    pdf={http://research.cs.queensu.ca/home/cordy/SPW/Proceedings/UvicPWS-ContextMgment.pdf}
    }

2008

  • A. Navarro, A. Millán, A. García, G. Tamura, and O. Jiménez, “Handset-based Automatic Network Re-selection System for GSM/GPRS and WiFi,” in Procs. of 6th intl. symp. on mobility mgmnt. & wireless access, 2008, pp. 69-76.
    [BibTeX] [Abstract]

    This paper presents the results of the development of a handset based automatic network reselection software system, which allows keeping end-to-end connections through semi-transparent handoff on WiFi/GSM-GPRS networks. A description of the developed system’s software architecture is given, as well as of the components implemented for it, their functionalities and flow of control, all of which allow the permanent discovery of available networks for the mobile device, their evaluation, selection and switching to the network which offers the best ratings in its performance and operational profile, taking into account the preferences previously configured by the user. The system was developed in Java and C# for different operating systems (WinXP, WinMobile and Linux), and its interoperability has been tested in them. Some of the test scenarios are described and final comments about the tests results are given.

    @inproceedings{tamura-et-al:2008:handset-based-automatic-network-reselection-gsm-wifi,
    author = {Andr{\'e}s Navarro and
    Andr{\'e}s Mill{\'a}n and
    Alexander Garc\'{i}a and
    Gabriel Tamura and
    Oscar Jim{\'e}nez},
    title = {{Handset-based Automatic Network Re-selection System for
    GSM/GPRS and WiFi}},
    booktitle = {Procs. of 6th Intl. Symp. on Mobility Mgmnt. \& Wireless Access},
    year = {2008},
    pages = {69--76},
    publisher = {ACM},
    ee = {http://doi.acm.org/10.1145/1454659.1454672},
    crossref = {DBLP:conf/mobiwac/2008},
    bibsource = {DBLP, http://dblp.uni-trier.de},
    abstract={
    This paper presents the results of the development of a handset based automatic network reselection software system, which allows keeping end-to-end connections through semi-transparent handoff on WiFi/GSM-GPRS networks.
    A description of the developed system's software architecture is given, as well as of the components implemented for it, their functionalities and flow of control, all of which allow the permanent discovery of available networks for the mobile device, their evaluation, selection and switching to the network which offers the best ratings in its performance and operational profile, taking into account the preferences previously configured by the user. The system was developed in Java and C# for different operating systems (WinXP, WinMobile and Linux), and its interoperability has been tested in them. Some of the test scenarios are described and final comments about the tests results are given.
    }
    }

1997

  • C. Rueda, G. Tamura, and L. O. Quesada, “The visual model of cordial,” in Xxiii conferencia latinoamericana de informática (clei’97), valíparaíso, chile, 1997.
    [BibTeX] [Abstract]

    We describe the visual model of Cordial, a visual language integrating ObjectOriented and Constraint programming. The motivation behind Cordial is to provide a clear notion of objects defined implicitly by means of constraints. Cordial is a visual language having three distinguished features: (1) A hierarchical visual model, (2) an underlined visual formalism giving precise syntax and static semantics of visual programs and (3) a dynamic semantic model based on a formal calculus integrating objects and constraints. The visual model consists of a hierarchy of layers of visual representations of object oriented concepts in which icons can be "expanded" up to the underlined visual formalism, an extension of Harel’s Higraphs ([Har88]). We present here the visual model, provide its formal translation into Higraphs, and describe the visual syntax and semantics of Cordial. Keywords: Visual language, Cordial, constraint programming, object oriented programming, visual formalism, iconic programming.

    @inproceedings{rueda1997visual,
    title={The visual model of cordial},
    author={Rueda, Camilo and Tamura, Gabriel and Quesada, Luis O},
    booktitle={XXIII Conferencia Latinoamericana de Inform{\'a}tica (CLEI’97), Val{\'i}para\'{i}so, Chile},
    year={1997},
    abstract={
    We describe the visual model of Cordial, a visual language integrating ObjectOriented and Constraint programming. The motivation behind Cordial is to provide a clear notion of objects defined implicitly by means of constraints. Cordial is a visual language having three distinguished features: (1) A hierarchical visual model, (2) an underlined visual formalism giving precise syntax and static semantics of visual programs and (3) a dynamic semantic model based on a formal calculus integrating objects and constraints. The visual model consists of a hierarchy of layers of visual representations of object oriented concepts in which icons can be "expanded" up to the underlined visual formalism, an extension of Harel's Higraphs ([Har88]). We present here the visual model, provide its formal translation into Higraphs, and describe the visual syntax and semantics of Cordial. Keywords: Visual language, Cordial, constraint programming, object oriented programming, visual formalism, iconic programming.
    }
    }

PhD and Master Theses

2017

  • J. M. Ropero, “Characterizing the Impact of Context-Variables in Software Performance Factors: a Domain-Specific Design Patterns Perspective,” Master Thesis, 2017.
    [BibTeX] [Download PDF]
    @MastersThesis{jmropero:2017:Characterizing-Impact-Patterns-Performance,
    author = {Juan M. Ropero},
    title = {{Characterizing the Impact of Context-Variables in Software Performance Factors: a Domain-Specific Design Patterns Perspective}},
    month = {December},
    year = {2017},
    school = {Icesi University},
    url = {http://www.icesi.edu.co/i2t/driso/wp-content/uploads/2018/01/MScThesis-JMRopero.pdf},
    keywords = {Dynamic Adaptation of Sofware Systems, Self-Adaptive Software, Component-Based Software, Component-Based Software Architecture}
    }

2016

  • M. A. Jimenez, “A Framework for Generating and Deploying Dynamic Performance Monitors for Self-Adaptive Software Systems,” Master Thesis, 2016.
    [BibTeX] [Download PDF]
    @MastersThesis{majimenez:2016:Characterizing-Impact-Patterns-Performance,
    author = {Miguel A. Jimenez},
    title = {{A Framework for Generating and Deploying Dynamic Performance Monitors for Self-Adaptive Software Systems}},
    month = {July},
    year = {2016},
    school = {Icesi University},
    url = {http://www.icesi.edu.co/i2t/driso/wp-content/uploads/2018/01/MSc-MiguelJimenez.pdf},
    keywords = {Dynamic Adaptation of Sofware Systems, Self-Adaptive Software, Component-Based Software, Component-Based Software Architecture}
    }

2013

  • J. C. Muñoz, “User-Controlled Granular Privacy and Security for Personal Context RDF Data in SmarterContext,” Master Thesis, 2013.
    [BibTeX] [Abstract]

    SmarterContext is a dynamic context management solution applicable to the improvement of the quality of user experience in the Smart Internet. Its strategy is to empower users to control web integration and manage their context information in user-centric web applications. \smarterc{} exploits users’ web interactions to extract relevant personal information that is stored into personal context spheres. A critical next step in the development of \smarterc{} was the realization of a mechanism to provide private and secure access to these context spheres provided by third parties in the form of RDF data repositories. This thesis identifies the requirements and challenges associated to this problem and devises a feasible solution to empower users with privacy and data security control for third parties to access their personal context spheres. The contribution of this thesis provides \smarterc{} with a private and secure runtime mechanism that, dynamically and selectively, controls the provision of personal context information to third parties.

    @MastersThesis{jcmunoz:2013:surprise-mscthesis,
    author = {Juan Carlos Mu\~{n}oz},
    title = {{User-Controlled Granular Privacy and Security for Personal Context RDF Data in SmarterContext}},
    month = {August},
    year = {2013},
    school = {Icesi University},
    keywords = {data security, privacy, encryption, SmarterContext, Smart Internet, personal context, RDF, OWL, Semantic web},
    abstract={
    SmarterContext is a dynamic context management solution applicable to the improvement of the quality of user experience in the Smart Internet. Its strategy is to empower users to control web integration and manage their context information in user-centric web applications. \smarterc{} exploits users' web interactions to extract relevant personal information that is stored into personal context spheres. A critical next step in the development of \smarterc{} was the realization of a mechanism to provide private and secure access to these context spheres provided by third parties in the form of RDF data repositories. This thesis identifies the requirements and challenges associated to this problem and devises a feasible solution to empower users with privacy and data security control for third parties to access their personal context spheres. The contribution of this thesis provides \smarterc{} with a private and secure runtime mechanism that, dynamically and selectively, controls the provision of personal context information to third parties.
    }
    }

  • N. M. Villegas, “Context management and self-adaptivity for situation-aware smart software systems,” PhD Thesis, 2013.
    [BibTeX] [Abstract] [Download PDF]

    Our society is increasingly demanding situation-aware smarter software (SASS) systems, whose goals change over time and depend on context situations. A system with such properties must sense their dynamic environment and respond to changes quickly, accurately, and reliably, that is, to be context-aware and self-adaptive. The problem addressed in this dissertation is the dynamic management of context information, with the goal of improving the relevance of SASS systems’ context-aware capabilities with respect to changes in their requirements and execution environment. Therefore, this dissertation focuses on the investigation of dynamic context management and self-adaptivity to: (i) improve context-awareness and exploit context information to enhance quality of user experience in SASS systems, and (ii) improve the dynamic capabilities of self-adaptivity in SASS systems. Context-awareness and self-adaptivity pose signi cant challenges for the engineering of SASS systems. Regarding context-awareness, the rst challenge addressed in this dissertation is the impossibility of fully specifying environmental entities and the corresponding monitoring requirements at design-time. The second challenge arises from the continuous evolution of monitoring requirements due to changes in the system caused by self-adaptation. As a result, context monitoring strategies must be modeled and managed in such a way that they support the addition and deletion of context types and monitoring conditions at runtime. For this, the user must be integrated into the dynamic context management process. Concerning self-adaptivity, the third challenge is to control the dynamicity of adaptation goals, adaptation mechanisms, and monitoring infrastructures, and the way they a ect each other in the adaptation process. This is to preserve the eff ectiveness of context monitoring requirements and thus self-adaptation. The fourth challenge, related also to self-adaptivity,concerns the assessment of adaptation mechanisms at runtime to prevent undesirable system states as a result of self-adaptation. Given these challenges, to improve context-awareness we made three contributions. First, we proposed the personal context sphere concept to empower users to control the life cycle of personal context information in user-centric SASS systems. Second, we proposed the SmarterContext ontology to model context information and its monitoring requirements supporting changes in these models at runtime. Third, we proposed an effi cient context processing engine to discover implicit contextual facts from context information speci fied in changing context models. To improve self-adaptivity we made three contributions. First, we proposed a framework for the identi cation of adaptation properties and goals, which is useful to evaluate self-adaptivity and to derive monitoring requirements mapped to adaptation goals. Second, we proposed a reference model for designing highly dynamic self-adaptive systems, for which the continuous pertinence between monitoring mechanisms and both changing system goals and context situations is a major concern. Third, we proposed a model with explicit validation and veri cation (V&V) tasks for self-adaptive software, where dynamic context monitoring plays a major role. The seventh contribution of this dissertation, the implementation of Smarter-Context infrastructure, addresses both context-awareness and self-adaptivity. To evaluate our contributions, qualitatively and quantitatively, we conducted several comprehensive literature reviews, a case study on user-centric situation-aware online shopping, and a case study on dynamic governance of service-oriented applications.

    @phdthesis{villegas2013context,
    title={Context Management and Self-Adaptivity for Situation-Aware Smart Software Systems},
    author={Norha M. Villegas},
    year={2013},
    school={Ph. D. dissertation, University of Victoria, Canada},
    url={http://dspace.library.uvic.ca:8080/handle/1828/4476},
    abstract={
    Our society is increasingly demanding situation-aware smarter software (SASS) systems, whose goals change over time and depend on context situations. A system with such properties must sense their dynamic environment and respond to changes quickly, accurately, and reliably, that is, to be context-aware and self-adaptive. The problem addressed in this dissertation is the dynamic management of context information, with the goal of improving the relevance of SASS systems' context-aware capabilities with respect to changes in their requirements and execution environment. Therefore, this dissertation focuses on the investigation of dynamic context management and self-adaptivity to: (i) improve context-awareness and exploit context information to enhance quality of user experience in SASS systems, and (ii) improve the dynamic capabilities of self-adaptivity in SASS systems. Context-awareness and self-adaptivity pose signi cant challenges for the engineering of SASS systems. Regarding context-awareness, the rst challenge addressed in this dissertation is the impossibility of fully specifying environmental entities and the corresponding monitoring requirements at design-time. The second challenge arises from the continuous evolution of monitoring requirements due to changes in the system caused by self-adaptation. As a result, context monitoring strategies must be modeled and managed in such a way that they support the addition and deletion of context types and monitoring conditions at runtime. For this, the user must be integrated into the dynamic context management process. Concerning self-adaptivity, the third challenge is to control the dynamicity of adaptation goals, adaptation mechanisms, and monitoring infrastructures, and the way they a ect each other in the adaptation process. This is to preserve the eff ectiveness of context monitoring requirements and thus self-adaptation. The fourth challenge, related also to self-adaptivity,concerns the assessment of adaptation mechanisms at runtime to prevent undesirable system states as a result of self-adaptation. Given these challenges, to improve context-awareness we made three contributions. First, we proposed the personal context sphere concept to empower users to control the life cycle of personal context information in user-centric SASS systems. Second, we proposed the SmarterContext ontology to model context information and its monitoring requirements supporting changes in these models at runtime. Third, we proposed an effi cient context processing engine to discover implicit contextual facts from context information speci fied in changing context models. To improve self-adaptivity we made three contributions. First, we proposed a framework for the identi cation of adaptation properties and goals, which is useful to evaluate self-adaptivity and to derive monitoring requirements mapped to adaptation goals. Second, we proposed a reference model for designing highly dynamic self-adaptive systems, for which the continuous pertinence between monitoring mechanisms and both changing system goals and context situations is a major concern. Third, we proposed a model with explicit validation and veri cation (V&V) tasks for self-adaptive software, where dynamic context monitoring plays a major role. The seventh contribution of this dissertation, the implementation of Smarter-Context infrastructure, addresses both context-awareness and self-adaptivity. To evaluate our contributions, qualitatively and quantitatively, we conducted several comprehensive literature reviews, a case study on user-centric situation-aware online shopping, and a case study on dynamic governance of service-oriented applications.
    }
    }

2012

  • L. Castañeda, “A Reference Architecture for Component-Based Self-Adaptive Software Systems,” Master Thesis, 2012.
    [BibTeX]
    @MastersThesis{locastaneda:2013:reference-architecture-cb-sas,
    author = {Lorena Casta\~{n}eda},
    title = {{A Reference Architecture for Component-Based Self-Adaptive Software Systems}},
    month = {August},
    year = {2012},
    school = {Icesi University},
    keywords = {Dynamic Adaptation of Sofware Systems, Self-Adaptive Software, Component-Based Software, Component-Based Software Architecture}
    }

  • G. Tamura, “QoS-CARE: A Reliable System for Preserving QoS Contracts through Dynamic Reconfiguration,” PhD Thesis, 2012.
    [BibTeX] [Abstract]

    The main challenge of this Thesis is to reliably preserve quality of service (QoS) contracts in component-based software systems under changing conditions of system execution. In response to this challenge, the presented contribution is twofold. The first is a model for component-based software applications, QoS contracts and reconfiguration rules as typed attributed graphs, and the definition of QoS-contracts semantics as state machines in which transitions are performed as software reconfigurations. Thus, we effectively use (formal) models at runtime to reliably reconfigure software applications for preserving its QoS contracts. More specifically, we show the feasibility of exploiting design patterns at runtime in reconfiguration loops to fulfill expected QoS levels associated to specific context conditions. We realize this formal model through a component-based architecture and implementation that can be used as an additional layer of SCA middleware stacks to preserve the QoS contracts of executed applications.The second contribution is the characterization of adaptation properties to evaluate self-adaptive software systems in a standardized and comparable way. By its own nature, the adaptation mechanisms of self-adaptive software systems are essentially feedback loops as defined in control theory. Thus, it results reasonable to evaluate them using the standard properties used to evaluate feedback loops, re-interpreting these properties for the software domain. We define the relibility of our formal model realization in terms of a subset of the characterized adaptation properties, and we show that these properties are guaranteed in this realization.

    @phdthesis{tamura:2012:QoS-CARE,
    author = {Gabriel Tamura},
    title = {{QoS-CARE: A Reliable System for Preserving QoS Contracts through Dynamic Reconfiguration}},
    month = {May},
    year = {2012},
    school = {University of Lille 1 - Science and Technology and University of Los Andes},
    keywords = {QoS Contracts; Component-Based Software Engineering; Self-Adaptive Software Systems},
    abstract={
    The main challenge of this Thesis is to reliably preserve quality of service (QoS) contracts in component-based software systems under changing conditions of system execution. In response to this challenge, the presented contribution is twofold. The first is a model for component-based software applications, QoS contracts and reconfiguration rules as typed attributed graphs, and the definition of QoS-contracts semantics as state machines in which transitions are performed as software reconfigurations. Thus, we effectively use (formal) models at runtime to reliably reconfigure software applications for preserving its QoS contracts. More specifically, we show the feasibility of exploiting design patterns at runtime in reconfiguration loops to fulfill expected QoS levels associated to specific context conditions. We realize this formal model through a component-based architecture and implementation that can be used as an additional layer of SCA middleware stacks to preserve the QoS contracts of executed applications.The second contribution is the characterization of adaptation properties to evaluate self-adaptive software systems in a standardized and comparable way. By its own nature, the adaptation mechanisms of self-adaptive software systems are essentially feedback loops as defined in control theory. Thus, it results reasonable to evaluate them using the standard properties used to evaluate feedback loops, re-interpreting these properties for the software domain. We define the relibility of our formal model realization in terms of a subset of the characterized adaptation properties, and we show that these properties are guaranteed in this realization.
    }
    }

Peer-Reviewed National Journals and Conferences

2015

  • R. Mazo, G. Tamura, and C. Parra, “Editorial,” in Memorias 1er Foro de Gestión de la Reutilización y la Variabilidad en la Industria del Software (REVASOFT), 2015, pp. 5-6.
    [BibTeX]
    @INPROCEEDINGS{mazo-et-al:foro-reutilizacion-editorial,
    author = {Ra{\'u}l Mazo and Gabriel Tamura and Carlos Parra},
    booktitle={{Memorias 1er Foro de Gesti{\'o}n de la Reutilizaci{\'o}n y la Variabilidad en la Industria del Software (REVASOFT)}},
    title={{Editorial}},
    year={2015},
    pages={5-6},
    isbn={978-3-540-71436-1},
    publisher={{Universidad de Antioquia}}
    }

  • R. Mazo, G. Tamura, and C. Parra, “Lecciones Aprendidas y Agenda de Trabajo Académico-Industrial para Mejorar la Gestión de la Reutilización y la Variabilidad en la Ingeniería de Software Colombiana,” in Memorias 1er Foro de Gestión de la Reutilización y la Variabilidad en la Industria del Software (REVASOFT), 2015, pp. 74-76.
    [BibTeX]
    @INPROCEEDINGS{mazo-et-al:foro-reutilizacion-lecciones,
    author = {Ra{\'u}l Mazo and Gabriel Tamura and Carlos Parra},
    booktitle={{Memorias 1er Foro de Gesti{\'o}n de la Reutilizaci{\'o}n y la Variabilidad en la Industria del Software (REVASOFT)}},
    title={{Lecciones Aprendidas y Agenda de Trabajo Acad{\'e}mico-Industrial para Mejorar la Gesti{\'o}n de la Reutilizaci{\'o}n y la Variabilidad en la Ingenier{\'i}a de Software Colombiana}},
    year={2015},
    pages={74-76},
    isbn={978-3-540-71436-1},
    publisher={{Universidad de Antioquia}}
    }

2012

  • L. Castañeda Bueno and G. Tamura, “A reference architecture for component-based self-adaptive software systems,” Paradigma — revista electrónica en construcción de software, 2012.
    [BibTeX] [Abstract] [Download PDF]

    Self-adaptive systems are those able to change structure and behavior dynamically and during runtime to overcome unpredictable changes in the context. Software engineers have made significant efforts to propose self-adaptive systems using different approaches based on feedback loops, components and even hybrid architectures, and communication standards. Often, these proposals merge self-adaptation with the target system making very dificult to analyze the adaptation capability. In this paper we describe our design and evaluation of a component-based architecture to implement the basic elements required for self-adaptation: monitoring, analyzing, planning and executing. Our architecture provides separation of concerns and extensible capabilities in such a way it can be extended to be implemented.

    @article{castaneda2012reference,
    title={A Reference Architecture for Component-Based Self-Adaptive Software Systems},
    author={Casta{\~n}eda Bueno, Lorena and Gabriel Tamura},
    journal = {Paradigma -- Revista Electr{\'o}nica en Construcci{\'o}n de Software},
    year={2012},
    publisher={Universidad de Los Andes},
    url={http://sistemas.uniandes.edu.co/~paradigma/images/articulos/lcastane/castaneda-tamura-ed7-1.pdf},
    abstract={
    Self-adaptive systems are those able to change structure and
    behavior dynamically and during runtime to overcome unpredictable
    changes in the context. Software engineers have made significant efforts
    to propose self-adaptive systems using different approaches based on
    feedback loops, components and even hybrid architectures, and communication
    standards. Often, these proposals merge self-adaptation with the
    target system making very dificult to analyze the adaptation capability.
    In this paper we describe our design and evaluation of a component-based
    architecture to implement the basic elements required for self-adaptation:
    monitoring, analyzing, planning and executing. Our architecture provides
    separation of concerns and extensible capabilities in such a way it can
    be extended to be implemented.
    }
    }

2011

  • V. M. Vargas, J. F. Diaz, and H. Arboleda, “Automated reasoning for derivation of products in MD-SPLE,” in Computing Congress (CCC), 2011 6th Colombian, 2011, pp. 1-4. doi:10.1109/COLOMCC.2011.5936337
    [BibTeX]
    @INPROCEEDINGS{arboleda-et-al:ccc:derivation-products,
    author={Vargas, V.M. and Diaz, J.F. and Arboleda, H.},
    booktitle={{Computing Congress (CCC), 2011 6th Colombian}},
    title={{Automated reasoning for derivation of products in MD-SPLE}},
    year={2011},
    month={May},
    pages={1-4},
    isbn={9781457702853},
    keywords={constraint handling;inference mechanisms;software development management;MD-SPLE;model oriented software product line;Variability Modeling and Management},
    doi={10.1109/COLOMCC.2011.5936337}
    }

  • N. M. Villegas Machado, H. A. Müller, and G. Tamura Morimitsu, “On designing self-adaptive software systems,” Sistemas y telemática, 2011.
    [BibTeX] [Abstract] [Download PDF]

    Self-adaptive systems modify themselves at run-time in order to control the satisfaction of their requirements under changing environmental conditions. Over the past century, feedback-loops have been used as important models for controlling dynamic behavior of mechanical, electrical, fluid and chemical systems in the corresponding fields of engineering. More recently, they also have been adopted for engineering self-adaptive software systems. However, obtaining sound and explicit mappings consistently between adaptive software architectures and feedback loop elements is still an open challenge. This paper, recalling a reference model proposed previously with that goal, discuss key aspects on the design of adaptive software where feedback loop elements are explicitly defined as first-class components in its software architecture. It complements this discussion with an illustration of the process to use this reference model by applying it to a plausible adaptive software example. This paper aims at providing a reference starting point to support software engineers in the process of designing self-adaptive software systems.

    @article{villegas2011designing,
    title={On Designing Self-Adaptive Software Systems},
    author={Villegas Machado, Norha Milena and M{\"u}ller, Hausi A and Tamura Morimitsu, Gabriel},
    journal={Sistemas y Telem{\'a}tica},
    year={2011},
    publisher={Universidad Icesi},
    url={http://bibliotecadigital.icesi.edu.co/biblioteca_digital/handle/10906/5655},
    abstract={
    Self-adaptive systems modify themselves at run-time in order to control the satisfaction of their requirements under changing environmental conditions. Over the past century, feedback-loops have been used as important models for controlling dynamic behavior of mechanical, electrical, fluid and chemical systems in the corresponding fields of engineering. More recently, they also have been adopted for engineering self-adaptive software systems. However, obtaining sound and explicit mappings consistently between adaptive software architectures and feedback loop elements is still an open challenge. This paper, recalling a reference model proposed previously with that goal, discuss key aspects on the design of adaptive software where feedback loop elements are explicitly defined as first-class components in its software architecture. It complements this discussion with an illustration of the process to use this reference model by applying it to a plausible adaptive software example. This paper aims at providing a reference starting point to support software engineers in the process of designing self-adaptive software systems.
    }
    }

2010

  • G. Tamura and A. Cleve, “A Comparison of Taxonomies for Model Transformation Languages,” Paradigma — revista electrónica en construcción de software, vol. 4, iss. 1, pp. 1-14, 2010.
    [BibTeX] [Abstract] [Download PDF]

    Since the introduction of the MDE/MDA/MDD ideas for software systems development several years ago, a number of different (meta)modeling and model transformation languages have been proposed. Although the OMG’s QVT standard specification has somewhat stabilized the number of new model transformation languages, it is likely that new ones will continue to appear, following different paradigms and approaches. However, the evolution towards the consolidation of models as a unifying, foundational and consistent concept for software-intensive system development, requires the realization of a set of ideal characteristics for the specification of model transformation languages. Several works have been proposed for defining characterization and classification schemes, and the set of these ideal characteristics. In this paper we present a comparison of characterization and classification schemes for model transformation languages, and an analysis of the OMG’s QVT specification with respect to this set of ideal characteristics. Although the MOF 2 QVT specification presents a good coverage of these characteristics, it still lacks a formal foundation, from which it could obtain several benefits.

    @article{tamura-cleve:2010:a-comparison-of-taxonomies-for-model-transf-lang,
    author = {Gabriel Tamura and Anthony Cleve},
    journal = {Paradigma -- Revista Electr{\'o}nica en Construcci{\'o}n de Software},
    pages = {1-14},
    title = {{A Comparison of Taxonomies for Model Transformation Languages}},
    url = {http://paradigma.uniandes.edu.co/index.php?option=com_content&task=view&id=136&Itemid=31&lang=en},
    volume = {4},
    number = {1},
    year = {2010},
    issn = {2011-0065},
    publisher = {Departamento de Ingenier{\'i}a de Sistemas y Computaci{\'o}n, Universidad de los Andes},
    abstract={
    Since the introduction of the MDE/MDA/MDD ideas for software systems development several years ago, a number of different (meta)modeling and model transformation languages have been proposed. Although the OMG’s QVT standard specification has somewhat stabilized the number of new model transformation languages, it is likely that new ones will continue to appear, following different paradigms and approaches. However, the evolution towards the consolidation of models as a unifying, foundational and consistent concept for software-intensive system development, requires the realization of a set of ideal characteristics for the specification of model transformation languages. Several works have been proposed for defining characterization and classification schemes, and the set of these ideal characteristics. In this paper we present a comparison of characterization and classification schemes for model transformation languages, and an analysis of the OMG’s QVT specification with respect to this set of ideal characteristics. Although the MOF 2 QVT specification presents a good coverage of these characteristics, it still lacks a formal foundation, from which it could obtain several benefits.
    }
    }

2009

  • F. Portilla, G. Tamura, and N. Villegas, “Aspectos metodológicos del proceso de adopción del estándar hl7 v3 en colombia: la experiencia del comité técnico de casos de uso de laboratorio clínico,” Sistemas y telemática, 7, 22, 71, vol. 90, 2009.
    [BibTeX] [Abstract] [Download PDF]

    he clinical laboratory orders and results was the first Use Case Technical Committee (UCTC) which began operations in Colombia and the first one in proposing HL7 adapted standards for Colombia. The collaborative work among its members has been the basis for defining implementation guides for the clinical laboratory orders and results use cases. Additionally, as a pioneer UCTC in Colombia, it developed a guide-forguides proposal, i.e. a standard for defining implementation guides in any domain within the CDA scope. This article presents an overview of the evolution of health information systems in Colombia and the first steps that have been taken for the adoption of the HL7 international standard in the country. It also describes the methodology for the development and adaptation of the first HL7 implementation guides.

    @article{portilla2009aspectos,
    title={Aspectos metodol{\'o}gicos del proceso de adopci{\'o}n del est{\'a}ndar HL7 v3 en Colombia: la experiencia del Comit{\'e} T{\'e}cnico de Casos de Uso de Laboratorio Cl\'{i}nico},
    author={Portilla, F and Tamura, G and Villegas, N},
    journal={Sistemas y Telem{\'a}tica, 7, 22, 71},
    volume={90},
    year={2009},
    publisher={Universidad Icesi},
    url={http://bibliotecadigital.icesi.edu.co/biblioteca_digital/handle/10906/2134},
    abstract={
    he clinical laboratory orders and results was the first Use Case Technical Committee (UCTC) which began operations in Colombia and the first one in proposing HL7 adapted standards for Colombia. The collaborative work among its members has been the basis for defining implementation guides for the clinical laboratory orders and results use cases. Additionally, as a pioneer UCTC in Colombia, it developed a guide-forguides proposal, i.e. a standard for defining implementation guides in any domain within the CDA scope. This article presents an overview of the evolution of health information systems in Colombia and the first steps that have been taken for the adoption of the HL7 international standard in the country. It also describes the methodology for the development and adaptation of the first HL7 implementation guides.
    }
    }

2008

  • N. M. Villegas Machado, G. Tamura Morimitsu, C. Picazzo, and others, “Análisis descriptivo del proceso de implementación del nivel 2 del modelo cmmi en una empresa regional de desarrollo de software,” Sistemas y telemática, 2008.
    [BibTeX] [Abstract] [Download PDF]

    CMMI (Capability Maturity Model Integration) is basically a continuous- improvement inspired model to classify software development organizations according to a fivelevel maturity and capability scale. The classification in a given level is based on the dominance that an organization shows evidence to have over the areas of that level, which in turn reflects the degree of maturity of the organization and of the processes that it follows to develop software. This article presents a preliminary descriptive analysis of a level 2 implementation process of the CMMI model in a Colombian software development company, making an overall presentation of how it was brought into practice the theory of the model in the processes of the company, to be compliant with the conditions, goals and practices defined in the level 2 process areas of the model. The article also describes the problems which arose in the execution of the project, as well as how they were solved. As preliminary results are presented some of the indicators defined by the company for the software processes, and the software tools that were acquired or developed for the support of the implementation of the process areas. Finally, some conclusions and recommendations which can be found.

    @article{villegas2008analisis,
    title={An{\'a}lisis descriptivo del proceso de implementaci{\'o}n del nivel 2 del modelo CMMI en una empresa regional de desarrollo de software},
    author={Villegas Machado, Norha Milena and Tamura Morimitsu, Gabriel and Picazzo, Catherine and others},
    journal={Sistemas y Telem{\'a}tica},
    year={2008},
    publisher={Universidad Icesi},
    url={http://bibliotecadigital.icesi.edu.co/biblioteca_digital/handle/10906/1843},
    abstract={
    CMMI (Capability Maturity Model Integration) is basically a continuous- improvement inspired model to classify software development organizations according to a fivelevel maturity and capability scale. The classification in a given level is based on the dominance that an organization shows evidence to have over the areas of that level, which in turn reflects the degree of maturity of the organization and of the processes that it follows to develop software. This article presents a preliminary descriptive analysis of a level 2 implementation process of the CMMI model in a Colombian software development company, making an overall presentation of how it was brought into practice the theory of the model in the processes of the company, to be compliant with the conditions, goals and practices defined in the level 2 process areas of the model. The article also describes the problems which arose in the execution of the project, as well as how they were solved. As preliminary results are presented some of the indicators defined by the company for the software processes, and the software tools that were acquired or developed for the support of the implementation of the process areas. Finally, some conclusions and recommendations which can be found.
    }
    }

  • N. M. V. Machado and G. T. Morimitsu, “Aspectos claves en la definición y adopción de estándares de interoperabilidad electrónica de datos: el caso de hl7 en el área de la salud,” Sistemas & telemática, vol. 6, iss. 12, 2008.
    [BibTeX] [Download PDF]
    @article{machado2008aspectos,
    title={Aspectos claves en la definici{\'o}n y adopci{\'o}n de est{\'a}ndares de interoperabilidad electr{\'o}nica de datos: El caso de HL7 en el {\'a}rea de la salud},
    author={Machado, Norha Milena Villegas and Morimitsu, Gabriel Tamura},
    journal={Sistemas \& Telem{\'a}tica},
    volume={6},
    number={12},
    year={2008},
    publisher={Universidad Icesi},
    url={https://icesi.edu.co/revistas/index.php/sistemas_telematica/article/view/998}
    }

  • G. Tamura and N. Villegas, “Las Facultades de Ingeniería y su Papel en la Definición de Políticas Públicas: Participación de la Universidad Icesi en la Definición del Estándar Colombiano de Interoperabilidad GEL-XML,” Xxviii reunión nacional de facultades de ingeniería, 2008.
    [BibTeX]
    @article{tamurafacultades,
    title={{Las Facultades de Ingenier\'{i}a y su Papel en la Definici{\'o}n de Pol\'{i}ticas P{\'u}blicas: Participaci{\'o}n de la Universidad Icesi en la Definici{\'o}n del Est{\'a}ndar Colombiano de Interoperabilidad GEL-XML}},
    author={Tamura, Gabriel and Villegas, Norha},
    journal={XXVIII Reuni{\'o}n Nacional de Facultades de Ingenier\'{i}a},
    year={2008},
    publisher={{Asociaci{\'o}n Colombiana de Facultades de Ingenier\'{i}a -- ACOFI}}
    }

 

Technical Reports

2014

  • G. Tamura, N. Villegas, M. A. Jiménez, K. L. Lara, and J. M. Ropero, “Domain-Specific Design Patterns for Performance in Software Systems: A Systematic Literature Review,” i2t-DRISO Research Team, DRISO-TR-2014-01v1.0, 2014.
    [BibTeX]
    @techreport{tamura-et-al:2014:driso-tr2014-01-slr-performance-design-patterns,
    author = {Gabriel Tamura and Norha Villegas and Miguel A. Jim{\'e}nez and Karen L. Lara and Juan M. Ropero},
    institution = {i2t-DRISO Research Team},
    publisher = {University Icesi},
    number = {DRISO-TR-2014-01v1.0},
    title = {{Domain-Specific Design Patterns for Performance in Software Systems: A Systematic Literature Review}},
    month = {November},
    year = {2014}
    }

2009

  • G. Tamura, “Ubiquitous and Autonomic Computing: An Initial Exploration Proposal,” i2t-DRISO Research Team, DRISO-TR-2009-01v1.0, 2009.
    [BibTeX] [Download PDF]
    @techreport{tamura:2009:driso-tr01-ubiquitous-computing,
    author = {Gabriel Tamura},
    institution = {i2t-DRISO Research Team},
    publisher = {University Icesi},
    number = {DRISO-TR-2009-01v1.0},
    title = {{Ubiquitous and Autonomic Computing: An Initial Exploration Proposal}},
    url = {http://gforge.icesi.edu.co/gf/download/docmanfileversion/374/driso-tr-ubicom_1.0.pdf},
    month = {October},
    year = {2009}
    }