Skip to main content

Component Design and Adaptation Based on Behavioral Contracts

  • Conference paper
  • First Online:
New Trends in Model and Data Engineering (MEDI 2018)

Abstract

In this paper, our objective is to propose an adaptation approach to generate a component adaptor that ensures a correct interaction between mismatched components. Compared to the related works on component adaptation, the originality of our proposition relies on two main contributions. In the first, we design component behavioral contracts in order to generate component adaptor. So, we propose to specify component interfaces as behavioral contracts, to enrich the exhibited informations in component interfaces. Our behavioral contracts express all component facets: their action signatures, their actions semantics, and their protocol. We consider that these informations are important when generating component adaptors. In the second contribution, we propose to specify component behavioral contracts with the formalism based on interface automata that we enrich to specify the semantics of component actions. So, our adaptation approach is also an extension of the interface automata approach to handle the problem of component adaptation.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

Notes

  1. 1.

    \(\oplus \) is XOR.

  2. 2.

    For some set S, \(2^{S}\) is its power set.

  3. 3.

    \(\varPi _1\)(\(\langle a,b\rangle \)) = a and \(\varPi _2\)(\(\langle a,b\rangle \)) = b are respectively the projection on the first element and the second element of the couple \(\langle a,b\rangle \).

  4. 4.

    f\(^{-1}\) is the inverse function of f.

References

  1. Alfaro, L., Henzinger, T.A.: Interface automata. In: 9th Annual Symposium of FSE (Foundations of Software Engineering), pp. 109–120. ACM Press (2001)

    Google Scholar 

  2. Bracciali, A., Brogi, A., Canal, C.: A formal approach to component adaptation. J. Syst. Softw. 74, 45–54 (2005)

    Article  Google Scholar 

  3. Brogi, A., Canal, C., Pimentel, E.: Behavioural types and component adaptation. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 42–56. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-27815-3_8

    Chapter  MATH  Google Scholar 

  4. Canal, C., Murillo, J., Poizat, P.: Software adaptation. Spec. Issue Softw. Adapt. 12(1), 9–31 (2006)

    Google Scholar 

  5. 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). https://doi.org/10.1007/11768869_7

    Chapter  Google Scholar 

  6. Chouali, S., Mouelhi, S., Mountassir, H.: Adapting component behaviours using interface automata. In: Euromicro SEAA 2010 Conference. IEEE Computer Society Proceedings, September 2010

    Google Scholar 

  7. Hemer, D.: A formal approach to component adaptation and composition. In: Proceedings of the Twenty-Eighth Australasian Conference on Computer Science, ACSC 2005, Newcastle, Australia, pp. 259–266 (2005)

    Google Scholar 

  8. Min, H.G., Choi, S.W., Kim, S.D.: Using smart connectors to resolve partial matching problems in COTS component acquisition. In: Crnkovic, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 40–47. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24774-6_5

    Chapter  Google Scholar 

  9. Mouakher, I., Lanoix, A., Souquières, J.: Component adaptation: specification and verification. In: 11th International Workshop on Component Oriented Programming (WCOP 2006), ECOOP 2006, Nantes, France, p. 8, July 2006

    Google Scholar 

  10. Passerone, R., de Alfaro, L., Henzinger, T.A., Sangiovanni-Vincentelli, A.L.: Convertibility verification and converter synthesis: two faces of the same coin [IP block interfaces]. In: IEEE/ACM ICCAD 2002, pp. 132–139 (2002). https://doi.org/10.1109/ICCAD.2002.1167525

  11. Reussner, R.: Automatic component protocol adaptation with the CoConut/J tool suite. Future Gener. Comput. Syst. 19(5), 627–639 (2003)

    Article  Google Scholar 

  12. Schmidt, H.W., Reussner, R.H.: Generating adapters for concurrent component protocol synchronisation. In: Jacobs, B., Rensink, A. (eds.) FMOODS 2002. ITIFIP, vol. 81, pp. 213–229. Springer, Boston, MA (2002). https://doi.org/10.1007/978-0-387-35496-5_15

    Chapter  Google Scholar 

  13. Yellin, D., Strom, R.: Protocol specifications and components adaptors. ACM Trans. Program. Lang. Syst. 19(2), 292–333 (1997)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Samir Chouali .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Chouali, S., Mouelhi, S., Mountassir, H. (2018). Component Design and Adaptation Based on Behavioral Contracts. In: Abdelwahed, E., et al. New Trends in Model and Data Engineering. MEDI 2018. Communications in Computer and Information Science, vol 929. Springer, Cham. https://doi.org/10.1007/978-3-030-02852-7_19

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-02852-7_19

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-02851-0

  • Online ISBN: 978-3-030-02852-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics