Skip to main content

Automated Creation and Assessment of Component Adapters with Test Cases

  • Conference paper
Component-Based Software Engineering (CBSE 2010)

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

Included in the following conference series:

Abstract

The composition of new applications from pre-existing parts has been one of the central notions in software reuse and component-based development for many years. Recent advances with component retrieval technologies and dynamically reconfiguring systems have brought the automated integration of components into systems into the focus of research. Even when a component offers all functionality needed by the using environment there is often a host of “syntactic obstacles” and to date there is no general solution available that can automatically address syntactic mismatches between components and their clients. In this paper we present an approach that automatically creates all syntactically feasible adapters for a given component-client constellation and selects the semantically correct one with the help of “ordinary” unit test cases. After explaining how our approach works algorithmically, we demonstrate that our prototype implementation is already able to solve a large fraction of the adaptation challenges previously identified in the literature fully automatically.

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. Brooks, F.P.: No silver bullet: Essence and accidents of software engineering. IEEE Computer 20(4) (1987)

    Google Scholar 

  2. Parnas, D.L.: On the Criteria to be Used in Decomposing Systems into Modules. Communications of the ACM 15(12) (1972)

    Google Scholar 

  3. McIlroy, D.: Mass-Produced Software Components. In: Software Engineering: Report of a Conference Sponsored by the NATO Science Committee, Garmisch, Germany (1968)

    Google Scholar 

  4. Szyperski, C.: Component Software, 2nd edn. Addison-Wesley, Reading (2002)

    Google Scholar 

  5. Erl, T.: Service-oriented architecture: concepts, technology and design. Prentice-Hall, Englewood Cliffs (2005)

    Google Scholar 

  6. Crnkovic, I., Chaudron, M., Larsson, S.: Component-based Development Process and Component Lifecycle. In: Proc. of the Intern. Conf. on Software Engin. Advances (2006)

    Google Scholar 

  7. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  8. Kell, S.: A Survey of Practical Software Adaptation Techniques. Journal of Universal Computer Science 14(13) (2008)

    Google Scholar 

  9. Beck, K.: Extreme programming explained: embrace change. Addison-Wesley, Reading (2004)

    Google Scholar 

  10. Podgurski, A., Pierce, L.: Retrieving Reusable Software by Sampling Behavior. ACM Transactions on Software Engineering and Methodology 2(3) (1993)

    Google Scholar 

  11. Hummel, O., Janjic, W., Atkinson, C.: Code Conjurer: Pulling Reusable Software out of Thin Air. IEEE Software 25(5) (2008)

    Google Scholar 

  12. 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. (eds.) Architecting Systems with Trustworthy Components. LNCS, vol. 3938. Springer, Heidelberg (2006)

    Google Scholar 

  13. Meyer, B.: Applying Design by Contract. IEEE Computer 25(10) (1992)

    Google Scholar 

  14. Zaremski, A.M., Wing, J.M.: Signature Matching: A Tool for Using Software Libraries. ACM Transactions on Software Engineering and Methodology 4(2) (1995)

    Google Scholar 

  15. Stringer-Calvert, D.W.J.: Signature Matching for Ada Software Reuse. Master’s Thesis, University of York (1994)

    Google Scholar 

  16. Liskov, B., Wing, J.M.: A behavioral notion of subtyping. ACM Transaction on Programming Languages and Systems 16(6) (1994)

    Google Scholar 

  17. 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. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  18. Penix, J., Alexander, P.: Towards Automated Component Adaptation. In: Proceedings of the International Conference on Software Engineering and Knowledge Engineering (1997)

    Google Scholar 

  19. Haack, C., Howard, B., Stoughton, A., Wells, J.B.: Fully automatic adaptation of software components based on semantic specifications. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  20. Bracciali, A., Brogi, A., Canal, C.: A formal approach to component adaptation. The Journal of Systems and Software 74(1) (2005)

    Google Scholar 

  21. Gschwind, T.: Adaptation and Composition Techniques for Component-Based Software Engineering, PhD thesis, Technical University of Vienna (2002)

    Google Scholar 

  22. Brenner, D., Atkinson, C., Malaka, R., Merdes, M., Suliman, D., Paech, B.: Reducing Verification Effort in Component-Based Software Engineering through Built-In Testing. In: Information Systems Frontiers, vol. 9(2). Springer, Heidelberg (2007)

    Google Scholar 

  23. Motahari Nezhad, H.R., Benatallah, B., Martens, A., Curbera, F., Casati, F.: Semi-automated adaptation of service interactions. In: Proceedings of the International Conference on the World Wide Web (2007)

    Google Scholar 

  24. Atkinson, C., Hummel, O.: Reconciling Reuse and Trustworthiness through Self-Adapting Components. In: Proceedings of the International Workshop on Component-Oriented Programming (2009)

    Google Scholar 

  25. Martin, J.A., Pimentel, E.: Automatic Generation of Adaptation Contracts. Electronic Notes on Theoretical Computer Science, vol. 229, p. 2 (2009)

    Google Scholar 

  26. Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)

    Google Scholar 

  27. O.S.G. Alliance: OSGi Service Platform Core Specification. Release 4. OSGi (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hummel, O., Atkinson, C. (2010). Automated Creation and Assessment of Component Adapters with Test Cases. In: Grunske, L., Reussner, R., Plasil, F. (eds) Component-Based Software Engineering. CBSE 2010. Lecture Notes in Computer Science, vol 6092. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13238-4_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13238-4_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13237-7

  • Online ISBN: 978-3-642-13238-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics