Component compatibility and its verification

Craig, D.C. and Zuberek, W.M.

Proc. First Int. Workshop on Software Architecture Research and Practice (SARP-07), part of the 2-nd Int. Conf. on Digital Telecommunications (ICTD-07), Silicon Valley, 1-5 July 2007, pp.26-32.

Abstract:

An approach to verification of component compatibility is proposed in which each component's behavior (at its interfaces) is represented by a labeled Petri net in such a way that the sequences of services (provided or requested) correspond to sequences of labels assigned to occuring transitions. The behavior of a component can thus be defined as the language of its modeling net. Two interacting components are compatible if and only if all possible sequences of services requested by one of these two components can be satisfied by the other component; in other words, two components are compatible if the language of the requesting component is a subset of the language of the component providing the services. Verification of this simple relation depends upon the class of languages defining the behaviors of the components. If the languages are regular, the verification of compatibility is straightforward. For nonregular languages, a more elaborate approach is needed in which a net model composed of the interacting components is checked for the absense of deadlocks. Some applications of the proposed approach are also discussed.

Keywords:

Software components, component-based systems, component compatibility, compatilibility verification, Petri nets, deadlock detection, structural analysis.

References:

Keywords:

Software components, component-based systems, component compatibility, compatilibility verification, Petri nets, deadlock detection, structural analysis.

Available in pdf.