In EARLY Aspects Workshop at AOSD, Chicago, IL, March 2005.
In RE models such as goal-oriented models, a complex system is directly described in terms of its purposes, which makes its functionality much easier to understand and to reason as compared to code-level implementations. Part of the difficulty in maintaining a stronger correspondence between requirements and code is possibly due to the sufficient modularization capabilities of traditional architectures where many functionalities do not exist in distinct modular entities. This paper reports on an investigation of how and where some distinct design requirements lead to crosscutting concerns when decomposed into code in goal models such as KAOS. We begin by matching our past experience in aspect discovery at the code level with a detailed requirements modeling of the same architecture in KAOS. The discovered patterns are validated in an independent project where the requirements modeling and the aspect identification are separately conducted. We observe that satisfying OR-decomposed subgoals in the KAOS model typically leads to tangled implementations, and agents responsible for multiple OR-refined goals should be implemented in the aspect-oriented manner.