Skip to main content

Part of the book series: Studies in Computational Intelligence ((SCI,volume 150))

  • 440 Accesses

Summary

When a new release of a component replaces one of its older versions (component upgrade), changes to its interface may invalidate existing component-based applications and require adaptation. To automate the latter, developers usually need to provide adaptation specifications. Whereas writing such specifications is cumbersome and error-prone, maintaining them is even harder, because any evolutionary component change may invalidate existing specifications. We show how the use of a history of structural component changes (refactorings) enables automatic adaptation of existing adaptation specifications; the latter are written once and need not be maintained.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Borland JBuilder, http://www.codegear.com/products/jbuilder

  2. ComeBack! homepage, http://comeback.sf.net

  3. Eclipse Foundation, http://www.eclipse.org

  4. JHotDraw framework, http://www.jhotdraw.org

  5. LAN-simulation lab session, http://www.lore.ua.ac.be

  6. SalesPoint homepage, http://www-st.inf.tu-dresden.de/SalesPoint/v3.1

  7. Balaban, I., Tip, F., Fuhrer, R.: Refactoring support for class library migration. In: OOPSLA 2005: Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, pp. 265–279. ACM Press, New York (2005)

    Chapter  Google Scholar 

  8. Becker, S., Brogi, A., Gorton, I., Overhage, S., Romanovsky, A., Tivoli, M.: Towards an engineering approach to component adaptation. In: Reussner, R., Stafford, J.A., Szyperski, C.A. (eds.) Architecting Systems with Trustworthy Components. LNCS, vol. 3938, pp. 193–215. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Brogi, A., Canal, C., Pimentel, E.: Component adaptation through flexible subservicing. Science of Computer Programming 63(1), 39–56 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. Chow, K., Notkin, D.: Semi-automatic update of applications in response to library changes. In: ICSM 1996: Proceedings of the 1996 International Conference on Software Maintenance, p. 359. IEEE Computer Society Press, Washington (1996)

    Chapter  Google Scholar 

  12. Dig, D., Comertoglu, C., Marinov, D., Johnson, R.: Automated detection of refactorings in evolving components. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 404–428. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  13. Dig, D., Johnson, R.: The role of refactorings in API evolution. In: ICSM 2005: Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM 2005), pp. 389–398. IEEE Computer Society Press, Washington (2005)

    Chapter  Google Scholar 

  14. Dig, D., Negara, S., Mohindra, V., Johnson, R.: ReBA: Refactoring-aware binary adaptation of evolving libraries. In: ICSE 2008: International Conference on Software Engineering. Leipzig, Germany, (to appear, 2008)

    Google Scholar 

  15. Henkel, J., Diwan, A.: Catchup!: capturing and replaying refactorings to support API evolution. In: ICSE 2005: Proceedings of the 27th International Conference on Software Engineering, pp. 274–283. ACM Press, New York (2005)

    Google Scholar 

  16. Inverardi, P., Tivoli, M.: Software architecture for correct components assembly. In: Bernardo, M., Inverardi, P. (eds.) SFM 2003. LNCS, vol. 2804, pp. 92–121. Springer, Heidelberg (2003)

    Google Scholar 

  17. Johnson, R., Foote, B.: Designing reusable classes. Journal of Object-Oriented Programming 1(2), 22–35 (1988)

    Google Scholar 

  18. Keller, R., Hölzle, U.: Binary component adaptation. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 307–329. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  19. Opdyke, W.F.: Refactoring object-oriented frameworks. Ph.D. thesis, University of Illinois at Urbana-Champaign, Urbana-Champaign, IL, USA (1992)

    Google Scholar 

  20. Reussner, R.: The use of parameterised contracts for architecting systems with software components. In: Bosch, J., Weck, W., Szyperski, C. (eds.) WCOP 2001: Proceedings of the Sixth International Workshop on Component-Oriented Programming (2001)

    Google Scholar 

  21. Roock, S., Havenstein, A.: Refactoring tags for automatic refactoring of framework dependent applications. In: Wells, D., Williams, L. (eds.) XP 2002. LNCS, vol. 2418, pp. 182–185. Springer, Heidelberg (2002)

    Google Scholar 

  22. Şavga, I., Rudolf, M.: Refactoring-based adaptation for binary compatiblity in evolving frameworks. In: GPCE 2007: Proceedings of the Sixth International Conference on Generative Programming and Component Engineering, pp. 175–184. ACM Press, Salzburg (2007)

    Google Scholar 

  23. Şavga, I., Rudolf, M., Lehmann, J.: Controlled adaptation-oriented evolution of object-oriented components. In: IASTED SE 2008: Proceedings of the IASTED International Conference on Software Engineering. ACTA Press, Innsbruck (2008)

    Google Scholar 

  24. Yellin, D.M., Strom, R.E.: Protocol specifications and component adaptors. ACM TOPLAS: ACM Transactions on Programming Languages and Systems 19(2), 292–333 (1997)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Şavga, I., Rudolf, M. (2008). Refactoring-Based Adaptation of Adaptation Specifications. In: Lee, R. (eds) Software Engineering Research, Management and Applications. Studies in Computational Intelligence, vol 150. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70561-1_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-70561-1_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-70774-5

  • Online ISBN: 978-3-540-70561-1

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics