Linguistic Approach to Specifying Component Compatibility and
Substitutability
Zuberek, W.M.
in: Symbiosis of Technology and Computer Science,
ed. T. Kwater, B. Twarog, Wyd. Uniwersytetu Rzeszowskiego, Rzeszow,
pp.1136, 2010 (ISBN 9788373386204)
Abstract:
In componentbased 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 the 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 also convenient for analysis
of more complex interactions involving several components requesting services,
when interleaving of requests can take place. 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, the
new component can safely replace the old one.
Keywords:
Software components, componentbased systems, component compatibility,
compatibility verification, component substitutability, Petri nets.
References:

M. Belguidoum, F. Dagnat, "Formalization of component substitutability";
Electronic Notes in Theoretical Comptuer Science, vol.215, pp.7592, 2008.

E. Best, "Structural theory of Petri nets: the freechoice hiatus";
Advances in Petri Nets 1986 (Lecture Notes in Petri Nets 254),
pp.168206, 1987.

B. Bordbar, K. Okano, "Testing deadlockfreeness in realtime systems: a
formal approach"; Formal Approaches to Software Testing (Lecture Notes
in Computer Science 3395) pp.95109, 2004.

P. Brada, L. Valenta, "Practical verification of component substitutability
using subtype relation"; Proc. Int. Conf. on Software Engineering and
Advances Applications (SEAA'06), pp.3845, 2006.

I. Cerna, P.Varekova, B. Zimmerova, "Component substitutability via
equivalencies of componentinteraction automata"; Proc. Int. Workshop on
Formal Aspects of Component Software (FACS'06), pp.115130, 2006.

S. Chaki, E.M. Clarke, A. Groce, S. Jha, H. Veith, "Modular verification of
software components in C"; IEEE Trans. on Software Engineering, vol.30,
no.6, pp.388402, 2004.

F. Chu, X. Xie, "Deadlock analysis of Petri nets using siphons and
mathematical programming"; IEEE Trans. on Robotics and Automation,
vol.13, no.6, pp.793804, 1997.

J. Costa Seco, L. Caires, "A basic model of typed components"; Proc. 14th
European Conf. on ObjectOriented Programming, London, UK, pp.108128, 2000.

D.C. Craig, "Compatibility of software components  modeling and
verification"; Ph.D. Thesis, Department of Computer Science, Memorial
University, St.John's, Canada A1B 3X5, 2006.

D.C. Craig, W.M. Zuberek, "Compatibility of software
components  modeling and verification"; Proc. Int. Conf. on Dependability
of Computer Systems, Szklarska Poreba, Poland, pp.1118, 2006.

D.C. Craig, W.M. Zuberek, "Petri nets in modeling
component behavior and verifying component compatibility"; Proc. Int.
Workshop on Petri Nets and Software Engineering, Siedlce, Poland,
pp.160174, 2007.

Esparza, J., Silva, M., "On the analysis and synthesis of free choice
systems"; Advances in Petri Nets 1990 (Lecture Notes in Computer
Science 483), pp.243288, 1991.

J. Ezpeleta, J.M. Colombo, J. Martinez, "A Petri net based deadlock
prevention policy for flexible manufacturing systems"; IEEE Trans. on
Robotics and Automation, vol.11, no.2, pp.173184, 1995.

Ezpeleta, J., Couvreur, J.M., Silva, M., "A new technique for finding a
generating family of siphons, traps and STcomponents  application to
colored Petri nets"; Advances in Petri nets 1993 (Lecture Notes in
Computer Science 674), pp.126147, 1993.

J.E. Hopcroft, R. Motwani, J.D. Ullman, "Introduction to automata theory,
languages, and computations" (2 ed.); AddisonWesley 2001.

R. Janicki, P.E. Lauer, Specification and analysis of concurrent systems 
the COSY approach; SpringerVerlag 1992.

T. Murata, "Petri nets: properties, analysis, and applications";
Proceedings of the IEEE, vol.77, no.4, pp.541580, 1989.

W. Reisig, Petri nets  an introduction (EATCS Monographs on
Theoretical Computer Science 4); SpringerVerlag 1985.

M. Silva, E. Teruel, J. Couvreur, "Linear algebra in and linear programming
techniques for the analysis of place/transition net systems";
Lectures on Petri nets  basic models (Lecture Notes in Computer
Science 1491), pp.309373, 1998.

Teruel, E., Silva, M., "Structure theory of equal conflict systems";
Theoretical Computer Science, vol.153, no.12, pp.271300, 1996.

A.M. Zaremski, J.M. Wang, "Specification matching of software components";
ACM Trans. on Software Engineering and Methodology, vol.6, no.4, pp.333369,
1997.

Zuberek W.M., "Checking compatibility and
substitutability of software components", Models and Methodology of
System Dependability, pp.175186, 2010.