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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
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 42(2-3), 129–171 (2002)
Attiogbé, J.C., André, P., Ardourel, G.: Checking component composability. In: Löwe, W., Südholt, M. (eds.) SC 2006. LNCS, vol. 4089, pp. 18–33. Springer, Heidelberg (2006)
Batiry, D., Singhal, V., Thosmas, J., Dasari, S., Geract, B., Sirkin, M.: The Gen Voca model of software system generators. IEEE Software 11(5), 89–94 (1994)
Belguidoum, M., Dagnat, F.: Formalization of component substitutability. Electronic Notes in Theoretical Computer Science 215, 75–92 (2008)
Bracha, G., Cook, W.: Mixin-based inheritance. In: Proc. Joint ACM Conf. on Object-Oriented Pogramming, Systems, Languages and Applications and the u 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 74(1), 45–54 (2005)
Brada, P., Valenta, L.: Practical verification of component substitutability using subtype relation. In: Proc. Int. Conf. on Software Engineering and Advanced Applications (SEAA 2006), pp. 38–45 (2006)
Canal, C., Pimentel, E., Troya, J.M.: Compatibility and inheritance in software architectures. Science of Computer Programming 41(2), 105–138 (2001)
Cerna, I., Varekove, P., Zimmerova, B.: Component substitutability via equivalencies of component-interaction automata. In: Proc. Int. Workshop on Formal Aspects of Component Software (FACS 2006), 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 30(6), 388–402 (2004)
Costa Seco, J., Caires, L.: A basic model of typed components. In: 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. In: 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. In: 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(1), 1–3 (2005)
Garlan, D.: Formal modeling and analysis of software architecture: Components, connectors, and events. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 1–24. Springer, Heidelberg (2003)
Hameirlain, N.: Flexible behavioral comatibility and substitutability for component protocols: a formal specification. In: Proc. 5-th Int. Conf. on Software Engineering and Formal Methods, London, England, pp. 391–400 (2007)
Henrio, L., Kammüller, F., Khan, M.U.: A framework for reasoning on component composition. In: de Boer, F.S., Bonsangue, M.M., Hallerstede, S., Leuschel, M. (eds.) FMCO 2009. LNCS, vol. 6286, pp. 1–20. Springer, Heidelberg (2010)
Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to automata theory, languages, and computations, 2nd edn. Addison-Wesley, Reading (2001)
Karlsson, D., Eles, P., Peng, Z.: Formal verification on a component-based reuse methodology. In: Proc. 15-th Int. Symp. on System Synthesis, Kyoto, Japan, pp. 156–161 (2002)
Leicher, A., Busse, S., Süß, J.G.: Analysis of compositional conflicts in component-based systems. In: Gschwind, T., Aßmann, U., Wang, J. (eds.) SC 2005. LNCS, vol. 3628, pp. 67–82. Springer, Heidelberg (2005)
Liskov, B., Wing, J.: A behavioral notion of subtyping. ACM Trans. on Programming Languages and Systems 19(6), 1811–1841 (1994)
Magee, J., Dulay, N., Kramer, J.: Specifying distributed software architectures. In: Botella, P., Schäfer, W. (eds.) ESEC 1995, Sitges, Spain, LNCS, vol. 989, pp. 137–153 (1995)
Murata, T.: Petri nets: properties, analysis, and applications. Proceedings of the IEEE 77(4), 541–580 (1989)
Nierstrasz, O., Meijler, T.: Research directions on software composition. ACM Computing Surveys 27(2), 262–264 (1995)
Reisig, W.: Petri nets – an introduction (EATCS Monographs on Theoretical Computer Science 4). Springer, Heidelberg (1985)
Südholt, M.: A model of components with non-regular protocols. In: Gschwind, T., Aßmann, U., Wang, J. (eds.) SC 2005. LNCS, vol. 3628, pp. 99–113. Springer, Heidelberg (2005)
Szyperski, C.: Component software: beyond object-oriented programming, 2nd edn. Addison–Wesley Professional, London (2002)
Ywllin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Trans. on Programming Languages and Systems 19(2), 292–333 (1997)
Zaremski, A.M., Wang, J.M.: Specification matching of software components. ACM Trans. on Software Engineering and Methodology 6(4), 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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zuberek, W.M. (2011). Incremental Composition of Software Components. In: Zamojski, W., Kacprzyk, J., Mazurkiewicz, J., Sugier, J., Walkowiak, T. (eds) Dependable Computer Systems. Advances in Intelligent and Soft Computing, vol 97. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21393-9_23
Download citation
DOI: https://doi.org/10.1007/978-3-642-21393-9_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21392-2
Online ISBN: 978-3-642-21393-9
eBook Packages: EngineeringEngineering (R0)