Using aspect-oriented programming (AOP), software developers can define customized compile-time error or warning messages that are issued when the code contains join points that match specified pointcuts. These customized messages are generated by compile-time declarations, which are an extremely simple but powerful AOP mechanism. Declarations that look for nonvalid interactions between modules can be used for architecture enforcement. Coding policies, best practices, design patterns, and code-naming conventions can also be enforced. Compile-time declarations operate as an additional verification in the build process, but they do not affect the compiled application and can be turned on and off at any time. That feature makes this approach an automated and nondisruptive solution for architecture enforcement and a risk-free first step towards AOP adoption.
This report is related to the following area(s) of work:
Software ArchitectureTechnical Note
CMU/SEI-2007-TN-019
September 2007
SEI:
Merson, Paulo; Using Aspect-Oriented Programming to Enforce Architecture (CMU/SEI-2007-TN-019). Software Engineering Institute, Carnegie Mellon University, 2007. http://www.sei.cmu.edu/library/abstracts/reports/07tn019.cfm
IEEE:
P. Merson, "Using Aspect-Oriented Programming to Enforce Architecture," Software Engineering Institute, Carnegie Mellon University, Pittsburgh, Pennsylvania, Technical Note CMU/SEI-2007-TN-019, 2007. http://www.sei.cmu.edu/library/abstracts/reports/07tn019.cfm
APA:
Merson, P., (2007). Using Aspect-Oriented Programming to Enforce Architecture (CMU/SEI-2007-TN-019). Retrieved May 25, 2013, from the Software Engineering Institute, Carnegie Mellon University website: http://www.sei.cmu.edu/library/abstracts/reports/07tn019.cfm
CHI:
Merson, Paulo, Using Aspect-Oriented Programming to Enforce Architecture (CMU/SEI-2007-TN-019). Pittsburgh, PA: Software Engineering Institute, Carnegie Mellon University, 2007. http://www.sei.cmu.edu/library/abstracts/reports/07tn019.cfm
MLA:
Merson, P., 2007. Using Aspect-Oriented Programming to Enforce Architecture (Technical Report CMU/SEI-2007-TN-019). Pittsburgh: Software Engineering Institute, Carnegie Mellon University. http://www.sei.cmu.edu/library/abstracts/reports/07tn019.cfm
For more information