Aspect-oriented Software Engineering
Aspect-oriented Software Engineering
I became interested in the concept of aspect oriented software engineering in the late 1990s when developing component-based software systems and architectures. I needed a way to express cross-cutting concerns at requirements and design levels. This lead to the development of "aspect-oriented requirements engineering", specifically applied to component engineering. I further extended this work to use cross cutting aspects at the design, implementation, run-time discovery and adaptation and run-time testing areas. We developed a methodology around this, AOSE. I should really have written it up into a book, but never seemed to find the time...
Overall Methodology
Grundy, J.C. Multi-perspective specification, design and implementation of components using aspects, International Journal of Software Engineering and Knowledge Engineering, Vol. 10, No. 6, December 2000, World Scientific. PDF
Grundy, J.C. and Hosking, J.G. Developing Software Components with Aspects: Some Issues and Experiences, Chapter 25 in Aspect-Oriented Software Development, Prentice-Hall, October 2004, pp. 585-604. Pearson PDF
Almorsy, M., Grundy, J.C. and Ibrahim, A., Supporting Automated Software Re-Engineering Using "Re-Aspects”, 27th IEEE/ACM International Conference on Automated Software Engineering (ASE 2012), Sept 3-7 2012, Essen, Germany, ACM Press
Requirements
Grundy, J.C. Aspect-oriented Requirements Engineering for Component-based Software Systems, 1999 IEEE Symposium on Requirements Engineering, Limmerick, Ireland, 7-11 June, 1999, IEEE CS Press. PDF
Architecture and Design
Singh, S., Grundy, J.C., Hosking, J.G. and Sun, J. An Architecture for Developing Aspect-Oriented Web Services, In Proceedings of the 2005 European Conference on Web Services, Vaxjo, Sweden, Nov 14-16 2005, IEEE Press, DOI PDF
Singh, S., Grundy, J.C., Hosking, J.G. Developing .NET Web Service-based Applications with Aspect-Oriented Component Engineering , In Proceedings of the Fifth Autralasian Workshop on Software and Systems Architecures, Melbourne, Australia, 13-14 April 2004 PDF
Supporting aspect-oriented component-based systems engineering, 11th International Conference on Software Engineering and Knowledge Engineering, Kaiserslautern, Germany, 16-19 June 1999, KSI Press. PDF
Grundy, J.C., Panas, T., Singh, S., Stoeckle, H. An Approach to Developing Web Services with Aspect-oriented Component Engineering, In Proceedings of the 2nd Nordic Conference on Web Services, 2003. PDF
Run-time Discovery, Adaptation and Testing
Almorsy, M., Grundy, J.C., Ibrahim, A., SMURF: Supporting Multi-tenancy Using Re-Aspects Framework, 17th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2012), Paris, France, July 2012, IEEE CS Press. PDF
Grundy, J.C. Storage and retrieval of Software Components using Aspects, In Proceedings of the 2000 Australasian Computer Science Conference, Canberra, Australia, Jan 30-Feb 3 2000, IEEE CS Press, pp 95-103. PDF
Singh, S. Chen, H.C. Hunter, O., Grundy, J.C. and Hosking, J.G. Improving Agile Software Development using eXtreme AOCE and Aspect-Oriented CVS, in Proceedings of the 12th Asia-Pacific Software Engineering Conference, Taiwan, December 2005, IEEE CS Press, DOI PDF
Grundy, J.C., Ding, G., and Hosking, J.G. Deployed Software Component Testing using Dynamic Validation Agents, Journal of Systems and Software: Special Issue on Automated Component-based Software Engineering, vol. 74, no. 1, January 2005, Elsevier, pp. 5-14, DOI PDF
Tools
Grundy, J. and Patel, R. Developing Software Components with the UML, Enterprise Java Beans and Aspects, In Proceedings of the 2001 Australian Software Engineering Conference, Canberra, Australia, 26-28 August 2001, IEEE CS Press. PDF
Wang, Y., Singh, S., Hosking, J.G. and Grundy, J.C. An Aspect-Oriented UML Tool for Software Development with Early Aspects, Proceedings of ICSE 2006 Workshop on Early Aspects at ICSE: Aspect-Oriented Requirements Engineering and Architecture Design, Shanghai, May 2006. PDF.