Jonathan Aldrich, Vibha Sazawal, C. Chambers, D. Notkin
{"title":"Architecture-centric programming for adaptive systems","authors":"Jonathan Aldrich, Vibha Sazawal, C. Chambers, D. Notkin","doi":"10.1145/582128.582146","DOIUrl":"https://doi.org/10.1145/582128.582146","url":null,"abstract":"Ubiquitous computing services are a fast-growing and challenging class of self-healing systems that must adapt to constant failures and environmental changes. Writing robust ubiquitous computing code is difficult in current programming systems. The architecture, interfaces, and logic of the program are often obscured by infrastructure details, making the development and evolution of these systems difficult and error-prone.We are exploring whether implementation language support for software architecture can aid in the development and evolution of ubiquitous computing systems. One such approach, embodied in the ArchJava language, allows programmers to express the software architecture of an application within Java source code. In this paper, we propose an extension to ArchJava allowing programmers to define custom connectors. Custom connectors are useful in many different contexts; we show how they can be used to implement part of the PlantCare ubiquitous computing application in ArchJava.","PeriodicalId":326554,"journal":{"name":"Workshop on Self-Healing Systems","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131383002","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 a synthesis of dynamic architecture event languages","authors":"D. Wile","doi":"10.1145/582128.582143","DOIUrl":"https://doi.org/10.1145/582128.582143","url":null,"abstract":"Self-healing systems generally require reflective models of their own operation to determine what aspects of themselves they can change to effect repair. Architecture models are examples of rather simple models to which health information can be attached and reasoned about, e.g. attaching system state to a process or tracking events across connectors. These models are especially useful when the architecture of the system varies while the system is running, in so-called \"dynamic architectures.\"DARPA's DASADA program is developing an architecture-based infrastructure for self-healing, self-adapting systems. Herein several protocols for dynamic architecture change notification from that program are examined in search of a community standard for such a protocol. Desirable properties of such protocols are suggested based in part on how much constraint checking will be used to proscribe dynamic architecture building activity. Points for discussion are raised.","PeriodicalId":326554,"journal":{"name":"Workshop on Self-Healing Systems","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131636545","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":"Understanding self-healing in service-discovery systems","authors":"Christopher E. Dabrowski, K. Mills","doi":"10.1145/582128.582132","DOIUrl":"https://doi.org/10.1145/582128.582132","url":null,"abstract":"Service-discovery systems aim to provide consistent views of distributed components under varying network conditions. To achieve this aim, designers rely upon a variety of self-healing strategies, including: architecture and topology, failure-detection and recovery techniques, and consistency maintenance mechanisms. In previous work, we showed that various combinations of self-healing strategies lead to significant differences in the ability of service-discovery systems to maintain consistency during increasing network failure. Here, we ask whether the contribution of individual self-healing strategies can be quantified. We give results that quantify the effectiveness of selected combinations of architecture-topology and recovery techniques. Our results suggest that it should prove feasible to quantify the ability of individual self-healing strategies to overcome various failures. A full understanding of the interactions among self-healing strategies would provide designers of distributed systems with the knowledge necessary to build the most effective self-healing systems with minimum overhead.","PeriodicalId":326554,"journal":{"name":"Workshop on Self-Healing Systems","volume":"10 10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123113516","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":"An instrumentation and control-based approach for distributed application management and adaptation","authors":"D. Reilly, A. Taleb-Bendiab, A. Laws, N. Badr","doi":"10.1145/582128.582140","DOIUrl":"https://doi.org/10.1145/582128.582140","url":null,"abstract":"Distributed applications are notoriously difficult to develop and manage due to their inherent dynamics and heterogeneity of component technologies and network protocols. Middleware technologies dramatically simplify the development of distributed applications, but they still prove difficult to manage at runtime. This paper considers the \"on-going\" development of a framework that provides instrumentation and control services, which extend core middleware services, to realize the runtime management and adaptation of distributed applications. The instrumentation and control services are used in conjunction with dependency management utilities to measure performance, monitor behaviour and resolve the runtime inconsistencies and conflicts that may occur in distributed applications.","PeriodicalId":326554,"journal":{"name":"Workshop on Self-Healing Systems","volume":"104 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125646665","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}