Developing applications with aspect-oriented change realization

  • Authors:
  • Valentino Vranić;Michal Bebjak;Radoslav Menkyna;Peter Dolog

  • Affiliations:
  • Institute of Informatics and Software Engineering, Faculty of Informatics and Information Technologies, Slovak University of Technology, Slovakia;Institute of Informatics and Software Engineering, Faculty of Informatics and Information Technologies, Slovak University of Technology, Slovakia;Institute of Informatics and Software Engineering, Faculty of Informatics and Information Technologies, Slovak University of Technology, Slovakia;Department of Computer Science, Aalborg University, Aalborg East, Denmark

  • Venue:
  • CEE-SET'08 Proceedings of the Third IFIP TC 2 Central and East European conference on Software engineering techniques
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

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.