Aspect-orientation is a programmatic paradigm that concerns itself with the presence of crosscutting concerns—concerns that impact multiple modules in a given decomposition—which are claimed to impede the key modularity properties of comprehensibility, modifiability, and parallelizability of development.

Aspect-orientation promotes the separation and encapsulation of crosscutting concerns, as a way to improve these modularity properties, through an orthogonal modularity mechanism. This project had two facets: (1) assessment of the claims of AOSD, and (2) looking for ways to support the developer to overcome various problems that arose from it.

While we found that AOSD did not lead to significant, additional problems, overall we found that the claims of AOSD about the problems are not supported by the evidence. Thus, the need for any solution (let alone the specific mechanisms provided by AOSD) is not clear.

Publications

Assessing AOSD

  • Robert J. Walker, Shreya Rawal, and Jonathan Sillito. Do crosscutting concerns cause modularity problems? In Proceedings of the ACM SIGSOFT International Symposium on Foundations of Software Engineering (SIGSOFT/FSE 2012), Article 49, 11 pages, 2012. doi: 10.1145/2393596.2393654
  • Shafquat Mahmud. When Should Crosscutting Concerns Be of Concern in the Software Lifecycle?  MSc thesis. Department of Computer Science, University of Calgary, July 2006.
  • Robert J. Walker, Elisa L. A. Baniassad, and Gail C. Murphy. An initial assessment of aspect-oriented programming. Chapter 23 in Robert E. Filman, Tzilla Elrad, Siobhán Clarke, and Mehmet Akşit, editors, Aspect-Oriented Software Development, Addison-Wesley, September 2004. 26 pages.
  • Shafquat Mahmud and Robert J. Walker. A Case Study in Simulated Concurrent Development and Evolution: Investigating the Theme Approach. Technical report 2004-765-30, Department of Computer Science, University of Calgary, Calgary, Canada, October 2004. 12 pages. doi: 1880/46087
  • Robert J. Walker and Kevin Viggers. Communication History Patterns: Direct Implementation of Protocol Specifications. Technical report 2004-736-01, Department of Computer Science, University of Calgary, Calgary, Canada, February 2004. 13 pages. doi: 1880/46084
  • Siobhán Clarke and Robert J. Walker. Towards a standard design language for AOSD. In Proceedings of the First International Conference on Aspect-Oriented Software Development (AOSD '02), pages 113–119, 2002. doi: 10.1145/508386.508400
  • Gail C. Murphy, Albert Lai, Robert J. Walker, and Martin P. Robillard. Separating features in source code: An exploratory study. In Proceedings of the 23rd International Conference on Software Engineering (ICSE-23), pages 275–284, 2001. doi: 10.1109/ICSE.2001.919101
  • Siobhán Clarke and Robert J. Walker. Composition patterns: An approach to designing reusable aspects. In Proceedings of the 23rd International Conference on Software Engineering (ICSE-23), pages 5–14, 2001. doi: 10.1109/ ICSE.2001.919076
  • Gail C. Murphy, Robert J. Walker, Elisa L. A. Baniassad, Martin P. Robillard, Albert Lai, and Mik A. Kersten. Does aspect-oriented programming work? Communications of the ACM, 44(10):75–77, October 2001. doi: 10.1145/383845.383862
  • Albert Lai, Gail C. Murphy, and Robert J. Walker. Separating concerns with Hyper/J: An experience report. In Workshop Proceedings: Multi-dimensional Separation of Concerns in Software Engineering, 22nd International Conference on Software Engineering, pages 79–91, 2000.
  • Robert J. Walker, Elisa L. A. Baniassad, and Gail C. Murphy. An initial assessment of aspect-oriented programming. In Proceedings of the 21st International Conference on Software Engineering (ICSE-21), pages 120–130, 1999. doi: //10.1145/302405.302458

Optimization aspects

  • Jamal Siadat, Robert J. Walker, and Cameron Kiddle. Optimization aspects in network simulation. In Proceedings of the 5th International Conference on Aspect-Oriented Software Development (AOSD '06), pages 122–133, 2006. doi: 10.1145/1119655.1119673

Declarative event patterns (via the URD tool)

  • Kevin ViggersImproving the Modularity of Context-Sensitive Concerns through the Use of Declarative Event Patterns. MSc thesis. Department of Computer Science, University of Calgary, September 2005.
  • Robert J. Walker and Kevin Viggers. Implementing protocols via declarative event patterns. In Proceedings of the 12th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (SIGSOFT '04/FSE-12), pages 159–169, 2004. doi: 10.1145/1029894.1029918
  • Kevin Viggers and Robert J. Walker. An Implementation of Declarative Event Patterns. Technical report 2004-745-10, Department of Computer Science, University of Calgary, Calgary, Canada, December 2004. 34 pages. doi: 1880/46085

Implicit context

  • Robert J. Walker and Gail C. Murphy. Joinpoints as ordered events: Towards applying implicit context to aspect-orientation. In Proceedings for Advanced Separation of Concerns Workshop, 23rd International Conference on Software Engineering, pages 134–139, 2001.
  • Robert J. Walker and Gail C. Murphy. Implicit context: Easing software evolution and reuse. In Proceedings of the ACM SIGSOFT Eighth International Symposium on the Foundations of Software Engineering (SIGSOFT 2000/FSE-8), pages 69–78, 2000. doi: 10.1145/355045.355054
  • Robert J. Walker and Gail C. Murphy. Using Implicit Context to Ease Software Evolution and Reuse. Technical report TR-99-13, Department of Computer Science, University of British Columbia, Vancouver, Canada, November 1999. 11 pages.
  • Robert J. Walker. Contextual programming. In Proceedings of the 21st International Conference on Software Engineering (ICSE-21), pages 734–735, 1999. Doctoral symposium. doi: 10.1145/302405.303004
  • Robert J. Walker and Gail C. Murphy. Dynamic contextual reflection: A mechanism for software evolution and reuse. In Proceedings of the OOPSLA '99 Workshop on Reflection and Software Engineering (OORASE '99), ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 43–50, 1999.

Composition patterns

  • Siobhán Clarke and Robert J. Walker. Generic aspect-oriented design with Theme/UML. Chapter 19 in Robert E. Filman, Tzilla Elrad, Siobhán Clarke, and Mehmet Akşit, editors, Aspect-Oriented Software Development, Addison-Wesley, September 2004. 34 pages.
  • Siobhán Clarke and Robert J. Walker. Mapping composition patterns to AspectJ and Hyper/J. In Proceedings for Advanced Separation of Concerns Workshop, 23rd International Conference on Software Engineering, pages 18–26, 2001.
  • Robert J. Walker. Eliminating Cycles from Composed Class Hierarchies. Technical report TR-2000-07, Department of Computer Science, University of British Columbia, Vancouver, Canada, July 2000. 11 pages.