Advertisement

Developing Applications with Aspect-Oriented Change Realization

  • Valentino Vranić
  • Michal Bebjak
  • Radoslav Menkyna
  • Peter Dolog
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4980)

Abstract

An approach to aspect-oriented change realization is proposed in this paper. With aspect-oriented programming changes can be treated explicitly and directly at the programming language level. Aspect-oriented change realizations are mainly based on aspect-oriented design patterns or themselves constitute pattern-like forms in connection to which domain independent change types can be identified. However, it is more convenient to plan changes in a domain specific manner. Domain specific change types can be seen as subtypes of generally applicable change types. This relationship can be maintained in a form of a catalog. Further changes can actually affect the existing aspect-oriented change realizations, which can be solved by adapting the existing change implementation or by implementing an aspect-oriented change realization of the existing change without having to modify its source code. Separating out the changes this way can lead to a kind of aspect-oriented refactoring beneficial to the application as such. As demonstrated partially by the approach evaluation, the problem of change interaction may be avoided to the large extent by using appropriate aspect-oriented development tools, but for a large number of changes, dependencies between them have to be tracked, which could be supported by feature modeling.

Keywords

change aspect-oriented programming generally applicable changes domain specific changes change interaction 

References

  1. 1.
    Bebjak, M., Vranić, V., Dolog, P.: Evolution of web applications with aspect-oriented design patterns. In: Brambilla, M., Mendes, E. (eds.) Proc. of ICWE 2007 Workshops, 2nd International Workshop on Adaptation and Evolution in Web Systems Engineering, AEWSE 2007, in conjunction with 7th International Conference on Web Engineering, ICWE 2007, Como, Italy, pp. 80–86 (July 2007)Google Scholar
  2. 2.
    Bodden, E., Forster, F., Steimann, F.: Avoiding infinite recursion with stratified aspects. In: Hirschfeld, R., et al. (eds.) Proc. of NODe 2006. LNI P, vol. 88, pp. 49–64. GI, Erfurt (2006)Google Scholar
  3. 3.
    Charfi, A., Schmeling, B., Heizenreder, A., Mezini, M.: Reliable, secure, and transacted web service compositions with AO4BPEL. In: 4th IEEE European Conf. on Web Services (ECOWS 2006), pp. 23–34. IEEE Computer Society, Switzerland (2006)CrossRefGoogle Scholar
  4. 4.
    Conradi, R., Westfechtel, B.: Version models for software configuration management. ACM Computing Surveys 30(2), 232–282 (1998)CrossRefGoogle Scholar
  5. 5.
    Daniel, F., Matera, M., Pozzi, G.: Combining conceptual modeling and active rules for the design of adaptive web applications. In: Workshop Proc. of 6th Int. Conf. on Web Engineering (ICWE 2006). ACM Press, New York (2006)Google Scholar
  6. 6.
    Dolog, P., Vranić, V., Bieliková, M.: Representing change by aspect. ACM SIGPLAN Notices 36(12), 77–83 (2001)CrossRefGoogle Scholar
  7. 7.
    Fazekas, Z.: Facilitating configurability by separation of concerns in the source code. Journal of Computing and Information Technology (CIT) 13(3), 195–210 (2005)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Filkorn, R., Návrat, P.: An approach for integrating analysis patterns and feature diagrams into model driven architecture. In: Vojtáš, P., Bieliková, M., Charron-Bost, B., Sýkora, O. (eds.) SOFSEM 2005. LNCS, vol. 3381, pp. 372–375. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  9. 9.
    Goldschmidt, S., Junghagen, S., Harris, U.: Strategic Affiliate Marketing. Edward Elgar Publishing, London (2003)Google Scholar
  10. 10.
    Green, R., Rashid, A.: An aspect-oriented framework for schema evolution in object-oriented databases. In: Proc. of the Workshop on Aspects, Components and Patterns for Infrastructure Software (in Conjunction with AOSD 2002), Enschede, Netherlands (April 2002)Google Scholar
  11. 11.
    Khan, S., Rashid, A.: Analysing requirements dependencies and change impact using concern slicing. In: Proc. of Aspects, Dependencies, and Interactions Workshop (affiliated to ECOO 2008), Nantes, France (July 2006)Google Scholar
  12. 12.
    Kollár, J., Porubän, J., Václavík, P., Bandáková, J., Forgáè, M.: Functional approach to the adaptation of languages instead of software systems. Computer Science and Information Systems Journal (ComSIS) 4(2) (December 2007)Google Scholar
  13. 13.
    Kvale, A.A., Li, J., Conradi, R.: A case study on building COTS-based system using aspect-oriented programming. In: 2005 ACM Symposium on Applied Computing, pp. 1491–1497. ACM, Santa Fe (2005)CrossRefGoogle Scholar
  14. 14.
    Li, J., Kvale, A.A., Conradi, R.: A case study on improving changeability of COTS-based system using aspect-oriented programming. Journal of Information Science and Engineering 22(2), 375–390 (2006)Google Scholar
  15. 15.
    Loughran, N., Rashid, A., Zhang, W., Jarzabek, S.: Supporting product line evolution with framed aspects. In: Workshop on Aspects, Componentsand Patterns for Infrastructure Software (held with AOSD 2004, International Conference on Aspect-Oriented Software Development), Lancaster, UK (March 2004)Google Scholar
  16. 16.
    Miles, R.: AspectJ Cookbook. O’Reilly, Sebastopol (2004)Google Scholar
  17. 17.
    Molina-Ortiz, F., Medina-Medina, N., García-Cabrera, L.: An author tool based on SEM-HP for the creation and evolution of adaptive hypermedia systems. In: Workshop Proc. of 6th Int. Conf. on Web Engineering (ICWE 2006), ACM Press, New York (2006)Google Scholar
  18. 18.
    Papapetrou, O., Papadopoulos, G.A.: Aspect-oriented programming for a component based real life application: A case study. In: 2004 ACM Symposium on Applied Computing, pp. 1554–1558. ACM, Nicosia (2004)CrossRefGoogle Scholar
  19. 19.
    Pulvermüller, E., Speck, A., Coplien, J.O.: A version model for aspect dependency management. In: Dannenberg, R.B. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 70–79. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  20. 20.
    Rho, T., Kniesel, G.: Independent evolution of design patterns and application logic with generic aspects—a case study. Technical Report IAI-TR-2006-4, University of Bonn, Bonn, Germany (April 2006)Google Scholar
  21. 21.
    Rozinajová, V., Braun, M., Návrat, P., Bieliková, M.: Bridging the gap between service-oriented and object-oriented approach in information systems development. In: Avison, D., Kasper, G.M., Pernici, B., Ramos, I., Roode, D. (eds.) Proc. of IFIP 20th World Computer Congress, TC 8, Information Systems, Milano, Italy, Springer, Boston (2008)Google Scholar
  22. 22.
    Vranić, V.: Multi-paradigm design with feature modeling. Computer Science and Information Systems Journal (ComSIS) 2(1), 79–102 (2005)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2011

Authors and Affiliations

  • Valentino Vranić
    • 1
  • Michal Bebjak
    • 1
  • Radoslav Menkyna
    • 1
  • Peter Dolog
    • 2
  1. 1.Institute of Informatics and Software Engineering, Faculty of Informatics and Information TechnologiesSlovak University of TechnologyBratislava 4Slovakia
  2. 2.Department of Computer ScienceAalborg UniversityAalborg EASTDenmark

Personalised recommendations