{"title":"Scheduling time-bounded dynamic software adaptation","authors":"S. Fritsch, A. Senart, D. Schmidt, S. Clarke","doi":"10.1145/1370018.1370035","DOIUrl":"https://doi.org/10.1145/1370018.1370035","url":null,"abstract":"Component-based software increasingly needs dynamic adaptation to support applications in domains such as automotive, avionics or robotic systems. Dynamic software adaptation involves both the integration of new, previously unanticipated features and the update of existing features without requiring system downtime. Software adaptations must often be time-bounded, e.g., due to mobility constraints. Inconsistent or inaccurate behaviour may result from an adaptation that does not complete within specified time constraints. Service providers must therefore take time constraints into account when scheduling adaptation actions. This paper describes an algorithm for time-bounded scheduling of adaptation actions and demonstrates the validity of its results.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115108589","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":"From goals to components: a combined approach to self-management","authors":"Daniel Sykes, W. Heaven, J. Magee, J. Kramer","doi":"10.1145/1370018.1370020","DOIUrl":"https://doi.org/10.1145/1370018.1370020","url":null,"abstract":"Autonomous or semi-autonomous systems are deployed in environments where contact with programmers or technicians is infrequent or undesirable. To operate reliably, such systems should be able to adapt to new circumstances on their own. This paper describes our combined approach for adaptable software architecture and task synthesis from high-level goals, which is based on a three-layer model. In the uppermost layer, reactive plans are generated from goals expressed in a temporal logic. The middle layer is responsible for plan execution and assembling a configuration of domain-specific software components, which reside in the lowest layer. Moreover, the middle layer is responsible for selecting alternative components when the current configuration is no longer viable for the circumstances that have arisen. The implementation demonstrates that the approach enables us to handle non-determinism in the environment and unexpected failures in software components.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126470522","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":"Runtime adaptation in a service-oriented component model","authors":"Florian Irmert, Thomas Fischer, K. Meyer-Wegener","doi":"10.1145/1370018.1370036","DOIUrl":"https://doi.org/10.1145/1370018.1370036","url":null,"abstract":"Developing software applications which manage, optimize or adapt themselves at runtime requires an architecture which provides adaptation of software components at runtime. An architecture model that has gained a lot of attention in recent years is SOA (service-oriented architecture). In a SOA environment services as well as applications build up complex dependencies. Therefore it is crucial for self-managing SOA applications to adapt services at runtime without interference of the application execution and the service availability. In this paper, we discuss the problems arising from the requirement of runtime adaptation and present our solution by replacing service implementations at execution time in a service-oriented component model. For a seamless integration we strive for a transparent and atomic replacement of a service implementation in respect to the other services/applications.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125528242","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":"Policy-based self-adaptive architectures: a feasibility study in the robotics domain","authors":"John C. Georgas, R. Taylor","doi":"10.1145/1370018.1370038","DOIUrl":"https://doi.org/10.1145/1370018.1370038","url":null,"abstract":"Robotics is a challenging domain which sometimes exhibits a clear need for self-adaptive capabilities, as such functionality offers the potential for robots to account for their unstable and unpredictable deployment domains. This paper focuses on a feasibility study in applying a policy- and architecture-based approach to the development of self-adaptive robotic systems. We describe two case studies in which we construct self-adaptive Robocode and Mindstorms robots, report on our development experiences, and discuss the challenges we encountered. The paper establishes that it is feasible to apply our approach to the robotics domain, contributes a discussion of the architectural issues we encountered, and further evaluates our general-purpose approach.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"51 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125276963","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":"Adaptivity at every layer: a modular approach for evolving societies of learning autonomous systems","authors":"W. Richert, B. Kleinjohann","doi":"10.1145/1370018.1370039","DOIUrl":"https://doi.org/10.1145/1370018.1370039","url":null,"abstract":"We describe a developmental architecture that enables individual robots to fulfill tasks assigned to the robot society in a robust, decentralized manner. The architecture is meant to show emergent properties according to Organic Computing principles that are positive for the society's robustness and performance. This requires the architecture to feature those adaptation and learning processes that are not only selfishly useful for the individual robot, but also incorporate the robot society's actual needs at all layers.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134276524","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}
Danny Weyns, Robrecht Haesevoets, Bart Van Eylen, Alexander Helleboogh, T. Holvoet, W. Joosen
{"title":"Endogenous versus exogenous self-management","authors":"Danny Weyns, Robrecht Haesevoets, Bart Van Eylen, Alexander Helleboogh, T. Holvoet, W. Joosen","doi":"10.1145/1370018.1370027","DOIUrl":"https://doi.org/10.1145/1370018.1370027","url":null,"abstract":"Self-management is considered as one of the crucial means for software systems to deal with changing demands at runtime. Self-management endows a software systems with the ability to adapt its structure or behavior without human intervention. Two different approaches are put forward for self-management: (1) the system components adapt their structure or behavior to changing requirements and cooperatively realize system adaptation - this approach can be considered as endogenous self-management; (2) the system is adapted through a control loop, i.e. the system is monitored to maintain an explicit representation of the system and based on a set of high-level objectives, the system structure or its behavior is adapted - this approach can be considered as exogenous self-management.\u0000 In this paper, we introduce a hybrid software architecture that combines both approaches. A multi-agent system architecture allows agents to flexibly adapt their behavior to changes in their context providing cooperative system adaptation. Then, we extend the multi-agent system architecture with a decentralized control loop adding self-healing properties to the system. We use intelligent monitoring of traffic jams as an illustrative case.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"237 5","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134294362","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":"Monitoring multi-tier clustered systems with invariant metric relationships","authors":"M. A. Munawar, M. Jiang, Paul A. S. Ward","doi":"10.1145/1370018.1370032","DOIUrl":"https://doi.org/10.1145/1370018.1370032","url":null,"abstract":"To ensure high availability, self-managing systems require self-monitoring and a system model against which to analyze monitoring data. Characterizing relationships between system metrics has been shown to model simple multi-tier transaction systems effectively, enabling failure detection and fault diagnosis. In this paper we show how to extend this invariant metric-relationships approach to clustered multi-tier systems. We show through analysis and experimentation that naive application of the approach increases cost dramatically while reducing diagnosis accuracy. We demonstrate that randomization at the load balancer during the invariant-identification phase will improve diagnosis accuracy, though it neither completely eliminates the problem nor reduces the cost; indeed, it may increase the cost, as this approach will require a long learning phase to remove all accidental correlations. Finally, we argue that knowing the system structure is necessary to effectively apply invariants to the clustered environment.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115762708","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":"Component engineering for adaptive ad-hoc systems","authors":"C. Peper, D. Schneider","doi":"10.1145/1370018.1370028","DOIUrl":"https://doi.org/10.1145/1370018.1370028","url":null,"abstract":"Dynamic computing systems with small, distributed, and communicating embedded devices, as they are expected for the future, must be able to manage appearance and loss of devices and resources. For the development of static systems, component-oriented engineering approaches have been shown to foster well-structured, configurable systems. Frameworks for the dynamic integration of such components often rely on a centralized component integration platform, containing service brokers and similar. This paper describes several aspects of a component-oriented approach for the development of dynamic-adaptive systems that distributes all needed infrastructure among the participating embedded devices. This results in a runtime framework working whenever two components come together and form an ad-hoc system.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"4 2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116860158","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":"Slicing for model reduction in adaptive embedded systems development","authors":"Ina Schaefer, A. Poetzsch-Heffter","doi":"10.1145/1370018.1370024","DOIUrl":"https://doi.org/10.1145/1370018.1370024","url":null,"abstract":"Model-based development of adaptive embedded systems is an approach to deal with the increased complexity that adaptation requirements impose on system design. Integrating formal verification techniques into this design process provides means to rigorously prove critical properties. However, most automatic verification techniques such as model checking are only effectively applicable to systems of limited sizes due to the state-explosion problem. Our approach to alleviate this problem consists of (a) a semantics-based integration of model-based development and formal verification for adaptive embedded systems and (b) an automatic slicing technique of models with respect to properties to be verified. Slicing is carried out on a high-level formal intermediate representation of the models providing a clear separation of functional and adaptation behaviour. The internal model structure can be exploited to identify system parts that are irrelevant for a property. In particular, slicing offers efficient model reductions for the verification of properties of the adaptation behaviour. The overall approach and the slicing techniques have been evaluated together with the development of an adaptive vehicle stability control system.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116950558","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 decentralized self-adaptive component-based systems","authors":"L. Baresi, Sam Guinea, Giordano Tamburrelli","doi":"10.1145/1370018.1370029","DOIUrl":"https://doi.org/10.1145/1370018.1370029","url":null,"abstract":"Modern software systems are challenging challenge software engineers since they must adapt effectively and efficiently with respect to the environment in which they are deployed. To this end, the paper outlines an architecture, supported by special-purpose languages and aspect oriented techniques, for the design of component-based of distributed self-adaptive systems. Software artifacts are dynamically grouped, and constantly supervised by a network of ad-hoc components. The supervision mechanism exploits special-purpose languages that define data collection, correlation, aggregation, and analysis, to reason on properties defined at different levels of pervasiveness (from component-wide to system-wide). Its goal is to identify situations that trigger adaptations. Our approach is characterized by a decentralized architecture in which there is no single point of failure or bottleneck, and a clear separation of concerns between business logic and adaptation mechanisms. These concepts are demonstrated by a fantasy example that offers a general abstraction for distributed load balancing problems.","PeriodicalId":168314,"journal":{"name":"International Symposium on Software Engineering for Adaptive and Self-Managing Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-05-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129953177","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}