Incremental Composition of Software Components
Zuberek, W.M.
in: Dependable Computer Systems (Advances in Intelligent and Soft
Computing 97), ed. W. Zamojski, J. Kacprzyk, J. Mazurkiewicz, J. Sugier,
T. Walkowiak; Springer-Verlag, pp.301-311, 2011 (ISBN 978-3-642-21392-2)
Abstract:
In component-based systems, two interacting components are compatible if
all sequences of services requested by one components can be provided by
the other component. In the case of several components interacting with a
single provider, as is typically the case in client--server computing,
the requests from different components can be interleaved and therefore
verifying component compatibility must check all possible interleavings of
requests from all interacting components. Incremental composition of
interacting components eliminates this need for exhaustive combinatorial
checking of the interleavings by imposing some restrictions on the
interleavings. The paper introduces simple conditions which must be
satified by the interacting components for their composition to be
incremental and illustrates the concepts using simple examples of
interactions.
Keywords:
Software components, component compatibility, component composition,
software arxhitecture, Petri nets.
References:
-
Aalst, van der W.M.P., Hee, van K.M., Torn, van der R.A., "Component-based
software architecture: a framework based on inheritance of behavior";
Science of Computer Programming, vol.42, no.2-3, pp.129-171, 2002.
-
Attiogbe, C., Andre, P., Ardourel, G., "Checking component composability";
Proc. 5-th Int. Symp. on Software Composition (Lecture Notes in Computer
Science 4089), pp.18-33, 2006.
-
Batiry, D., Singhal, V., Thosmas, J., Dasari, S., Geract, B., Sirkin, M.,
"The Gen Voca model of software system generators"; IEEE Software, vol.11,
n.5, pp.89-94, 1994.
-
Belguidoum, M., Dagnat, F., "Formalization of component substitutability";
Electronic Notes in Theoretical Computer Science, vol.215, pp.75-92, 2008.
-
Bracha, G., Cook, W., "Mixin-based inheritance"; Proc. Joint ACM Conf.
on Object-Oriented Pogramming, Systems, Languages and Applications and the
European Conf. on Object-Oriented Programming, pp.303-311, 1990.
-
Bracciali, A., Brogi, A., Canal, C., "A formal approach to component
adaptations"; The Journal of Systems and Software, vol.74, n.1, pp.45-54,
2005.
-
Brada, P., Valenta, L., "Practical verification of component substitutability
using subtype relation"; Proc. Int. Conf. on Software Engineering and Advanced
Applications (SEAA'06), pp.38-45, 2006.
-
Canal, C., Pimentel, E., Troya, J.M., Compatibility and inheritance in
software architectures"; Science of Computer Programming, vol.41, no.2,
pp.105-138, 2001.
-
Cerna, I., Varekova, P., Zimmerova, B., Component substitutability via
equivalencies of component-interaction automata"; Proc. Int. Workshop on
Formal Aspects of Component Software (FACS'06), pp.115-130, 2006.
-
Chaki, S., Clarke, S.M., Groce, A., Jha, S., Veith, H., "Modular verification
of software components in C"; IEEE Trans. on Software Engineering, vol.30,
no.6, pp.388-402, 2004.
-
Costa Seco, J., Caires, L., "A basic model of typed components"; Proc.
14-th European Conf. on Object-Oriented Programming, London, UK, pp.108-128,
2000.
-
Craig, D.C., Zuberek, W.M., "Compatibility of
software components - modeling and verification"; Proc. Int. Conf. on
Dependability of Computer Systems, Szklarska Poreba, Poland, pp.11-18, 2006.
-
Craig, D.C, Zuberek W.M., "Petri nets in modeling
component behavior and verifying component compatibility"; Proc. Int.
Workshop on Petri Nets and Software Engineering, Siedlce, Poland, pp.160-174,
2007.
-
Crnkovic, I., Schmidt, H.W., Stafford, J., Wallnau, K., "Automated
component-based software engineering"; The Journal of Systems and Software,
vol.74, n.1, pp.1-3, 2005.
-
Garlan, D., "Formal modeling and analysis of software architecture:
components, connectors, and events"; Proc. Third Int. School on Formal Methods
for the Design of Computer, Communication and Software Systems: Software
Architectures (SFM 2003), Bertinoro, Italy (Lecture Notes in Computer Science
2804), pp.1-24, 2003.
-
Hameirlain, N., "Flexible behavioral comatibility and substitutability for
component protocols: a formal specification"; Proc. 5-th Int. Conf. on
Software Engineering and Formal Methods, London, England, pp.391-400, 2007.
-
Henrio, L., Kammueller, F., Khan, M.U., "A framework for reasoning on
component composition"; Proc. 8-th Int. Symp. on Formal Methods for Components
and Objects, Eindhoven, The Netherlands (Lecture Notes in Computer Science
6286), pp.41-69, 2009.
-
Hopcroft, J.E., Motwani, R., Ullman, J.D., Introduction to automata theory,
languages, and computations (2 ed.); Addison-Wesley 2001.
-
Karlsson, D., Eles, P., Peng, Z., "Formal verification on a component-based
reuse methodology"; Proc. 15-th Int. Symp. on System Synthesis, Kyoto, Japan,
pp.156-161, 2002.
-
Leicher, A., Busse, S., Suess, J.G., "Analysis of compositional conflicts in
component-based systems"; Proc. 4-th Int. Workshop on Software Composition;
Edinburgh, UK (Lecture Notes in Computer Science 3628), pp.67-82, 2005.
-
Liskov, B., Wing, J., "A behavioral notion of subtyping"; ACM Trans. on
Programming Languages and Systems, vol.19, no.6, pp.1811-1841, 1994.
-
Magee, J., Dulay, N., Kramer, J., "Specifying distributed software
architectures"; Proc. 5-th European Software Engineering Conference, Sitges,
Spain (Lecture Notes in Computer Science 989), pp.137-153, 1995.
-
Murata, T., "Petri nets: properties, analysis, and applications";
Proceedings of the IEEE, vol.77, no.4, pp.541-580, 1989.
-
Nierstrasz, O., Meijler, T., "Research directions on software composition";
ACM Computing Surveys, vol.27, no.2, pp.262-264, 1995.
-
Reisig, W., Petri nets - an introduction (EATCS Monographs on
Theoretical Computer Science 4). Springer-Verlag 1985.
-
Suedholt, M., "A model of components with non-regular protocols"; Proc.
4-th Int. Workshop on Software Composition; Edinburgh, UK (Lecture Notes in
Computer Science 3628), pp.99-113, 2005.
-
Szyperski, C., Component software: beyond object-oriented programming
(2 ed.); Addison--Wesley Professional 2001.
-
Yallin, D.M., Strom, R.E., "Protocol specifications and component adaptors";
ACM Trans. on Programming Languages and Systems, vol.19, no.2, pp.292-333,
1997.
-
Zaremski, A.M., Wang, J.M., "Specification matching of software components";
ACM Trans. on Software Engineering and Methodology, vol.6, no.4, pp.333-369,
1997.
-
Zuberek, W.M., "Checking compatibility and
substitutability of software components"; in Models and Methodology of
System Dependability, ch.14, pp.175-186, Oficyna Wydawnicza Politechniki
Wroclawskiej, Wroclaw 2010.
Available in pdf.