IMPROVING THE DESIGN AND IMPLEMENTATION OF SOFTWARE SYSTEMS USES ASPECT ORIENTED PROGRAMMING
Keywords:Aspect Oriented Programming, ASDL (Aspect Oriented Design language)
Aspect Oriented Programming (AOP) is a technique used to enhance the separation of concern in software design and implementation. To implement AOP developers most commonly use AspectJ, an extension of the Java language. In order to represent the separation of concerns a new design technique is needed for modeling of aspects. Aspect Oriented Design language (ASDL) is a design notation could build on the existing design language UML. It is capable of supporting many aspects-oriented languages. This research aims to investigate where developers can use aspect-oriented programming in the software development process. This includes how to identify Aspects in the design stage, then how they can be applied in the implementation process in software development. This will lead to improve modularity and reusability of the software. The paper will be a position paper abut Aspect Oriented Software Design, also will investigate several case studies of the design and implementation of a software application that shows how we can identify the Aspect in the process.
 H. Li, M. Zhou, G. Xu, and L. Si, “Aspect-oriented Programming for MVC Framework,” in Biomedical Engineering and Computer Science (ICBECS), 2010 International Conference on, 2010, pp. 1–4.
 J. D. Gradecki and N. Lesiecki, Mastering AspectJ: aspect-oriented programming in Java. John Wiley \& Sons, 2003.
 S. Iqbal and G. Allen, “Designing Aspects with AODL,” International Journal of Software Engineering, vol. 4, no. 2, pp. 3–18, 2011.
 C. Sant’Anna, A. Garcia, U. Kulesza, C. Lucena, and A. Von Staa, “Design patterns as aspects: A quantitative assessment,” Journal of the Brazilian Computer Society, vol. 10, no. 2, pp. 42–55, 2004.
 G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin, Aspect-oriented programming. Springer, 1997.
 R. France, I. Ray, G. Georg, and S. Ghosh, “Aspect-oriented approach to early design modelling,” IEE Proceedings-Software, vol. 151, no. 4, pp. 173–185, 2004.
 R. Pawlak, L. Seinturier, J.-P. Retaillé, and H. Younessi, Foundations of AOP for J2EE Development. Springer, 2005.
 G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold, “An overview of AspectJ,” in ECOOP 2001—Object-Oriented Programming, Springer, 2001, pp. 327–354.
 I. Jacobson, “Use cases and aspects-working seamlessly together,” Journal of Object Technology, vol. 2, no. 4, pp. 7–28, 2003.
S. Iqbal, “Aspects and Objects: A Unified Software Design Framework,” 2013.
D. Stein, S. Hanenberg, and R. Unland, “A UML-based aspect-oriented design notation for AspectJ,” in Proceedings of the 1st international conference on Aspect-oriented software development, 2002, pp. 106–112.
 S. A. Khan and A. Nadeem, “UML extensions for modeling of aspect oriented software: a survey,” in Proceedings of the 2010 National Software Engineering Conference, 2010, p. 5.
 S. Iqbal and G. Allen, “On Identifying and Representing Aspects.,” in Software Engineering Research and Practice, 2009, pp. 497–501.
 M. Berkane, M. Boufaida, and L. Seinturier, “Reasoning about design patterns with an Aspect-Oriented approach,” in Information Technology and e-Services (ICITeS), 2012 International Conference on, 2012, pp. 1–7.
 M. L. Bernardi and G. A. Di Lucca, “Improving Design Patterns Modularity Using Aspect Orientation,” STEP 2005, p. 209, 2005.
K. Sirbi and P. J. Kulkarni, “Stronger enforcement of security using aop and spring aop,” arXiv preprint arXiv:1006.4550, 2010.
A. Rashid, “Aspect-oriented requirements engineering: An introduction,” in International Requirements Engineering, 2008. RE’08. 16th IEEE, 2008, pp. 306–309.