{"title":"QoS-aware fully decentralized service assembly","authors":"V. Grassi, M. Marzolla, R. Mirandola","doi":"10.1109/SEAMS.2013.6595492","DOIUrl":"https://doi.org/10.1109/SEAMS.2013.6595492","url":null,"abstract":"Large distributed software systems are increasingly common in today geographically distributed IT infrastructures. A key challenge for the software engineering community is how to efficiently and effectively manage such complex systems. Extending software services with autonomic capabilities has been suggested as a possible way to address this challenge. Ideally, self-management capabilities should be based on fully distributed, peer-to-peer (P2P) architectures in order to try to overcome the scalability and robustness problems of centralized solutions. Within this context, we propose an approach for the adaptive self-assembly of distributed services, based on a simple epidemic protocol. Our approach is based on the three-layer reference model for adaptive systems, and is centered on the use of a gossip protocol to achieve decentralized information dissemination and decision making. The goal of our system is to build and maintain an assembly of services that, besides functional requirements, is able to fulfill global quality of service (QoS) and structural requirements. A set of simulation experiments is used to assess the effectiveness of our approach in terms of convergence speed towards the optimal solution, and resilience to failures.","PeriodicalId":414161,"journal":{"name":"2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122411069","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Self-adaptive and sensitivity-aware QoS modeling for the cloud","authors":"Tao Chen, R. Bahsoon","doi":"10.1109/SEAMS.2013.6595491","DOIUrl":"https://doi.org/10.1109/SEAMS.2013.6595491","url":null,"abstract":"Given the elasticity, dynamicity and on-demand nature of the cloud, cloud-based applications require dynamic models for Quality of Service (QoS), especially when the sensitivity of QoS tends to fluctuate at runtime. These models can be autonomically used by the cloud-based application to correctly self-adapt its QoS provision. We present a novel dynamic and self-adaptive sensitivity-aware QoS modeling approach, which is fine-grained and grounded on sound machine learning techniques. In particular, we combine symmetric uncertainty with two training techniques: Auto-Regressive Moving Average with eXogenous inputs model (ARMAX) and Artificial Neural Network (ANN) to reach two formulations of the model. We describe a middleware for implementing the approach. We experimentally evaluate the effectiveness of our models using the RUBiS benchmark and the FIFA 1998 workload trends. The results show that our modeling approach is effective and the resulting models produce better accuracy when compared with conventional models.","PeriodicalId":414161,"journal":{"name":"2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130745816","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Towards run-time testing of dynamic adaptive systems","authors":"Erik M. Fredericks, A. J. Ramírez, B. Cheng","doi":"10.1109/SEAMS.2013.6595504","DOIUrl":"https://doi.org/10.1109/SEAMS.2013.6595504","url":null,"abstract":"It is challenging to design, develop, and validate a dynamically adaptive system (DAS) that satisfies requirements, particularly when requirements can change at run time. Testing at design time can help verify and validate that a DAS satisfies its specified requirements and constraints. While offline tests may demonstrate that a DAS is capable of satisfying its requirements before deployment, a DAS may encounter unanticipated system and environmental conditions that can prevent it from achieving its objectives. In working towards a requirements-aware DAS, this paper proposes run-time monitoring and adaptation of tests as another technique for evaluating whether a DAS satisfies, or is even capable of satisfying, its requirements given its current execution context. To this end, this paper motivates the need and identifies challenges for adaptively testing a DAS at run time, as well as suggests possible methods for leveraging offline testing techniques for verifying run-time behavior.","PeriodicalId":414161,"journal":{"name":"2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"171 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116396408","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"High-quality specification of self-adaptive software systems","authors":"Markus Luckey, G. Engels","doi":"10.5555/2663546.2663569","DOIUrl":"https://doi.org/10.5555/2663546.2663569","url":null,"abstract":"Today' software systems have to cope with changing environments while at the same time facing high non-functional requirements such as flexibility and dependability. Recently, these non-functional requirements are addressed using self-adaptivity features, that is, the system monitors its environment and adjusts its structure or behavior in reaction to changes. In classical model-driven software engineering approaches, self-adaptivity introduces additional complexity since self-adaptation features are distributed in a cross-cutting manner at various different locations in the models, resulting in a tightly interwoven model landscape that is hard to understand and maintain. A particular solution to cope with this problem is the separation of concerns (SoC) to focus on the specific concern of self-adaptivity and allow in-depth analyses. Applying SoC requires suitable development processes, languages, and techniques, e.g., for quality assurance, to be available. In this paper, we present a method for the specification of self-adaptive software systems using a UML based concern-specific modeling language called Adapt Case Modeling Language (ACML) that allows the separated and explicit specification of self-adaptivity concerns. Based on formal semantics we show how to apply quality assurance techniques to the modeled self-adaptive system, which enable the provisioning of hard guarantees concerning self-adaptivity characteristics such as adaptation rule set stability and deadlock freedom. Further, we show how the language and techniques integrate with existing software development processes.","PeriodicalId":414161,"journal":{"name":"2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130762928","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Run-time adaptation of mobile applications using genetic algorithms","authors":"Gustavo G. Pascual, M. Pinto, L. Fuentes","doi":"10.1109/SEAMS.2013.6595494","DOIUrl":"https://doi.org/10.1109/SEAMS.2013.6595494","url":null,"abstract":"Mobile applications run in environments where the context is continuously changing. Therefore, it is necessary to provide support for the run-time adaptation of these applications. This support is usually achieved by middleware platforms that offer a context-aware dynamic reconfiguration service. However, the main shortcoming of existing approaches is that both the list of possible configurations and the plans to adapt the application to a new configuration are usually specified at design-time. In this paper we present an approach that allows the automatic generation at run-time of application configurations and of reconfiguration plans. Moreover, the generated configurations are optimal regarding the provided functionality and, more importantly, without exceeding the available resources (e.g. battery). This is performed by: (1) having the information about the application variability available at runtime using feature models, and (2) using a genetic algorithm that allows generating an optimal configuration at runtime. We have specified a case study and evaluated our approach, and the results show that it is efficient enough as to be used on mobile devices without introducing an excessive overhead.","PeriodicalId":414161,"journal":{"name":"2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125315677","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Synthesizing self-adaptive connectors meeting functional and performance concerns","authors":"A. Marco, P. Inverardi, Romina Spalazzese","doi":"10.1109/SEAMS.2013.6595500","DOIUrl":"https://doi.org/10.1109/SEAMS.2013.6595500","url":null,"abstract":"Today's networked environment is characterized by a wide variety of heterogeneous systems that dynamically decide to interoperate to achieve some goal. In this context, systems meet and know each other at runtime when they want to start to interoperate. Given the huge heterogeneity and dynamism characterizing the described environment, automated solutions appear to be the only way to achieve interoperability timely and with the needed level of flexibility. We already proposed an approach to the automated synthesis of connectors (or mediators) to reconcile protocols diversities and to allow systems interoperability. In this paper, building upon our previous work, we describe a solution to the automated synthesis of connectors: (a) that takes into account performance concerns during the synthesis process and (b) whose synthesized connectors are (self-) adaptive with respect to runtime performance requirements changes. By reasoning on systems' specification, the approach first produces a mediator that satisfies the functional requirements. Then it acts on the produced mediator to let it satisfy performance issues and to make it (self-)adaptive.","PeriodicalId":414161,"journal":{"name":"2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132539987","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Engineering adaptation with Zanshin: An experience report","authors":"Genci Tallabaci, V. Souza","doi":"10.1109/SEAMS.2013.6595496","DOIUrl":"https://doi.org/10.1109/SEAMS.2013.6595496","url":null,"abstract":"The Zanshin framework adopts a Requirements Engineering perspective to the design of adaptive systems and is centered around the idea of feedback loops. Evaluation experiments conducted so far have used simulations, limiting the strength of our conclusions on the viability of our proposal. In this paper, we report on the experience of applying Zanshin to an existing base system, a software that simulates an Automated Teller Machine (ATM), available online, drawing conclusions on the applicability of the framework's potential in real-life situations.","PeriodicalId":414161,"journal":{"name":"2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"50 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126537197","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Guaranteeing robustness in a mobile learning Application using formally verified MAPE loops","authors":"Didac Gil, Danny Weyns","doi":"10.1109/SEAMS.2013.6595495","DOIUrl":"https://doi.org/10.1109/SEAMS.2013.6595495","url":null,"abstract":"Mobile learning applications support traditional indoor lectures with outdoor activities using mobile devices. An example scenario is a team of students that use triangulation techniques to learn properties of geometrical figures. In previous work, we developed an agent-based mobile learning application in which students use GPS-enabled phones to calculate distances between them. From practical experience, we learned that the required level of GPS accuracy is not always guaranteed, which undermines the use of the application. In this paper, we explain how we have extended the existing application with a self-adaptation layer, making the system robust to degrading GPS accuracy. The self-adaptive layer is conceived as a set of interacting MAPE loops (Monitor-Analysis-Plan-Execute), distributed over the phones. To guarantee the robustness requirements, we formally specify the self-adaptive behaviors using timed automata, and the required properties using timed computation tree logic. We use the Uppaal tool to model the self-adaptive system and verify the robustness requirements. Finally, we discuss how the formal design supported the implementation of the self-adaptive layer on top of the existing application.","PeriodicalId":414161,"journal":{"name":"2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"95 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126985793","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Diagnosing architectural run-time failures","authors":"P. Casanova, D. Garlan, B. Schmerl, Rui Abreu","doi":"10.1109/SEAMS.2013.6595497","DOIUrl":"https://doi.org/10.1109/SEAMS.2013.6595497","url":null,"abstract":"Self-diagnosis is a fundamental capability of self-adaptive systems. In order to recover from faults, systems need to know which part is responsible for the incorrect behavior. In previous work we showed how to apply a design-time diagnosis technique at run time to identify faults at the architectural level of a system. Our contributions address three major shortcomings of our previous work: 1) we present an expressive, hierarchical language to describe system behavior that can be used to diagnose when a system is behaving different to expectation; the hierarchical language facilitates mapping low level system events to architecture level events; 2) we provide an automatic way to determine how much data to collect before an accurate diagnosis can be produced; and 3) we develop a technique that allows the detection of correlated faults between components. Our results are validated experimentally by injecting several failures in a system and accurately diagnosing them using our algorithm.","PeriodicalId":414161,"journal":{"name":"2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"81 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123973014","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Alessio Gambi, D. Moldovan, G. Copil, Hong Linh Truong, S. Dustdar
{"title":"On estimating actuation delays in elastic computing systems","authors":"Alessio Gambi, D. Moldovan, G. Copil, Hong Linh Truong, S. Dustdar","doi":"10.1109/SEAMS.2013.6595490","DOIUrl":"https://doi.org/10.1109/SEAMS.2013.6595490","url":null,"abstract":"Elastic controllers autonomically adjust the allocation of resources in cloud computing systems. Usually such controllers assume that control actions will take immediate effect. In clouds, however, actuation times may be long, and the controllers can hardly guarantee acceptable levels of service if they neglect these actuation delays. Therefore, the ability to correctly estimate the time that control actions take effect on the systems is crucial. However, detecting actuation delays in elastic computing systems is challenging because cloud systems provide only inaccurate and incomplete data about reconfigurations timing. In this paper, we tackle the problem of estimating the delay of control actions in elastic systems. We identify recurring types of changes in the monitored metrics and requirements to properly carry out the estimation. Based on that, we develop a novel framework for the actuation delays estimation that utilizes change point detection techniques. We conduct several experiments with real-world systems to illustrate the feasibility and applicability of our framework.","PeriodicalId":414161,"journal":{"name":"2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS)","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121123956","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}