Aspect-oriented Requirements Engineering
According to ,
"aspects tend not to be units of the (software) system's functional
decomposition, but rather to be properties that affect the performance or
semantics of the components in systematic ways." In other words, aspects
are mostly non-functional. In aspect-oriented programming (AOP), the aim is to
be able to isolate individual aspects (in addition to encapsulating program
components), so as to enable their composition and reuse. Since non-functional
aspects generally cross-cut code, separating and encapsulating them can help
program understanding and improve productivity. AOP was originally proposed at
Xerox Parc, where AspectJ
was developed as an AOP language. There are now several aspect-oriented
languages, such as AspectC++.
Our research focuses on the elicitation of aspects during
requirements analysis. Although there is previous work on this
idea [10, 11,
9, 4, 3], none presents a systematic process for
Figure 1: The V-Graph.
|Our work is founded on the analysis of
a goal model , which we call a V
graph (figure 1). In this graph,
hard goals represent functional requirements and
high-level softgoals represent non-functional requirements; these occur
at the top vertices of the V graph. Here, we consider aspects to be
non-functional. High-level goals are decomposed into lower-level goals and
eventually operationalized in terms of tasks; tasks are at the bottom vertex of
the V graph. The construction of a V graph requires the discovery of a series of
interactions between hard and soft goals. These interactions are the interplay
between goals -- how they support and interfere with each other. A formal
analysis ultimately leads to different possible operationalizations of goals.
Operationalizations are defined in terms of sets of tasks. In this regard, we
are building on top of earlier work on the evaluation and analysis of goal
models from the NFR project . |
of the analysis, consisting of contribution and correlation links among goals,
provide us with a trace of the V graph construction process. Given these traces
and explicit representations of reasoning about the interplay between hard and
soft goals , designers can understand in a more
systematic way the aspects to be used during implementation.
- Jaelson Castro, Manuel Kolp, and John Mylopoulos.
A requirements-driven development methodology. Lecture Notes in
Computer Science, 2068:108-??,
- L. Chung, B. A. Nixon, E. Yu, and
J. Mylopoulos. Non-Functional Requirements in Software
Kluwer Academic Publishing, 1999.
- Luiz Marcio Cysneiros, Julio Cesar Sampaio
do Prado Leite, and Jaime de Melo Sabat Neto.
A framework for integrating non-functional requirements into conceptual
models. requirements engineering.
- Frèderic Duclos, Jacky Estublier, and Philippe
Describing and using non functional aspects in component based
In Proceedings of the 1st international conference on
Aspect-oriented software development, pages 65-75. ACM Press,
- Andreas Gal, Olaf Spinczyk, and Dario Alvarez.
Object-orientation and operating systems.
In ECOOP Workshops 2002, pages 174-183, 2002.
- Paolo Giorgini, John Mylopoulos, Eleonora Nicchiarelli, and
Reasoning with goal models. Lecture Notes in Computer Science,
- G. Kiczales.
AspectJ(tm): Aspect-oriented programming in Java. Lecture Notes in
Computer Science, 2591:1, 2003.
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira
Lopes, Jean-Marc Loingtier, John Irwin. Aspect-Oriented Programming.
Proceedings of the European Conference on Object-Oriented Programming
(ECOOP), Finland, Springer-Verlag LNCS 1241, June 1997.
- Ana Moreira, Joeo Aracjo, and Isabel Brito.
Crosscutting quality attributes for requirements engineering.
In Proceedings of the 14th international conference on Software
engineering and knowledge engineering, pages 167-174. ACM Press,
- Awais Rashid, Ana Moreira, and Joèo Araçejo.
Modularisation and composition of aspectual requirements.
In Proceedings of the 2nd international conference on
Aspect-oriented software development, pages 11-20. ACM Press,
- Awais Rashid, Peter Sawyer, Ana M. D. Moreira, and
Early aspects: A model for aspect-oriented requirements engineerin.
In RE 2002, pages 199-202, 2002.
- Yijun Yu, Julio Ceasar Leite, John Mylopoulos.
From goals to aspects: discovering aspects from goal models. accepted.