Friday 26th of April 2024
 

Aspect-Oriented Requirements Engineering for Advanced Separation of Concerns: A Review


Narender Singh and Nasib Singh Gill

Software engineering was introduced to cope with software crisis with two fundamental principles: separation of concerns and modularity. Many programming paradigms have been proposed and used while considering the fundamental principles from the early days. Complex software systems were successfully modularized but complete separation of concerns is still impossible to achieve using todays most popular programming paradigms such as object-oriented programming. There are some concerns which could not be separated properly in a single class or module due to their highly coupling with other classes or modules behaviors. We call such unmodularized concerns as crosscutting concerns and these are responsible for scattering and tangling. Aspects are the natural evolution of the object-oriented paradigm. They provide a solution to some difficulties encountered with object-oriented programming, sometimes scattering and tangling. Hence, Aspect-Oriented Software Development (AOSD) is another step towards achieving improved modularity during software development. It gives emphasis to the separation of crosscutting concerns i.e. advanced separation of concerns and encapsulation of crosscutting concerns in separate modules, known as aspects. It later uses composition mechanism to weave them with other core modules at loading time, compilation time, or run-time. Aspect-Oriented Requirements Engineering (AORE) is an early phase in AOSD that supports separation of crosscutting concerns at requirements level. It does not replace but rather complements any of the existing requirements methodologies. Over the last few years, several research efforts have been devoted to this area. Several techniques for crosscutting concern identification have already been proposed. In this paper, an attempt is made to review the existing approaches and understand their contribution to requirements engineering.

Keywords: Separation of Concerns, Crosscutting Concerns, Aspect-Oriented Software Development, Aspect-Oriented Requirements Engineering

Download Full-Text


ABOUT THE AUTHORS

Narender Singh
Narender Singh is an Assistant Professor in Maharishi Markandeshwar University, Mullana-Ambala, India and pursuing his PhD degree from Department of Computer Science & Applications, Maharshi Dayanand University, Rohtak, India. He has earned his MCA and M.Phil degrees from Department of Computer Science & Applications, Kurukshetra University, Kurukshetra, India in 2006 and 2008 respectively. He has published more than 5 research papers in national & international journals & conference proceedings. His research interest includes Aspect-Oriented Requirements Engineering and Software Product Lines.

Nasib Singh Gill
Nasib Singh Gill is Professor and Head, Department of Computer Science & Applications, Maharshi Dayanand University, Rohtak, India. He has earned his Doctorate in Computer Science in the year 1996 under the supervision of a renowned academician and researcher – Prof. P.S. Grover of Delhi University and carried out his Post-Doctoral research at Brunel University, West London during 2001-2002. He has received Commonwealth Fellowship Award of British Government for the Year 2001. He has published more than 145 research papers in national & international journals, conference proceedings, bulletins, books, and newspapers. He has authored three popular books, namely, ‘Software Engineering’, ‘Digital Design and Computer Organisation’ and ‘Essentials of Computer and Network Technology’. He is a fellow of several professional bodies including IETE (The Institution of Electronics and Telecommunication Engineers). He has been awarded with ‘Best Paper Award’ by Computer Society of India in the year 1994 for contributing the best paper “A New Program Complexity Measure” in their Journal. He is presently guiding researchers in the areas - Measurement of Component-based Systems, Complexity of Software Systems, Component-based Testing, Data mining & Data warehousing, Aspect-Oriented Software Development, and NLP.


IJCSI Published Papers Indexed By:

 

 

 

 
+++
About IJCSI

IJCSI is a refereed open access international journal for scientific papers dealing in all areas of computer science research...

Learn more »
Join Us
FAQs

Read the most frequently asked questions about IJCSI.

Frequently Asked Questions (FAQs) »
Get in touch

Phone: +230 911 5482
Email: info@ijcsi.org

More contact details »