The main goal of this thesis is the definition of a process for the composition and adaptation of component-based systems at run-time, solving signature and behavioural mismatch among the different interfaces involved in the composition, In order to achieve this goal, we advocate for the extension of traditional signature level interfaces with protocol information describing the interactive behaviour followed by components. Next, we propose the abstract specification of adaptation requirements in adaptation contracts, based on the aforedescribed extended interface descriptions. Specifically, the core of our approach consists of a run-time composition and adaptation engine which sits in the middle of component communication and interprets the execution of the system according to a provided adaptation contract. This engine is analogous to an interpreter, executing the different adaptation rules included in the adaptation contract one by one according to the state of the protocols of the different components at run-time. Avoiding the use of static adaptors enables the modification of adaptation requirements or even the set of components involved in a composition at run-time without having to recompute the full adaptor. Our engine can be used in two different operation modes:
- Basic operation mode. The engine interprets the composition at run-time according to a contract defined with respect to concrete component interface descriptions at design-time. This operation mode can be employed to solve interoperability problems in scenarios where static adaptors are used. Although the composition is interpreted dynamically and no full description of the adaptation protocol is generated, the adaptation contract (and therefore the bindings between operations) remains unchanged during the execution of the system.
- Extended operation mode. Different front-ends can be plugged in our run-time engine in order to use it on different application domains: (i) Ubiquitous computing environments. The contract is built with respect to generic or abstract operation profiles, rather than with respect to concrete operations on actual component interfaces, which are only known when the particular service component is available in the system. (ii) Context-aware systems. The contract allows the definition of groups of adaptation rules expressing alternative adaptations for different states of an environmental variable or factor. Therefore, the contract is updated with a new set of rules as changes in the execution environment are detected.
© 2008-2024 Fundación Dialnet · Todos los derechos reservados