Abstract
With aspect-oriented programming, changes can be treated explicitly and directly at the programming
language level. An approach to aspect-oriented change realization based on a two-level
change type model is presented in this paper. In this approach, 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. These relationships can be maintained in a
form of a catalog. Some changes can actually affect 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. As demonstrated partially by the approach evaluation, the problem of change interaction
may be avoided to a large extent by using appropriate aspect-oriented development tools, but for
a large number of changes, dependencies between them have to be tracked. Constructing partial
feature models in which changes are represented by variable features is sufficient to discover
indirect change dependencies that may lead to change interaction.
language level. An approach to aspect-oriented change realization based on a two-level
change type model is presented in this paper. In this approach, 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. These relationships can be maintained in a
form of a catalog. Some changes can actually affect 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. As demonstrated partially by the approach evaluation, the problem of change interaction
may be avoided to a large extent by using appropriate aspect-oriented development tools, but for
a large number of changes, dependencies between them have to be tracked. Constructing partial
feature models in which changes are represented by variable features is sufficient to discover
indirect change dependencies that may lead to change interaction.
Original language | English |
---|---|
Journal | e-Informatica Software Engineering Journal |
Volume | 3 |
Issue number | 1 |
Pages (from-to) | 43-58 |
Number of pages | 16 |
ISSN | 1897-7979 |
Publication status | Published - 2009 |