Modeling and verification of compatibility of component composition
D. Craig and Zuberek, W.M.
Proc. 3-rd Workshop on Modeling of Objects, Components, and Agents
(MOCA'04), Aarhus, Denmark, 11-13 October 2004, pp.117-130.
Two components are compatible if any sequence of operations requested by one
of these components can be provided by the other component. If the set of all
requested sequences is denoted by LR and the set of all provided
sequences of operation by LP, then the two components are compatible
if LR is a subset of LP. This paper uses Petri nets to
model the interface behaviors of interacting components and formally defines
the composition of components. Compatibility of components is verified by
checking if the composed models contain deadlocks. Simple examples illustrate
the proposed approach.
Component compatibility, component interfaces, software architecture,
component-based software, Petri nets, deadlock detection.
I. Sommerville, Software Engineering (6-th ed.); Addison-Wesley 2001.
G. Booch, Object-Oriented Analysis and Design with Applications
(2-nd ed.); Benjamin/Cummings 1994.
N. Medvidovic and R.N. Taylor, "A framework for classifying and comparing
architecture description languages"; in Software Engineering -
ESEC/FSE'97 (Lecture Notes in Computer Science 1301); pp.60-76,
G.T. Heineman and W.T. Council, Component Based Software Engineering:
Putting the Pieces Together; Addison-Wesley 2001.
W. Reisig, Petri Nets: An Introduction; Springer-Verlag 1985.
T. Murata, "Petri nets: properties, analysis and applications"; Proceedings
of the IEEE, vol.77, no.4, pp.541-580, 1989.
C. Szyperski, D. Gruntz, and S. Murer, Component Software: Beyond
Object-Oriented Programming (2-nd ed.); Addison-Wesley 2002.
W.M.P van der Aalst, K.M. van Hee, and R.A. van der Toorn, "Component-based
software architectures: a framework based on inheritance of behaviour";
Science of Computer Programming, vol.42, no.2-3, pp.129-171, 2002.
S. Moschoyiannis and M.W. Shields, "Component-based design: towards
guided composition"; Proc. Third Int. Conf. on Application of Concurrency
to System Design, pp.112-131, IEEE Computer Society 2003.
R.H. Reussner, "Enhanced component interfaces to support dynamic adaption
and extension"; Proc. 34-th Hawaii Int. Conf. on System Sciences, pp.1-9,
IEEE Computer Society 2001.
C. Sibertin-Blanc, "A compositional partial order semantics for Petri net
components"; in Application and Theory of Petri Nets 1993 (Lecture
Notes in Computer Science 691); pp.377-396, Springer-Verlag 1993.
E. Kindler, "A compositional partial order semantics for Petri net
components"; in Application and Theory of Petri Nets 1997 (Lecture
Notes in Computer Science 1248); pp.235-252, Springer-Verlag 1997.
A. Martens, "Usability of web services"; Proc. Fourth Int. Conf. on Web
Information Systems Engineering Workshops, pp.182-190, IEEE Computer
W.M.P van der Aalst, "Workflow verification: finding control-flow errors
using Petri net-based techniques"; in Business Process Management: Models,
Techniques, and Empircal Studies (Lecture Notes in Computer Science 1806);
pp.161-183, Springer-Verlag 2000.
W.M. Zuberek, "Petri nets and timed Petri nets in modeling and analysis of
concurrent systems"; Record of the Research Forum (25th Anniversary
of the Department of Computer Science at Memorial University); St. John's,
NL, Canada A1B 3X5, 2003.
R. Fehling, "A concept of hierarchical petri nets with building blocks";
in Advances in Petri Nets 1993 (Lecture Notes in Computer Science
674); pp.148-169, Springer-Verlag 1993.
D. Garland, R. Allen, and J. Ockerbloom, "Architectural mismatch: why reuse
is so hard"; IEEE Software, vol.12 no.6, pp.17-26, 1995.
Z. Li and M. Zhou, "Elementary siphons of Petri nets and their application
to deadlock prevention in flexible manufacturing systems"; IEEE Trans. on
Systems, Man, and Cybernetics - Part A: Systems and Humans, vol.34, no.1,
J. Ezpeleta, J.M. Couvreur, and M. Silva, "A new technique for finding a
generating family of siphons, traps and st-components: application to
colored petri nets""; in Advances in Petri Nets 1993 (Lecture Notes
in Computer Science 674); pp.126-147, Springer-Verlag 1993.
Available in pdf.