Checking compatibility and substitutability of software components

Zuberek, W.M.

in: Models and Methodology of System Dependability; Oficyna Wydawnicza Politechniki Wroclawskiej, ch.14, pp.175-186, 2010 (ISBN 978-83-7493-5260-5).


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.


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


Available in pdf.