{"title":"Programming language support to context-aware adaptation: a case-study with Erlang","authors":"C. Ghezzi, Matteo Pradella, G. Salvaneschi","doi":"10.1145/1808984.1808991","DOIUrl":"https://doi.org/10.1145/1808984.1808991","url":null,"abstract":"Software applications are increasingly situated in a world where context changes continuously. At the same time, applications need to provide continuous service, and the service provided often needs to change in order to adapt to the new contexts. Context-aware adaptation can be greatly facilitated by using programming languages that natively support high-level features to deal with contexts, context changes, and context-aware behaviors. Although context-oriented programming has been around for a while, most existing efforts focus on incorporating context-oriented features in languages that are not primarily oriented to concurrency, distribution, and dynamic reconfiguration. These features, however, characterize most pervasive context-aware situations. In this work, we illustrate how context-aware programming primitives may introduced in the parallel and distributed Erlang programming language. We also present an extended example, which illustrates the benefits of using our extension (ContextErlang) to design context-aware pervasive applications.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129697790","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":"On decentralized self-adaptation: lessons from the trenches and challenges for the future","authors":"Danny Weyns, S. Malek, J. Andersson","doi":"10.1145/1808984.1808994","DOIUrl":"https://doi.org/10.1145/1808984.1808994","url":null,"abstract":"Self-adaptability has been proposed as an effective approach to deal with the increasing complexity, distribution, and dynamicity of modern software systems. Although noteworthy successes have been achieved in many fronts, there is a lack of understanding on how to engineer distributed self-adaptive software systems in which central control is not possible. In this paper, we first describe the key attributes of decentralized self-adaptive systems that set them apart from their centralized counterparts. We illustrate these attributes using two case studies on decentralized self-adaptation. The first case study is an instance of a self-healing system dealing with automated traffic management control. The second case study is an instance of a self-optimizing system that improves the quality of service of a decentralized software system through redeployment of its software components. We generalize the lessons learned from our experiences in the form of a reference model. In light of this model, we present numerous challenges that forms the focus of future research in this area.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130894220","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":"Design patterns for developing dynamically adaptive systems","authors":"A. J. Ramírez, B. Cheng","doi":"10.1145/1808984.1808990","DOIUrl":"https://doi.org/10.1145/1808984.1808990","url":null,"abstract":"Increasingly, software systems should self-adapt to satisfy new requirements and environmental conditions that may arise after deployment. Due to their high complexity, adaptive programs are difficult to specify, design, verify, and validate. Moreover, the current lack of reusable design expertise that can be leveraged from one adaptive system to another further exacerbates the problem. We studied over thirty adaptation-related research and project implementations available from the literature and open sources to harvest adaptation-oriented design patterns that support the development of adaptive systems. These adaptation-oriented patterns facilitate the separate development of the functional and adaptive logic. In order to support the assurance of adaptive systems, each design pattern includes templates that formally specify invariant properties of adaptive systems. To demonstrate their usefulness, we have applied a subset of our adaptation-oriented patterns to the design and implementation of ZAP.com, an adaptive news web server.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115127867","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":"Live goals for adaptive service compositions","authors":"L. Baresi, L. Pasquale","doi":"10.1145/1808984.1808997","DOIUrl":"https://doi.org/10.1145/1808984.1808997","url":null,"abstract":"Service compositions represent an important family of self-adaptive systems. Though many approaches for monitoring and adapting service compositions have already been proposed, a clear connection with the motivations for using such techniques is still missing. To this aim we address self-adaptation from requirements elicitation down to execution. In this paper, we propose to enrich existing goal models with adaptive goals, responsible for the actual evolution/adaptation of the goal model at runtime. We also translate the goal model with both conventional and adaptive goals, into the actual functionality provided by the system and the adaptation policies needed to make it self-adapt.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"28 4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114026636","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}
Luca Cavallaro, E. D. Nitto, Patrizio Pelliccione, Matteo Pradella, Massimo Tivoli
{"title":"Synthesizing adapters for conversational web-services from their WSDL interface","authors":"Luca Cavallaro, E. D. Nitto, Patrizio Pelliccione, Matteo Pradella, Massimo Tivoli","doi":"10.1145/1808984.1808996","DOIUrl":"https://doi.org/10.1145/1808984.1808996","url":null,"abstract":"Service-oriented applications are typically built out of existing web-services (WSs) possibly made available by third party vendors. This requires that the application has to be able to evolve when the composing WSs are not anymore available or when new, more useful ones, are published. In this setting, an important problem is to understand how to use WSs showing an interface that differs from the one the application has been built to. The problem becomes even more complex when we consider conversational WSs, i.e., WSs that expose operations that have Input/Output (I/O) data dependencies among them. This paper presents a complete development methodology to the automatic synthesis of adapters for conversational WSs starting from their WSDL interface. The result is a tool-supported methodology that takes as input the WSDL of a pair of services and automatically builds a script that maps a sequence of operation invocations on a \"WS to be replaced\" into an equivalent sequence of operation invocations on the \"replacing WS\". The overall approach is presented by applying it to two existing WSs that realize two distinct, but equivalent, search engines for lyric music.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"04 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129281136","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}
S. Dustdar, C. Dorn, Fei Li, L. Baresi, Giacomo Cabri, C. Pautasso, F. Zambonelli
{"title":"A roadmap towards sustainable self-aware service systems","authors":"S. Dustdar, C. Dorn, Fei Li, L. Baresi, Giacomo Cabri, C. Pautasso, F. Zambonelli","doi":"10.1145/1808984.1808986","DOIUrl":"https://doi.org/10.1145/1808984.1808986","url":null,"abstract":"Self-awareness and self-adaptation have become primary concerns in large-scale systems as they have become too complex to be managed by human administrators alone, but rather require a new blend of coordination mechanisms between people and software services.\u0000 This paper presents a roadmap to effective and efficient system adaptation through coupling self-awareness of global-level goals with sustainability constraints. Sustainability of large-scale systems challenges self-adaptation approaches by its intrinsic characters of global and long-lasting effects. We introduce five levels of awareness: (i) event-awareness, (ii) situation-awareness, (iii) adaptability awareness, (iv) goal-awareness, and (v) future-awareness. Within each level we introduce applicable principles and subsequently outline necessary models, algorithms, and protocols. The approach puts special focus on the interdependencies of human and service elements.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"18 7","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120822075","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":"Improving impact of self-adaptation and self-management research through evaluation methodology","authors":"Yuriy Brun","doi":"10.1145/1808984.1808985","DOIUrl":"https://doi.org/10.1145/1808984.1808985","url":null,"abstract":"Today, self-adaptation and self-management approaches to software engineering are viewed as specialized techniques and reach a somewhat limited community. In this paper, I overview the current state and expectation of self-adaptation and self-management impact in industry and in premier publication venues and identify what we, as a community, may do to improve such impact.\u0000 In particular, I find that common evaluation methodologies make it relatively simple for self-adaptation and self-management research to be compared to other such research, but not to more-traditional software engineering research. I argue that extending the evaluation to include comparisons to traditional software engineering techniques may improve a reader's ability to judge the contribution of the research and increase its impact. Finally, I propose a set of evaluation guidelines that may ease the promotion of self-adaptation and self-management as mainstream software engineering techniques.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"243 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134348666","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":"Starfish: policy driven self-management in wireless sensor networks","authors":"Themistoklis Bourdenas, M. Sloman","doi":"10.1145/1808984.1808993","DOIUrl":"https://doi.org/10.1145/1808984.1808993","url":null,"abstract":"Wireless sensor networks are a key aspect of many pervasive systems designed to aid people in their normal activities and adapt to their current context. However, these systems also need to be self-managing in discovering and configuring devices for services, detecting and responding to attacks, determining errors and faults and reconfiguring the system to mitigate these. In this paper we describe the Starfish framework for specifying and dynamically managing policies in sensor nodes. We discuss the components in the framework which include the Finger2 policy system for specifying dynamic adaptivity, a module library to simplify the programming the basic funtionality of nodes and a client side editor for managing policies. We describe policies for an adaptive healthcare body network then focus on policies for self-healing aspects of sensor networks and give examples of policy-based reconfigurations to deal with faults.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114537581","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":"On the role of the user in monitoring the environment in self-adaptive systems: a position paper","authors":"J. Whittle, W. Simm, M. Ferrario","doi":"10.1145/1808984.1808992","DOIUrl":"https://doi.org/10.1145/1808984.1808992","url":null,"abstract":"Self-adaptive systems (SASs) have the ability to reconfigure their behavior to respond to changing external conditions. A key element of a SAS, therefore, is how to monitor the environment so that appropriate adaptations can be triggered. In complex systems, monitoring the environment in its entirety is either impossible or too expensive. As a result, some adaptations are not possible because there is no monitor in place to trigger them. This paper discusses the role of human input, given as speech or text, as a way to provide environmental information to a SAS. The idea is that, given the limitations of monitoring the environment in full, human commentary can potentially be used to build up a more complete picture of the operating context of a SAS. The paper describes existing technology that could be used to realize this idea and describes a number of scenarios where the idea could be useful.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131174792","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}
Elsy Kaddoum, C. Raibulet, J. Georgé, Gauthier Picard, M. Gleizes
{"title":"Criteria for the evaluation of self-* systems","authors":"Elsy Kaddoum, C. Raibulet, J. Georgé, Gauthier Picard, M. Gleizes","doi":"10.1145/1808984.1808988","DOIUrl":"https://doi.org/10.1145/1808984.1808988","url":null,"abstract":"In the last years, the growing complexity of the current applications has led to the design of self-adapting systems presenting self-* properties. These systems are composed of several autonomous interactive entities. They behave autonomously and present enhanced characteristics allowing them to handle dynamics coming from exogenous and endogenous changes.\u0000 In this paper, we propose a set of criteria for the description and evaluation of the adaptive properties of such systems. They aim to provide a concrete mechanism to analyze the quality of the design of adaptive systems, to evaluate the effect of self-* properties on the performances and to compare the adaptive features of different systems. The criteria are grouped into different categories: methodological, architectural, intrinsic, and runtime evaluation. They have been identified and specified by analyzing several case studies, which address self-adaptivity issues through different approaches with different objectives in various application contexts.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-05-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129070410","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}