Information Technology Reference
In-Depth Information
None of the scenario/use case-based approaches to aspect-oriented require-
ments engineering mentioned in this section excels in all of these factors (see
Sect. 5 for a discussion on this). AoUCM aim to address this shortcoming.
Furthermore, the group of goal-based approaches to aspect-oriented require-
ments engineering is also of interest in the context of an aspect-oriented URN,
e.g., work on aspects and the i* framework [2]. As GRL borrows many con-
cepts from the i* framework, we believe that aspects can also be added to the
GRL part of URN and that there is a need to synchronize aspect-oriented GRL
models with aspect-oriented scenario models expressed with UCM. Gross and
Yu [24] present an initial attempt at adding aspects to GRL. They introduce the
concept of an intentional aspect as an abstraction for the design of aspects, the
composition of actors and aspects, and linking aspects to implementation arte-
facts. Actors and intentional aspects encapsulate goals and alternative solutions
of system modules and aspects, respectively. When actors and aspects are com-
posed, their contributions to common non-functional requirements are merged.
The main objective of the approach is to provide traceability between aspects
and goals, and aspects and implementation artefacts. However, composition of
actors and aspects is not presently supported by tools. Alencar et al. [2] suggest
three rules to identify crosscutting concerns in i* models. Based on the findings,
the i* model is restructured in an aspect-oriented way using a new notational
element for aspects (a star). Both proposals are limited to adding aspects to
goal models, and do not consider linking goal models to scenario models such as
UCM models.
3
Aspect-Oriented Use Case Maps (AoUCM)
In order to unify aspect concepts with UCM concepts, the first step is to define
a joinpoint model for UCMs. Furthermore, advice, intertype declarations, and
pointcuts have to be defined in UCM terms. We will approach these tasks initially
in an informal way. At the end of this section, however, the concepts mentioned
above will be defined precisely in the URN metamodel. While previous work [30]
reported only on early results, the remaining sections of this paper give a much
more in-depth introduction to AoUCM. In summary, the following questions
need to be answered:
- What are good joinpoints in UCMs?
- How is advice specified for an aspect?
- How are intertype declarations specified for an aspect?
- How are pointcuts specified and how are pointcuts and advice linked?
3.1
Joinpoint Model
In aspect-oriented programming, a joinpoint is a point in the dynamic flow of
the program such as a method call, the execution of a method, the initializa-
tion of an object, set methods, get methods, or exception handling. Hence, a
joinpoint has a behavioral dimension as well as a structural dimension. For use
 
Search WWH ::




Custom Search