In previous assignments, you decomposed the Notepad application into features such that you could use AHEAD tools to synthesize it and its variants. In this assignment, you will do something similar but instead using Aspect Oriented Programming and the AspectJ tool. You can download the tool and its documentation from http://eclipse.org/aspectj/
Given your most recent FOP decomposition of notepad (or any previous version, including the un-decomposed notepad), re-implement it (or a reasonably usable subset of notepad) using AspectJ, and then answer the following questions:
** a gift certificate to Starbucks will be given to the person whose answer contains the most types of join-points (other than execution or call), has pointcuts that capture the largest number of join points, uses quantification in the most sophisticated way.
Also include in your report your experiences in designing the aspects and how would you compare your AOP experience to that of FOP.