{"title":"The Unstoppable Orchestra: a responsive distributed application","authors":"Matthias Werner, A. Polze, M. Malek","doi":"10.1109/CDS.1996.509357","DOIUrl":"https://doi.org/10.1109/CDS.1996.509357","url":null,"abstract":"Responsiveness, the ability to provide real-time behavior even in the presence of faults, is becoming one of the most sought after properties in distributed computing systems. We present a framework for \"high-performance responsive computing\" in networked systems whose current implementation works on a network of five NeXTSTEP (Mach 2.5)-based HP workstations. \"The Unstoppable Orchestra\" is a demonstration program which runs in our environment. This application simulates a real orchestra consisting of musicians playing different instrumental parts of a classical masterpiece. However instead of real musicians our orchestra consists of computers equipped with speakers. In contrast to the real orchestra, where a sudden disappearance of, for example, a flautist can hardly be hidden, in our orchestra one \"musician\" can take over his neighbour's part, ensuring uninterrupted performance. We discuss the design issues behind the \"Unstoppable Orchestra\" and show how our programming framework supports synchronization and reconfiguration of responsive applications.","PeriodicalId":302050,"journal":{"name":"Proceedings of International Conference on Configurable Distributed Systems","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127527007","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":"A uniform approach to configuration and communication in distributed systems","authors":"N. Pryce, S. Crane","doi":"10.1109/CDS.1996.509356","DOIUrl":"https://doi.org/10.1109/CDS.1996.509356","url":null,"abstract":"This paper describes the design and implementation of extensions to the Regis distributed programming platform which add protocol stacks to communication endpoints. Although the initial goal was to extend Regis to support multiple transport protocols, groupcast and multimedia communication, the dynamic nature of the protocol framework allowed new approaches to the design of communication protocol software. Transient protocol layers provide support for binding establishment and connection management in a manner which is largely transparent to the user of the endpoint. The paper describes this approach through examples and shows how it leads to greater efficiency and a greater degree of code reuse.","PeriodicalId":302050,"journal":{"name":"Proceedings of International Conference on Configurable Distributed Systems","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126442769","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":"Abstractions and implementations for architectural connections","authors":"M. Shaw, R. Deline, G. Zelesnik","doi":"10.1109/CDS.1996.509340","DOIUrl":"https://doi.org/10.1109/CDS.1996.509340","url":null,"abstract":"The architecture of a software system shows how the system is realized by a collection of components together with the interactions among these components. Conventional design focuses the components, but the properties of the system depend critically on the character of the interactions. Although software designers have good informal abstractions for these interactions, these abstractions are poorly supported by the available languages and tools. As a result, the choice of interaction is often defaulted or made implicitly rather than deliberately chosen. Further, interactions are usually programmed in terms of underlying mechanisms rather than the designers natural abstractions. UniCon supports a rich selection of abstractions for the connectors that mediate interactions among components. Connector implementation presents special challenges. The \"compiler\" must produce and integrate not only the object code for components, but also a variety of other run-time products. The definition of a connector requires many connector-specific kinds of information in the compiler, graphical editor, and associated tools. Extending the set of connectors supported by UniCon requires this information to be provided by the connector designer and automatically integrated in the compiler. The paper describes the role of connector abstractions in software design, the connector abstractions currently supported by UniCon, and implementation issues associated with supporting an open-ended collection of connectors.","PeriodicalId":302050,"journal":{"name":"Proceedings of International Conference on Configurable Distributed Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128859885","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":"The design and implementation of a framework for configurable software","authors":"S. Wheater, M. Little","doi":"10.1109/CDS.1996.509355","DOIUrl":"https://doi.org/10.1109/CDS.1996.509355","url":null,"abstract":"Software systems are typically composed of numerous components, each of which is responsible for a different function. Different implementations of a component may be possible, with each implementation tailored for a specific set of applications or environments. Being able to reconfigure software systems to make use of these different implementations with the minimum of effect on existing users and applications is desirable. Configurable software systems are also important for a number of other reasons: additional components or modifications to those currently available, may be required. For example, new versions of software components may be necessary due to the discovery of design flaws in a component; a RPC which provider unreliable message delivery may be suitable for an application in a local area network, but if the application is to be used in a wide area network, a different RPC implementation, which guarantees message delivery, may be necessary. Therefore, software is often required to be configurable, enabling modifications to occur with minimal effect on existing users. To allow this configurability, components should only be available through interfaces that are clearly separated from their implementations, allowing users to be isolated from any implementation changes. Object-oriented programming techniques offer a good basis upon which this separation can be provided. This paper describes a model for constructing configurable software based upon this separation, and illustrates this with a software development system.","PeriodicalId":302050,"journal":{"name":"Proceedings of International Conference on Configurable Distributed Systems","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124998873","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":"Dynamic configuration management in the Guide object-oriented distributed system","authors":"I. Oueichek, X. R. D. Pina","doi":"10.1109/CDS.1996.509343","DOIUrl":"https://doi.org/10.1109/CDS.1996.509343","url":null,"abstract":"The configuration management service is the part of system management which provides support for dynamic reconfiguration that allows addition and removal of components without stopping the whole system. The paper presents an efficient algorithm which realizes a difficult compromise between four important criterion: correctness and system consistency, performance and global overhead of the system, support for a large class of applications which will survive system changes, and reducing the required mechanisms for algorithm implementation.","PeriodicalId":302050,"journal":{"name":"Proceedings of International Conference on Configurable Distributed Systems","volume":"33 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125450485","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-line maintenance with on-the-fly software replacement","authors":"S. Hauptmann, J. Wasel","doi":"10.1109/CDS.1996.509348","DOIUrl":"https://doi.org/10.1109/CDS.1996.509348","url":null,"abstract":"At Philips Research Laboratories Aachen we have found a way to reconfigure software in embedded systems like, for example, switches or set top boxes. The goal of the reconfiguration is to repair software faults and to update software functionality. This should be done on-the-fly without decreasing the system's availability which means during the on-going operation of the system. The developed approach is based on available distributed operating system technology (Chorus) and on a widely used family of programming languages (C/C++). It does not require changes in the operating system nor in the development system. All needed adaptations are done in the application. However, it was our goal to keep the development of the application functionality separated from the creation of the replaceability. An application is made replaceable through some systematic changes which can be done automatically. Some additional effort is still needed. This paper describes the mechanisms developed for that purpose. As a reconfiguration unit we have chosen a Chorus actor which is a kind of a multi-threaded process. We describe how to make such a process replaceable. Finally, we give some performance figures to show the efficiency of the implemented algorithms.","PeriodicalId":302050,"journal":{"name":"Proceedings of International Conference on Configurable Distributed Systems","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129597764","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":"Models for computational steering","authors":"J. Vetter, K. Schwan","doi":"10.1109/CDS.1996.509351","DOIUrl":"https://doi.org/10.1109/CDS.1996.509351","url":null,"abstract":"This paper describes a conceptual model for computational program steering. By exploiting previous results attained in program monitoring, debugging, and configuration, the abstractions and mechanisms derived from this model are shown suitable for both algorithmic and human interactive steering. A characterization of existing systems for computational steering using the model's abstractions demonstrate such generality. The model is illustrated through its use for steering a large-scale scientific code. Mechanisms for computational steering derived from the model are presented that include sensors, probes, and actuators.","PeriodicalId":302050,"journal":{"name":"Proceedings of International Conference on Configurable Distributed Systems","volume":"69 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120814892","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":"Implementing interactive configuration management for distributed systems","authors":"H. Fosså, M. Sloman","doi":"10.1109/CDS.1996.509345","DOIUrl":"https://doi.org/10.1109/CDS.1996.509345","url":null,"abstract":"The paper describes an environment for interactive configuration management of software for distributed applications and services. Configuration management involves creating the components which form a distributed system; allocating these components to physical nodes and binding the interfaces of the components to each other or to existing services. Components and their required and provided interfaces are represented and accessible in the system-wide domain structure. We describe a graphical configuration environment, based on the Darwin configuration language which is used to create the required configurations and maintain the configuration structure as part of the overall systems management infrastructure. The paper describes a simple example to show how a system can be initially constructed and subsequently reconfigured at run-time without shutting down the system.","PeriodicalId":302050,"journal":{"name":"Proceedings of International Conference on Configurable Distributed Systems","volume":"CE-33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126548067","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":"Practical description of configurations for distributed systems management","authors":"J. Thornton","doi":"10.1109/CDS.1996.509344","DOIUrl":"https://doi.org/10.1109/CDS.1996.509344","url":null,"abstract":"As distributed systems grow larger and more complex, the problem of managing them becomes more serious and automated assistance becomes essential. Automated management services need to become a standard part of distributed systems but in order for them to be of any value they must be general enough to adapt to the needs of any organization, without sacrificing practical usability. That challenge is partially addressed with a proposal for automated configuration management based upon descriptions of configuration states. The proposed model is very general, yet the language and algorithms that are introduced are designed to be very practical. Experimental application of this approach to a real-life configuration problem is presented, with comparison to the existing solution that is in production use.","PeriodicalId":302050,"journal":{"name":"Proceedings of International Conference on Configurable Distributed Systems","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133386537","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}
Crispin Cowan, Tito Autrey, C. Krasic, C. Pu, J. Walpole
{"title":"Fast concurrent dynamic linking for an adaptive operating system","authors":"Crispin Cowan, Tito Autrey, C. Krasic, C. Pu, J. Walpole","doi":"10.1109/CDS.1996.509352","DOIUrl":"https://doi.org/10.1109/CDS.1996.509352","url":null,"abstract":"The need for customizable and application-specific operating systems has been recognized for many years. A customizable operating system is one that can adapt to some particular circumstance to gain some functional or performance benefits. Microkernels have attempted to address this problem, but suffer performance degradation due to the cost of inter-process protection barriers. Commercial operating systems that can efficiently adapt themselves to changing circumstances have failed to appear, in part due to the difficulty of providing an interface that is efficient to invoke, provides a protection barrier, and can be dynamically reconfigured. Providing such a safe, efficient, and dynamic interface in a concurrent operating system requires an effective concurrency control mechanism to prevent conflicts between system components proposing to execute specialized components, and those components responsible for dynamically replacing specialized components. We outline our basic approach to specialization of operating systems, and detail our dynamic replacement mechanism and its concurrency control features.","PeriodicalId":302050,"journal":{"name":"Proceedings of International Conference on Configurable Distributed Systems","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1996-05-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123952657","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}