4 research outputs found

    How To Touch a Running System

    Get PDF
    The increasing importance of distributed and decentralized software architectures entails more and more attention for adaptive software. Obtaining adaptiveness, however, is a difficult task as the software design needs to foresee and cope with a variety of situations. Using reconfiguration of components facilitates this task, as the adaptivity is conducted on an architecture level instead of directly in the code. This results in a separation of concerns; the appropriate reconfiguration can be devised on a coarse level, while the implementation of the components can remain largely unaware of reconfiguration scenarios. We study reconfiguration in component frameworks based on formal theory. We first discuss programming with components, exemplified with the development of the cmc model checker. This highly efficient model checker is made of C++ components and serves as an example for component-based software development practice in general, and also provides insights into the principles of adaptivity. However, the component model focuses on high performance and is not geared towards using the structuring principle of components for controlled reconfiguration. We thus complement this highly optimized model by a message passing-based component model which takes reconfigurability to be its central principle. Supporting reconfiguration in a framework is about alleviating the programmer from caring about the peculiarities as much as possible. We utilize the formal description of the component model to provide an algorithm for reconfiguration that retains as much flexibility as possible, while avoiding most problems that arise due to concurrency. This algorithm is embedded in a general four-stage adaptivity model inspired by physical control loops. The reconfiguration is devised to work with stateful components, retaining their data and unprocessed messages. Reconfiguration plans, which are provided with a formal semantics, form the input of the reconfiguration algorithm. We show that the algorithm achieves perceived atomicity of the reconfiguration process for an important class of plans, i.e., the whole process of reconfiguration is perceived as one atomic step, while minimizing the use of blocking of components. We illustrate the applicability of our approach to reconfiguration by providing several examples like fault-tolerance and automated resource control

    Influence control for dynamic reconfiguration

    No full text
    Dynamic reconfiguration is a useful technique for software update because it can achieve an architectural change without shutdown of a system. However, so far in the state-of-arts, there has not been an approach that can evaluate and control both the functional influence and performance influence of reconfiguration in a unified framework. In this paper, we present an approach that addresses the above drawback. In our approach, we use a reconfiguration algorithm and a reconfiguration scheduler to control these two types of influence. The algorithm reduces the logical performance influence by allowing old and new components coexisting and uses a version management mechanism to avoid functional side effect in the coexisting period. The scheduler controls the physical performance influence through restricting the processor time spent on the reconfiguration procedure. We implement the algorithm and the scheduler in our Reconfiguration Data Flow model

    Influence control for dynamic reconfiguration of data flow systems

    No full text
    Influence control is a very challenging issue in dynamic reconfiguration and still not well addressed in the literature. This paper argues that dynamic reconfiguration influences system execution in four ways: functional update, functional side-effect, logical influence on performance and physical influence on performance. Methods including version control, transaction tracing, switching reconfiguration plan, and reconfiguration scheduling have been proposed for controlling the influence. These methods are integrated into the Reconfigurable Data Flow (RDF) model, which is designed to support the dynamic reconfiguration of stateless data flow systems. The RDF platform is an implementation of the RDF model on Java platform. The RDF platform is implemented as an open frame for different reconfiguration planning algorithms and scheduling policies to be simulated and their influence to be quantitatively compared on a single platform. Using the Data Encryption and Digital Signature System as a case study, tests have been done on the RDF platform to examine the influence of different reconfiguration planning algorithms and scheduling policies. Experimental results show that the methods proposed in this paper is effective in controlling the influence of dynamic reconfigurations

    Influence control for dynamic reconfiguration of data flow systems

    No full text
    Influence control is a very challenging issue in dynamic reconfiguration and still not well addressed in the literature. This paper argues that dynamic reconfiguration influences system execution in four ways: functional update, functional side-effect, logical influence on performance and physical influence on performance. Methods including version control, transaction tracing, switching reconfiguration plan, and reconfiguration scheduling have been proposed for controlling the influence. These methods are integrated into the Reconfigurable Data Flow (RDF) model, which is designed to support the dynamic reconfiguration of stateless data flow systems. The RDF platform is an implementation of the RDF model on Java platform. The RDF platform is implemented as an open frame for different reconfiguration planning algorithms and scheduling policies to be simulated and their influence to be quantitatively compared on a single platform. Using the Data Encryption and Digital Signature System as a case study, tests have been done on the RDF platform to examine the influence of different reconfiguration planning algorithms and scheduling policies. Experimental results show that the methods proposed in this paper is effective in controlling the influence of dynamic reconfigurations
    corecore