Skip to main content

Adapting Collections and Arrays: Another Step towards the Automated Adaptation of Object Ensembles

  • Conference paper
Software Reuse for Dynamic Systems in the Cloud and Beyond (ICSR 2015)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8919))

Included in the following conference series:

Abstract

An important challenge of reuse in object-oriented development is that objects or more generally components often cannot be plugged together directly due to interface mismatches. Consequently, automating the adaptation of software building blocks has been on the research agenda for quite a while. However, after various attempts based on (semi-)formal specifications, only recently, adaptation approaches based on test cases have demonstrated that practically useable implementations of this idea are feasible. This paper addresses the adaptation of arrays and collections in order to bring the associated challenges into the center of attention and to increase the applicability of existing test-based adaptation approaches.

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 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Pearson Education (1994)

    Google Scholar 

  2. Hummel, O., Atkinson, C.: Automated Creation and Assessment of Component Adapters with Test Cases. In: Grunske, L., Reussner, R., Plasil, F. (eds.) CBSE 2010. LNCS, vol. 6092, pp. 166–181. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  3. Seiffert, D., Hummel, O.: Improving the Runtime-Processing for Component Adaptation. In: Favaro, J., Morisio, M. (eds.) ICSR 2013. LNCS, vol. 7925, pp. 81–96. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

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

    Google Scholar 

  5. Gosling, J., Joy, B., Steele, G., Bracha, G. Buckley, A.: The Java Language Specification, Java SE 7 Edition (February 28, 2013), http://docs.oracle.com/javase/specs/jls/se7/html/index.html (accessed November 14, 2014)

  6. Reiss, S.P.: Semantics-based code search. In: IEEE 31st International Conference on Software Engineering, ICSE 2009, pp. 243–253 (2009)

    Google Scholar 

  7. Hummel, O., Janjic, W.: Test-Driven Reuse: Key to Improving Precision of Seach Engines for Software Reuse. In: Finding Source Code on the Web for Remix and Reuse, pp. 227–250. Springer (2013)

    Google Scholar 

  8. Hölzle, U.: Integrating independently-developed components in object-oriented languages. In: Nierstrasz, O.M. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 36–56. Springer, Heidelberg (1993)

    Google Scholar 

  9. Kell, S.: Component adaptation and assembly using interface relations. In: Proceedings of the ACM International Conference on Object Oriented Programming Systems Languages and Application, OOPSLA 2010, pp. 322–340 (2010)

    Google Scholar 

  10. Nita, M., Notkin, D.: Using twinning to adapt programs to alternative apis. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, ICSE 2010, vol. 1, pp. 205–214 (2010)

    Google Scholar 

  11. Hummel, O., Atkinson, C.: The Managed Adapter Pattern: Facilitating Glue Code Generation for Component Reuse. In: Edwards, S.H., Kulczycki, G. (eds.) ICSR 2009. LNCS, vol. 5791, pp. 211–224. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  12. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley (2003)

    Google Scholar 

  13. Janjic, W., Atkinson, C.: Leveraging software search and reuse with automated software adaptation. In: 2012 ICSE Workshop on Search-Driven Development - Users, Infrastructure, Tools and Evaluation (SUITE), pp. 23–26 (2012)

    Google Scholar 

  14. Cavallaro, L., Di Nitto, E., Pelliccione, P., Pradella, M., Tivoli, M.: Synthesizing adapters for conversational web-services from their WSDL interface. In: Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, pp. 104–113 (2010)

    Google Scholar 

  15. McIlroy, M.: Mass-Produced Software Components. In: Software-Engineering: A Report on a Conf. Sponsored by the NATO Science Commitee, pp. 138–155 (1969)

    Google Scholar 

  16. Apache Software Foundation, Commons Math: The Apache Commons Mathematics Library (2014), http://commons.apache.org/proper/commons-math/ (accessed August 2014)

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Seiffert, D., Hummel, O. (2014). Adapting Collections and Arrays: Another Step towards the Automated Adaptation of Object Ensembles. In: Schaefer, I., Stamelos, I. (eds) Software Reuse for Dynamic Systems in the Cloud and Beyond. ICSR 2015. Lecture Notes in Computer Science, vol 8919. Springer, Cham. https://doi.org/10.1007/978-3-319-14130-5_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-14130-5_24

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-14129-9

  • Online ISBN: 978-3-319-14130-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics