Aspect-oriented extension requirements modeling

Aspect-oriented programming (AOP) is a new programming pattern. It provides a mechanism to model the crosscutting concerns which may lead the code-tangling and code-scattering. However, most work of AOP is presented on the programming and the implementation phase. Few works have been written on the early development phase and current requirements engineering has not explicitly addressed the crosscutting nature. In view of this, this paper aims to apply AOP in the phrase of requirements engineering and separately models nonfunctional attributes. The main model processes are as follow: (1) identify core class and aspect class; (2) detect and resolve the mismatch; (3) describe system with state-chart diagram; (4) weave aspect class; and (5) simulate and validate requirements.