Checking compatibility and substitutability of software components

Loading...
Thumbnail Image

Keywords

Software components, component-based systems, component compatibility, compatibility verification, component substitutability, Petri nets

Degree Level

Advisor

Degree Name

Volume

Issue

Publisher

Abstract

In component-based systems, two components are compatible if all possible sequences of services requested by one component can be provided by the other component. It has been recently shown that for verification of compatibility, the behavior of interacting components, at their interfaces, can be modeled by labeled Petri nets with labels representing the requested and provided services. Such component models are then composed and the composition operation is designed in such a way that component incompatibilities are manifested as deadlocks in the composed model. Compatibility verification is thus performed through deadlock analysis of the composed models. Component compatibility is also used for the verification of component substitutability; if the new component is compatible with all components that interact with the old component, it can safely replace the old one.