Service Renaming in Component Composition
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.
KeywordsSoftware Component Regular Language Component Composition Interface Language Provider Component
Unable to display preview. Download preview PDF.
- 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
- 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.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
- 11.Hopcroft, J.E., Motwani, R., Ullman, J.D.: Introduction to automata theory, languages, and computations, 2nd edn. Addison-Wesley (2001)Google Scholar
- 15.Reisig, W.: Petri nets – an introduction. EATCS Monographs on Theoretical Computer Science, vol. 4. Springer (1985)Google Scholar
- 16.Szyperski, C.: Component software: beyond object-oriented programming, 2nd edn. Addison–Wesley Professional (2002)Google Scholar
- 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