Skip to main content

Incremental Composition of Software Components

  • Conference paper
Dependable Computer Systems

Part of the book series: Advances in Intelligent and Soft Computing ((AINSC,volume 97))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Article  MATH  MathSciNet  Google Scholar 

  2. 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)

    Chapter  Google Scholar 

  3. 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)

    Article  Google Scholar 

  4. Belguidoum, M., Dagnat, F.: Formalization of component substitutability. Electronic Notes in Theoretical Computer Science 215, 75–92 (2008)

    Article  Google Scholar 

  5. 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)

    Google Scholar 

  6. Bracciali, A., Brogi, A., Canal, C.: A formal approach to component adaptations. The Journal of Systems and Software 74(1), 45–54 (2005)

    Article  Google Scholar 

  7. 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)

    Google Scholar 

  8. Canal, C., Pimentel, E., Troya, J.M.: Compatibility and inheritance in software architectures. Science of Computer Programming 41(2), 105–138 (2001)

    Article  MathSciNet  Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Article  Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. 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)

    Article  Google Scholar 

  15. 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)

    Chapter  Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Chapter  Google Scholar 

  18. Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to automata theory, languages, and computations, 2nd edn. Addison-Wesley, Reading (2001)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Chapter  Google Scholar 

  21. Liskov, B., Wing, J.: A behavioral notion of subtyping. ACM Trans. on Programming Languages and Systems 19(6), 1811–1841 (1994)

    Article  Google Scholar 

  22. 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)

    Google Scholar 

  23. Murata, T.: Petri nets: properties, analysis, and applications. Proceedings of the IEEE 77(4), 541–580 (1989)

    Article  Google Scholar 

  24. Nierstrasz, O., Meijler, T.: Research directions on software composition. ACM Computing Surveys 27(2), 262–264 (1995)

    Article  Google Scholar 

  25. Reisig, W.: Petri nets – an introduction (EATCS Monographs on Theoretical Computer Science 4). Springer, Heidelberg (1985)

    Google Scholar 

  26. 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)

    Chapter  Google Scholar 

  27. Szyperski, C.: Component software: beyond object-oriented programming, 2nd edn. Addison–Wesley Professional, London (2002)

    Google Scholar 

  28. Ywllin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Trans. on Programming Languages and Systems 19(2), 292–333 (1997)

    Article  Google Scholar 

  29. Zaremski, A.M., Wang, J.M.: Specification matching of software components. ACM Trans. on Software Engineering and Methodology 6(4), 333–369 (1997)

    Article  Google Scholar 

  30. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics