Model-Based Adaptation of Software Communicating via FIFO Buffers

  • Carlos Canal
  • Gwen Salaün
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9033)


Software Adaptation is a non-intrusive solution for composing black-box components or services (peers) whose individual functionality is as required for the new system, but that present interface mismatch, which leads to deadlock or other undesirable behaviour when combined. Adaptation techniques aim at automatically generating new components called adapters. All the interactions among peers pass through the adapter, which acts as an orchestrator and makes the involved peers work correctly together by compensating for mismatch. Most of the existing solutions in this field assume that peers interact synchronously using rendezvous communication. However, many application areas rely on asynchronous communication models where peers interact exchanging messages via buffers. Generating adapters in this context becomes a difficult problem because peers may exhibit cyclic behaviour, and their composition often results in infinite systems. In this paper, we present a method for automatically generating adapters in asynchronous environments where peers interact using FIFO buffers.


Virtual Machine Label Transition System Adaptation Rule Asynchronous System Virtual Machine Instance 
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.


  1. 1.
    van der Aalst, W.M.P., Mooij, A.J., Stahl, C., Wolf, K.: Service Interaction: Patterns, Formalization, and Analysis. In: Bernardo, M., Padovani, L., Zavattaro, G. (eds.) SFM 2009. LNCS, vol. 5569, pp. 42–88. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  2. 2.
    de Alfaro, L., Henzinger, T.A.: Interface Automata. In: Proc. of ESEC/FSE 2001, pp. 109–120. ACM Press (2001)Google Scholar
  3. 3.
    Basu, S., Bultan, T., Ouederni, M.: Deciding Choreography Realizability. In: Proc. of POPL 2012, pp. 191–202. ACM (2012)Google Scholar
  4. 4.
    Bennaceur, A., Chilton, C., Isberner, M., Jonsson, B.: Automated Mediator Synthesis: Combining Behavioural and Ontological Reasoning. In: Hierons, R.M., Merayo, M.G., Bravetti, M. (eds.) SEFM 2013. LNCS, vol. 8137, pp. 274–288. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  5. 5.
    Bracciali, A., Brogi, A., Canal, C.: A Formal Approach to Component Adaptation. Journal of Systems and Software 74(1), 45–54 (2005)CrossRefGoogle Scholar
  6. 6.
    Brand, D., Zafiropulo, P.: On Communicating Finite-State Machines. Journal of the ACM 30(2), 323–342 (1983)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Brogi, A., Popescu, R.: Automated Generation of BPEL Adapters. In: Dan, A., Lamersdorf, W. (eds.) ICSOC 2006. LNCS, vol. 4294, pp. 27–39. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  8. 8.
    Cámara, J., Martín, J.A., Salaün, G., Cubo, J., Ouederni, M., Canal, C., Pimentel, E.: ITACA: An Integrated Toolbox for the Automatic Composition and Adaptation of Web Services. In: Proc. of ICSE 2009, pp. 627–630. IEEE (2009)Google Scholar
  9. 9.
    Cámara, J., Martín, J.A., Salaün, G., Canal, C., Pimentel, E.: Semi-Automatic Specification of Behavioural Service Adaptation Contracts. Electr. Notes Theor. Comput. Sci. 264(1), 19–34 (2010)CrossRefGoogle Scholar
  10. 10.
    Canal, C., Murillo, J.M., Poizat, P.: Software Adaptation. L’Objet 12(1), 9–31 (2006)Google Scholar
  11. 11.
    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
  12. 12.
    Canal, C., Poizat, P., Salaün, G.: Model-Based Adaptation of Behavioural Mismatching Components. IEEE Trans. on Software Engineering 34(4), 546–563 (2008)CrossRefGoogle Scholar
  13. 13.
    Canal, C., Salaün, G.: Adaptation of Asynchronously Communicating Software. In: Franch, X., Ghose, A.K., Lewis, G.A., Bhiri, S. (eds.) ICSOC 2014. LNCS, vol. 8831, pp. 437–444. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  14. 14.
    Cubo, J., Salaün, G., Canal, C., Pimentel, E., Poizat, P.: A Model-Based Approach to the Verification and Adaptation of WF/.NET Components. In: Proc. of FACS 2007. ENTCS, vol. 215, pp. 39–55. Elsevier (2007)Google Scholar
  15. 15.
    Garavel, H., Lang, F., Mateescu, R., Serwe, W.: CADP 2010: A Toolbox for the Construction and Analysis of Distributed Processes. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 372–387. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  16. 16.
    Gierds, C., Mooij, A.J., Wolf, K.: Reducing Adapter Synthesis to Controller Synthesis. IEEE T. Services Computing 5(1), 72–85 (2012)CrossRefGoogle Scholar
  17. 17.
    van Glabbeek, R.J., Weijland, W.P.: Branching Time and Abstraction in Bisimulation Semantics. Journal of the ACM 43(3), 555–600 (1996)CrossRefzbMATHMathSciNetGoogle Scholar
  18. 18.
    Inverardi, P., Tivoli, M.: Automatic Synthesis of Modular Connectors via Composition of Protocol Mediation Patterns. In: Proc. of ICSE 2013, pp. 3–12. IEEE / ACM (2013)Google Scholar
  19. 19.
    Magee, J., Kramer, J., Giannakopoulou, D.: Behaviour Analysis of Software Architectures, pp. 35–49. Kluwer Academic Publishers (1999)Google Scholar
  20. 20.
    Martín, J.A., Pimentel, E.: Contracts for Security Adaptation. J. Log. Algebr. Program. 80(3-5), 154–179 (2011)CrossRefzbMATHGoogle Scholar
  21. 21.
    Mateescu, R., Poizat, P., Salaün, G.: Adaptation of Service Protocols using Process Algebra and On-the-Fly Reduction Techniques. In: Bouguettaya, A., Krueger, I., Margaria, T. (eds.) ICSOC 2008. LNCS, vol. 5364, pp. 84–99. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  22. 22.
    Mateescu, R., Poizat, P., Salaün, G.: Adaptation of Service Protocols Using Process Algebra and On-the-Fly Reduction Techniques. IEEE Trans. on Software Engineering 38(4), 755–777 (2012)CrossRefGoogle Scholar
  23. 23.
    Nezhad, H.R.M., Xu, G.Y., Benatallah, B.: Protocol-Aware Matching of Web Service Interfaces for Adapter Development. In: Proc. of WWW 2010, pp. 731–740. ACM (2010)Google Scholar
  24. 24.
    Ouederni, M., Salaün, G., Bultan, T.: Compatibility Checking for Asynchronously Communicating Software. In: Fiadeiro, J.L., Liu, Z., Xue, J. (eds.) FACS 2013. LNCS, vol. 8348, pp. 310–328. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  25. 25.
    Padovani, L.: Contract-Based Discovery and Adaptation of Web Services. In: Bernardo, M., Padovani, L., Zavattaro, G. (eds.) SFM 2009. LNCS, vol. 5569, pp. 213–260. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  26. 26.
    Plasil, F., Visnovsky, S.: Behavior Protocols for Software Components. IEEE Trans. on Software Engineering 28(11), 1056–1076 (2002)CrossRefGoogle Scholar
  27. 27.
    Poizat, P., Salaün, G.: Adaptation of Open Component-based Systems. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 141–156. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  28. 28.
    Seguel, R., Eshuis, R., Grefen, P.W.P.J.: Generating Minimal Protocol Adaptors for Loosely Coupled Services. In: Proc. of ICWS 2010, pp. 417–424. IEEE Computer Society (2010)Google Scholar
  29. 29.
    Tivoli, M., Inverardi, P.: Failure-Free Coordinators Synthesis for Component-Based Architectures. Sci. Comput. Program. 71(3), 181–212 (2008)CrossRefzbMATHMathSciNetGoogle Scholar
  30. 30.
    Yellin, D.M., Strom, R.E.: Protocol Specifications and Components Adaptors. ACM Trans. on Programming Languages and Systems 19(2), 292–333 (1997)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Carlos Canal
    • 1
  • Gwen Salaün
    • 2
  1. 1.University of MálagaMálagaSpain
  2. 2.University of Grenoble Alpes, Inria, LIG, CNRSGrenobleFrance

Personalised recommendations