Achieving Smooth Component Integration with Generative Aspects and Component Adaptation

  • Yankui Feng
  • Xiaodong Liu
  • Jon Kerridge
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4039)


Due to the availability of components and the diversity of target applications, mismatches between pre-qualified existing components and the particular reuse context in applications are often inevitable and have been a major hurdle of component reusability and successful composition. Although component adaptation has acted as a key solution of eliminating these mismatches, existing practices are either only capable for adaptation at a rather simple level, or require too much intervention from software engineers. This paper presents a highly automatic approach to component adaptation at adequately deep level. The adaptability and automation is achieved in an aspect-oriented component reuse framework by generating and then applying the adaptation aspects under designed weaving process according to specific adaptation requirements. An expandable library of reusable adaptation aspects at multiple abstraction levels has been developed. A prototype tool is developed to scale up the approach.


Component Adaptation Software Product Line Prototype Tool Aspect Manager Semantic Interpreter 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Batory, D., Chen, G., Robertson, E., Wang, T.: Design Wizards and Visual Programming Environments for GenVoca Generators. IEEE Transactions on Software Engineering, 441–452 (May 2000)Google Scholar
  2. 2.
    Batory, D., Johnson, C., MacDonald, B., Heeder, D.V.: Achieving Extensibility Through Product-Lines and Domain-Specific Languages: A Case Study. ACM Transactions on Software Engineering and Methodology (TOSEM) 11(2), 191–214 (2002)CrossRefGoogle Scholar
  3. 3.
    Bosch, J.: Superimposition: a component adaptation technique. Information and Software Technology 41(5), 257–273 (1999)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Cleaveland, J.C.: Building application generators. IEEE Software 5(4), 25–33 (1998)CrossRefGoogle Scholar
  5. 5.
    Diaz-Herrera, J.L., Knauber, P., Succi, G.: Issues and Models in Software Product Lines. International Journal on Software Engineering and Knowledge Engineering 10(4), 527–539 (2000)CrossRefGoogle Scholar
  6. 6.
  7. 7.
    Lieberherr, K., Lorenz, D., Mezini, M.: Programming with Aspectual Components, Technical Report NU-CCS-99-01 (March 1999)Google Scholar
  8. 8.
    Liu, X., Wang, B., Kerridge, J.: Achieving Seamless Component Composition Through Scenario-Based Deep Adaptation And Generation. Journal of Science of Computer Programming (Elsevier), Special Issue on New Software Composition Concepts 2, 56 (2005)Google Scholar
  9. 9.
    Keller, R., Hölzle, U.: Binary Component Adaptation. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445. Springer, Heidelberg (1998)Google Scholar
  10. 10.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: Getting Started with AspectJ. Communications of the ACM, 59–65 (October 2001)Google Scholar
  11. 11.
    Kucuk, B., Alpdemir, M.N.: Customizable adapters for blackbox components. In: Proceedings of the 3rd International Workshop on Component Oriented Programming, pp. 53–59 (1998)Google Scholar
  12. 12.
    Samentinger, J.: Software Engineering with Reusable Components. Springer, Heidelberg (1997)Google Scholar
  13. 13.
    Sommerville, I.: Software Engineering, 7th edn. Addison-Wesley, Reading (2004)Google Scholar
  14. 14.
    Suvee, D., Vanderperren, W., Jonckers, V.: JAsCo: an Aspect-Oriented approach tailored for component Based Software Development. In: Proceedings of the 2nd international conference on Aspect-oriented software development, Boston, USA, pp. 21–29 (2003)Google Scholar
  15. 15.
    Vanderperren, W., Suvée, D., Verheecke, B., Cibrán, M.A., Jonckers, V.: Adaptive programming in JAsCo. In: Proceedings of the 4th international conference on Aspect-oriented software development (March 2005)Google Scholar
  16. 16.
    Viega, J., Voas, J.: Quality time - Can aspect-oriented programming lead to more reliable software? IEEE Software 17(6), 19–21 (2000)CrossRefGoogle Scholar
  17. 17.
    Wang, B., Liu, X., Kerridge, J.: Scenario-based Generative Component Adaptation in .NET Framework. In: Proceedings of the IEEE International Conference on Information Reuse and Integration, Las Vegas, USA (November 2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Yankui Feng
    • 1
  • Xiaodong Liu
    • 1
  • Jon Kerridge
    • 1
  1. 1.School of ComputingNapier UniversityEdinburghUK

Personalised recommendations