Linking goals to aspects

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.

[1]  Hans-Arno Jacobsen,et al.  Quantifying aspects in middleware platforms , 2003, AOSD '03.

[2]  Elisa Baniassad Finding Aspects In Requirements with Theme/Doc , 2004 .

[3]  Hans-Arno Jacobsen,et al.  Resolving feature convolution in middleware systems , 2004, OOPSLA.

[4]  uclm. es Goals and Quality Characteristics : Separating Concerns ∗ , 2004 .

[5]  Harold Ossher,et al.  Subject-oriented programming: a critique of pure objects , 1993, OOPSLA '93.

[6]  Yijun Yu,et al.  From goals to aspects: discovering aspects from requirements goal models , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[7]  Anna Liu,et al.  Gathering middleware requirements , 2001, Proceedings 15th International Conference on Information Networking.

[8]  Lars Rosenhainer Identifying Crosscutting Concerns in Requirements Specifications , 2004 .

[9]  Hans-Arno Jacobsen,et al.  Refactoring Middleware with Aspects , 2003, IEEE Trans. Parallel Distributed Syst..

[10]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[11]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[12]  Christian Prehofer,et al.  Feature-Oriented Programming: A Fresh Look at Objects , 1997, ECOOP.

[13]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[14]  John Mylopoulos,et al.  A Requirements-Driven Development Methodology , 2001, CAiSE.

[15]  João Araújo,et al.  Modularisation and composition of aspectual requirements , 2003, AOSD '03.

[16]  Kang G. Shin,et al.  MDARTS: A Multiprocessor Database Architecture for Hard Real-Time Systems , 2000, IEEE Trans. Knowl. Data Eng..

[17]  John Mylopoulos,et al.  Towards requirements-driven information systems engineering: the Tropos project , 2002, Inf. Syst..

[18]  Douglas C. Schmidt,et al.  The design of the TAO real-time object request broker , 1998, Comput. Commun..

[19]  Lodewijk Bergmans,et al.  Composing crosscutting concerns using composition filters , 2001, CACM.