Service Renaming in Component Composition

  • Wlodek M. Zuberek
Conference paper
Part of the Advances in Intelligent and Soft Computing book series (AINSC, volume 170)

Abstract

In component-based systems, the behavior of components is usually described at component interfaces and the components are characterized as requester (active) and provider (reactive) components. Two interacting components are considered compatible if all possible sequences of services requested by one component can be provided by the other component. This concept of component compatibility can be extended to sets of interacting components, however, in the case of several requester components interacting with one or more provider components, as is typically the case of cleint-server applications, the requests from different components can be interleaved and then verifying component compatibility must take into account all possible interleavings of requests. Such interleaving of requests can lead to unexpected behavior of the composed system, e.g. a deadlock can occur. Service renaming is proposed as a method of systematic eliminating of such unexpected effects and streamlining component compositions.

Keywords

Software Component Regular Language Component Composition Interface Language Provider Component 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    Baier, C., Klein, J., Klüppelholz, S.: Modeling and Verification of Components and Connectors. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 114–147. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  3. 3.
    Bracciali, A., Brogi, A., Canal, C.: A formal approach to component adaptations. The Journal of Systems and Software 74(1), 45–54 (2005)CrossRefGoogle Scholar
  4. 4.
    Broy, M.: A theory of system interaction: components, interfaces, and services. In: Interactive Computations: The New Paradigm, pp. 41–96. Springer, Heidelberg (2006)Google Scholar
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    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
  7. 7.
    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
  8. 8.
    Crnkovic, I., Schmidt, H.W., Stafford, J., Wallnau, K.: Automated component-based software engineering. The Journal of Systems and Software 74(1), 1–3 (2005)CrossRefGoogle Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to automata theory, languages, and computations, 2nd edn. Addison-Wesley (2001)Google Scholar
  12. 12.
    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)CrossRefGoogle Scholar
  13. 13.
    Murata, T.: Petri nets: properties, analysis, and applications. Proceedings of the IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  14. 14.
    Nierstrasz, O., Meijler, T.: Research directions on software composition. ACM Computing Surveys 27(2), 262–264 (1995)CrossRefGoogle Scholar
  15. 15.
    Reisig, W.: Petri nets – an introduction. EATCS Monographs on Theoretical Computer Science, vol. 4. Springer (1985)Google Scholar
  16. 16.
    Szyperski, C.: Component software: beyond object-oriented programming, 2nd edn. Addison–Wesley Professional (2002)Google Scholar
  17. 17.
    Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM Trans. on Programming Languages and Systems 19(2), 292–333 (1997)CrossRefGoogle Scholar
  18. 18.
    Zaremski, A.M., Wang, J.M.: Specification matching of software components. ACM Trans. on Software Engineering and Methodology 6(4), 333–369 (1997)CrossRefGoogle Scholar
  19. 19.
    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
  20. 20.
    Zuberek, W.M.: Incremental Composition of Software Components. In: Zamojski, W., Kacprzyk, J., Mazurkiewicz, J., Sugier, J., Walkowiak, T. (eds.) Dependable Computer Systems. AISC, vol. 97, pp. 301–311. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  21. 21.
    Zuberek, W.M., Bluemke, I., Craig, D.C.: Modeling and performance analysis of component-based systems. Int. Journal of Critical Computer-Based Systems 1(1-3), 191–207 (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Wlodek M. Zuberek
    • 1
    • 2
  1. 1.Department of Computer ScienceMemorial UniversitySt.John’sCanada
  2. 2.Department of Applied InformaticsUniversity of Life SciencesWarszawaPoland

Personalised recommendations