Context-Based Adaptation of Component Behavioural Interfaces

  • Javier Cubo
  • Gwen Salaün
  • Javier Cámara
  • Carlos Canal
  • Ernesto Pimentel
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4467)


In the development of component-based systems, components need to be adapted in most of the occasions to work under certain conditions which were not initially predicted by their developers. These conditions are likely to change at runtime, therefore it is very important to provide systems with the ability to alter their behaviour while they are running, depending on the changing conditions of the environment. This paper presents an expressive and graphically-based notation to specify flexible adaptation policies (or mappings) between the interfaces of two or more components to be integrated. In a second step, we propose an algorithm which automatically derives the resulting adaptor from a mapping, and a description of component interfaces. We illustrate our proposal using an E-book system.


Contextual State Adaptation Policy Process Algebra Mapping Notation Component Interface 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alfaro, L., Henzinger, T.A.: Interface Automata. In: Proc. of ESEC/FSE’01, pp. 109–120. ACM Press, New York (2001)Google Scholar
  2. 2.
    Allen, A., Garlan, D.: A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)CrossRefGoogle Scholar
  3. 3.
    Andrews, T., et al.: Business Process Execution Language for Web Services (WSBPEL). BEA Systems, IBM, Microsoft, SAP AG, and Siebel Systems (February 2005)Google Scholar
  4. 4.
    Arbab, F., de Boer, F.S., Bonsangue, M.M., Scholten, J.V.G.: A Channel-based Coordination Model for Components. In: Proc. of FOCLASA’02. ENTCS, vol. 68(3), Elsevier, Amsterdam (2002)Google Scholar
  5. 5.
    Asthana, A., Cravatts, M., Krzyzanowski, P.: An Indoor Wireless System for Personalized Shopping Assistance. In: IEEE Workshop on Mobile Computing Systems and Applications, IEEE Computer Society Press, Los Alamitos (1994)Google Scholar
  6. 6.
    Bennett, F., Richardson, T., Harter, A.: Teleporting – Making Applications Mobile. In: Workshop on Mobile Computing Systems and Applications (1994)Google Scholar
  7. 7.
    Bracciali, A., Brogi, A., Canal, C.: A Formal Approach to Component Adaptation. The Journal of Systems and Software 74(1), 45–54 (2005)CrossRefGoogle Scholar
  8. 8.
    Braione, P., Picco, G.P.: On Calculi for Context-Aware Coordination. In: De Nicola, R., Ferrari, G.L., Meredith, G. (eds.) COORDINATION 2004. LNCS, vol. 2949, pp. 38–54. Springer, Heidelberg (2004)Google Scholar
  9. 9.
    Brogi, A., Cámara, J., Canal, C., Cubo, J., Pimentel, E.: Dynamic Contextual Adaptation. In: Proc. of FOCLASA’06. ENTCS, Elsevier, Amsterdam (2006)Google Scholar
  10. 10.
    Bukovics, B.: Pro WF: Windows Workflow in .NET 3.0. (Apress, 2007)Google Scholar
  11. 11.
    Canal, C., Murillo, J.M., Poizat, P.: Software Adaptation. L’Objet 12(1), 9–31 (2006) Special Issue on the 1st International Workshop on Coordination and Adaptation of Software Entities (WCAT’04)Google Scholar
  12. 12.
    Canal, C., Poizat, P., Salaün, G.: Synchronizing Behavioural Mismatch in Software Composition. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 63–77. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Chen, H., Finin, T., Joshi, A.: An Intelligent Broker for Context-Aware Systems. In: Dey, A.K., Schmidt, A., McCarthy, J.F. (eds.) UbiComp 2003. LNCS, vol. 2864, Springer, Heidelberg (2003)Google Scholar
  14. 14.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1984)Google Scholar
  15. 15.
    Inverardi, P., Tivoli, M.: Deadlock-free Software Architectures for COM/DCOM Applications. The Journal of Systems and Software 65(3), 173–183 (2003)Google Scholar
  16. 16.
    ISO. LOTOS: A Formal Description Technique based on the Temporal Ordering of Observational Behaviour. Technical Report 8807, International Standards Organisation (1989)Google Scholar
  17. 17.
    Magee, J., Kramer, J., Giannakopoulou, D.: Behaviour Analysis of Software Architectures, pp. 35–49. Kluwer Academic Publishers, Dordrecht (1999)Google Scholar
  18. 18.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)zbMATHGoogle Scholar
  19. 19.
    OMG. CORBA Component Model Specification, version 4.0. Object Management Group (2006)Google Scholar
  20. 20.
    Parrow, J.: An Introduction to the π-Calculus. In: Handbook of Process Algebra, Chapter 8, pp. 479–543. Elsevier, Amsterdam (2001)Google Scholar
  21. 21.
    Salber, D., Dey, A.K., Abowd, G.D.: The Context Toolkit: Aiding the Development of Context-Enabled Applications. In: Proc. of CHI’99, pp. 434–441. ACM Press, New York (1999)Google Scholar
  22. 22.
    Schilit, B., Adams, N., Want, R.: Context-aware Computing Applications. In: Proceedings of IEEE Workshop on Mobile Computing Systems and Applications, pp. 85–90. IEEE Computer Society Press, Los Alamitos (1994)Google Scholar
  23. 23.
    Schmidt, H.W., Reussner, R.H.: Generating Adapters For Concurrent Component Protocol Synchronisation. In: Proc. of FMOODS’02, pp. 213–229. Kluwer Academic Publishers, Dordrecht (2002)Google Scholar
  24. 24.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison Wesley, Reading (2003)Google Scholar
  25. 25.
    Wermelinger, M., Fiadeiro, J.: Connectors for Mobile Programs. IEEE Transactions on Software Engineering 24(5), 331–341 (1998)CrossRefGoogle Scholar
  26. 26.
    Yellin, D.M., Strom, R.E.: Protocol Specifications and Components Adaptors. ACM Transactions on Programming Languages and Systems 19(2), 292–333 (1997)CrossRefGoogle Scholar

Copyright information

© Springer Berlin Heidelberg 2007

Authors and Affiliations

  • Javier Cubo
    • 1
  • Gwen Salaün
    • 1
  • Javier Cámara
    • 1
  • Carlos Canal
    • 1
  • Ernesto Pimentel
    • 1
  1. 1.Department of Computer Science, University of Málaga, Campus de Teatinos, 29071, MálagaSpain

Personalised recommendations