To design effective exception handlers, developers must predict at design time the exceptional events that may occur at runtime, and must implement the corresponding handlers on the basis of their predictions. Designing exception handlers for component-based software systems is particularly difficult because the information required to build handlers is distributed between component and application developers. Component developers know the internal details of the components but ignore the applications, while application developers own the applications but cannot access the details required to implement handlers in components.This article addresses the problem of automatically healing the infield failures that are caused by faulty integration of OTS components. In the article, we propose a technique and a methodology to decouple the tasks of component and application developers, who will be able to share information asynchronously and independently, and communicate implicitly by developing and deploying what we call healing connectors. Component developers implement healing connectors on the basis of information about the integration problems frequently experienced by application developers. Application developers easily and safely install healing connectors in their applications without knowing the internal details of the connectors. Healing connectors heal failures activated by exceptions raised in the OTS components actually deployed in the system.The article defines healing connectors, introduces a methodology to develop and deploy healing connectors, and presents several case studies that indicate that healing connectors are effective, reusable and efficient.
Component-based development adresses the complexity of large applications by building software systems from reusable software components. To support reuse and successfully combine units of software, the contractual approach turns out to be well-suited to specify and to verify components and their interactions. However, as contracts must support functional and extra-functional aspects, they are frequently challenged by fluctuations in extra-functional properties and dynamic reconfigurations of components. In this paper, we propose a negotiation model in which components have clearly identified roles and interact in order to automatically restore the validity of contracts. The negotiation model currently supports a concession-based negotiation policy and is well-suited to behavioral contracts based on executable assertions. This model is integrated into ConFract, a contracting system for the Fractal hierarchical component model.
Providing powerful and fine-grained capabilities for the analysis and management of non-functional properties is a major challenge for component-based software systems. In this paper, we propose integration patterns for nonfunctional properties of hierarchical software components. These patterns are based on a classification of low-level non-functional properties, which takes into account their nature and lifecycle. They make explicit the implementation of these properties in relation with components and can be used to develop some forms of compositional reasoning. The proposals are exploited in non-functional contract negotiation by enabling a negotiation process to be precisely propagated down the component hierarchy.
Providing powerful and fine-grained capabilities for the analysis and management of non-functional properties is a major challenge for component-based software systems. This article presents an approach that relies on some integration patterns of non-functional properties in hierarchical software components. These patterns are based on a classification of low-level non-functional properties, which takes into account their nature and lifecycle. They make explicit the implementation of these properties in relation with components. The proposed model also provides appropriate support for some forms of compositional reasoning on theses properties. The compositional patterns have been implemented on a hierarchical component platform and directly exploited in non-functional contract negotiation on a validating application. The proposed patterns enable negotiation processes to be precisely propagated down the component hierarchy, so that better runtime adaptations can be conducted on reaction to non-functional degradations.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.