Coordination and Adaptation Techniques for Software Entities
2005, Lecture Notes in Computer Science
https://doi.org/10.1007/978-3-540-30554-5_13…
2 pages
1 file
Sign up for access to the world's latest research
Abstract
The ability of reusing existing software has always been a major concern of Software Engineering. The reuse and integration of heterogeneous software parts is an issue for current paradigms such as Component-Based Software Development, or Coordination Models and Languages. However, a serious limitation of current approaches is that while they provide convenient ways to describe the typed signatures of software entities, they offer a quite limited support to describe their concurrent behaviour. As a consequence, when a component is going to be reused, one can only be sure that it provides the required interface, but nothing else can be inferred about the behaviour of the component with regard to the interaction protocol required by its environment. To deal with this problem, a new discipline, Software Adaptation, is emerging. Software Adaptation promotes the use of adaptors-specific computational entities guaranteeing that software components will interact in the right way not only at the signature level, but also at the protocol and semantic levels. This paper summarizes the results and conclusions of the First Workshop on Coordination and Adaptation Techniques for Software Entities (WCAT'04).
Related papers
2005
ABSTRACT Composition and adaptation of software components is an important issue in Component Based Software Engineering (CBSE). Building a system from reusable or Commercial-Off-The-Shelf (COTS) components introduces a set of problems, mainly related to compatibility and communication. On one hand, components may have incompatible interaction behavior (eg, deadlocks, livelocks, incompatible method names, mismatch between the order in which messages are expected/exchanged and so on).
Electronic Notes in Theoretical Computer …, 2004
The problem of adapting heterogeneous software components that present mismatching interaction behaviours is one of the crucial problems in Component-Based Software Engineering. The aim of this paper is to contribute to setting a theoretical foundation for software adaptation. A formal analysis of adaptor specifications is presented, and their usage to feature different forms of flexible adaptations is illustrated.
Electronic Notes in Theoretical Computer Science, 2007
must be non-intrusive and based on formal executable specification languages such as Behavioural IDL. Such languages and techniques should support automatic and dynamic adaptation, that is, the adaptation of a component just in the moment in which the component joins the context supported by automatic and transparent procedures. For that purpose Software Adaptation promotes the use of software adaptors-specific computational entities for solving these problems. The main goal of software adaptors is to guarantee that software components will interact in the right way not only at the signature level but also at the protocol, Quality of Service and semantic levels. These are the proceedings of the 3rd International Workshop on Coordination and Adaptation Issues for Software Entities (WCAT'06), affiliated with the 20th European Conference on Object-Oriented Programming (ECOOP'2006), held in Nantes (France) on July 4th, 2006. These proceedings contain the 10 position papers selected for participating in the workshop. The topics of interest of WCAT'06 covered a broad number of fields where coordination and adaptation have an impact: models, requirements identification, interface specification, software architecture, extra-functional properties, documentation, automatic generation, frameworks, middleware and tools, and experience reports. The WCAT workshops series tries to provide a venue where researchers and practitioners on these topics can meet, exchange ideas and problems, identify some of the key issues related to coordination and adaptation, and explore together and disseminate possible solutions. Workshop Format To establish a first contact, all participants will make a short presentation of their positions (five minutes maximum, in order to save time for discussions during the day). Presentations will be followed by a round of questions and discussion on participants' positions. From these presentations, a list of open issues in the field must be identified and grouped. This will make clear which are participants' interests and will also serve to establish the goals of the workshop. Then, participants will be divided into smaller groups (about 4-5 persons each), attending to their interests, each one related to a topic on software coordination and adaptation. The task of each group will be to discuss about the assigned topic, to detect problems and its real causes and to point out solutions. Finally a plenary session will be held, in which each group will present their conclusions to the rest of the participants, followed by some discussion.
Enterprise systems rely heavily on compositional software like Software Components or Web Services. The composition of this software allows software reusability, greater productivity and reduced costs. However, these components are black-boxes and their direct reuse is prevented by incompatibilities between their interfaces. There are several approaches focused on Software Adaptation which are capable of solving incompatibilities at signature and behavioral levels, but these approaches require abstract specifications which specify how the incompatibilities can be resolved. The generation of these specifications is an open issue and specifications are normally handmade, which forces the designer to understand the subtleties of the components. In this paper we present Dinapter, a tool that automatically generates specifications being given the component behavioral descriptions written in abstract BPEL. Dinapter complements the aforementioned approaches and allows the automatic adaptation of compositional software.
2002
Several proposals for component-based development methods have started to appear. However, the emphasis is still very much on the development of components as opposed to the development with components. The main focus is on how to generate ideal reusable components not on how to plug existing components and specify their interactions and connections. The concept of a coordination contract ) has been proposed to specify a mechanism of interaction between objects based on the separation between structure, what is stable, and interaction, what is changeable. This separation supports better any change of requirements, as contracts can be replaced, added or removed dynamically, i.e. in run-time, without having to interfere with the components that they coordinate. A coordination contract corresponds to an expressive architectural connector that can be used to plug existing components. In this paper we integrate the concept of a coordination contract with component-based development and show how coordination contracts can be used to specify the connectors between components.
2014
The main goal of Component-Based Software Engineering is Reuse of existing software components. Adaptation is a crucial problem in the component-based software engineering. Components that assembled or reused sometimes cannot perfectly fit one another because of the incompatibility issues between them. Behavioral mismatches are one of the adaptation problems. This paper focus on detect the behavior mismatches and how to create adapter to overcome incompatibility problem. The model based approach and Symbolic Transition Systems that used in representing component interface are used to detect the mismatches and overcome them.
2010
In this paper we propose a meta-model for architectures with heterogeneous multimedia components. Currently, a generic solution does not exist to automatically deploy a distributed architecture based on multimedia components. The description of the incompatibilities between components is a need in such approaches. Indeed, software architectures validate the functional aspects, which are not sufficient to guarantee a realistic assembly. For instance, the problem of heterogeneity related to the exchanged data flows. In order to highlight these incompatibilities and to find solutions, a model-based approach called MMSA (Meta-model Multimedia Software Architecture) is proposed. It enables the description of the software architectures expressing a software system as a collection of components which handle various types and formats of data, and interacts between them via connectors including the adaptation connectors.
Software Adaptation aims at composing in a non-intrusive way black-box components or services, even if they present some mismatches in their interfaces. Adaptation is a complex issue especially when behavioural descriptions of services are taken into account in their interfaces. In this paper, we first present our abstract notations used to specify behavioural interfaces and adaptation contracts, and propose some solutions to support the specification of these contracts. Then, we overview our techniques for the generation of centralized or distributed adaptor protocols and code based on the aforementioned contracts.
2015
Adaptation of software components is an important issue in Component Based Software Engineering (CBSE). Building a system from reusable or Commercial-Off-The-Shelf (COTS) components introduces a set of problems, mainly related to compatibility and communication aspects. On one hand, components may have incompatible interaction behavior. This might require to restrict the system's behavior to a subset of safe behaviors. On the other hand, it might be necessary to enhance the current communication protocol. This might require to augment the system's behavior to introduce more sophisticated interactions among components. We address these problems by enhancing our architectural approach which allows for detection and recovery of incompatible interactions by synthesizing a suitable coordinator. Taking into account the specification of the system to be assembled and the specification of the protocol enhancements, our tool (called SYNTHESIS) automatically derives, in a compositional way, the glue code for the set of components. The synthesized glue code implements a software coordinator which avoids incompatible interactions and provides a protocol-enhanced version of the composed system. By using an assume-guarantee technique, we are able to check, in a compositional way, if the protocol enhancement is consistent with respect to the restrictions applied to assure the specified safe behaviors.
2004
In the recent years, the need for more and more complex software, supporting new services and for wider application domains, together with the advances in the net technology, have promoted the development of distributed systems. These applications consist of a collection of interacting entities, either considered as subsystems, objects, components, or -more recently-web-services, that cooperate to provide some functionality.

Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.