Aspect Oriented Programming: Trends and Applications

Authors

DOI:

https://doi.org/10.25079/ukhjse.v6n1y2022.pp12-20

Keywords:

Aspect oriented programming (AOP), Object oriented programming (OOP), Logging, Cross-cutting concerns, Join Points, Point Cut.

Abstract

The competitive advantage of aspect oriented programming (AOP) is that it improves the maintainability and understandability of software systems by modularizing crosscutting concerns. However, some concerns, such as logging or debugging, may be overlooked and should be entangled and distributed across the code base. AOP is a software development paradigm that enables developers to capture crosscutting concerns in split-aspect modes. Additionally, it is a novel notion that has the potential to improve the quality of software programs by removing the complexity involved with the production of code tangles via the usage of separation of concerns. As a result, it provides more modularity. Throughout its early development, some believed that AOP was easier to build and maintain than other implementations since it was based on an existing one. The statements are predicated on the premise that local improvements are easier to implement. Additionally, without appropriate visualization tools for both static and dynamic structures, cross-cutting challenges may be difficult for developers and researchers to appreciate. In recent years, AspectJ has begun to enable the depiction of crosscutting concerns via the release of IDE plugins. This article explains aspect oriented programming and how it may be used to improve the readability and maintainability of software projects. Additionally, it will evaluate the challenges it presents to application developers and academics.

Downloads

Download data is not yet available.

Author Biographies

  • Shko Muhammed Qader, Information Technology Department, Computer Science Institute, Sulaimani Polytechnic University, Sulaymaniyah, Kurdistan Region, Iraq

    Shkoh M. Qader: is a lecturer at both Information Technology Department, Computer Science Institute, Sulaimani Polytechnic University, Sulaymaniyah, Kurdistan Region, Iraq, and  Information Technology Department, University College of Goizha, Sulaimani, Kurdistan Region, Iraq.

  • Bryar Ahmad Hassan, Department of Information Technology, Kurdistan Institution for Strategic Studies and Scientific Research (KISSR), Sulaymaniyah, Kurdistan Region, Iraq

    Dr Bryar is an Assistant Lecturer at the Department of Information Technology, Kurdistan Institution for Strategic Studies and Scientific Research (KISSR), Sulaymaniyah, Kurdistan Region, Iraq.

  • Hawkar Omar Ahmed, Department of Information Technology, College of Commerce, University of Sulaimani, Sulaymaniyah, Kurdistan Region, Iraq

    Hawkar Omar Ahmedis a lecturer at the Department of Information Technology, College of Commerce, University of Sulaimani, Sulaymaniyah, Kurdistan Region, Iraq

  • Hozan Khalid Hamarashid, Department of Information Technology, College of Commerce, University of Sulaimani, Sulaymaniyah, Kurdistan Region, Iraq

    Dr Hozan is an Assitant lecturer at the Department of Information Technology, College of Commerce, University of Sulaimani, Sulaymaniyah, Kurdistan Region, Iraq.

References

Alshareef, S. F., Maatuk, A. M., Abdelaziz, T. M., and Hagal, M. (2020). Validation Framework for Aspectual Requirements Engineering (ValFAR). Proceedings of the 6th International Conference on Engineering & MIS 2020, 1–7.
Avgustinov, P., Hajiyev, E., Ongkingco, N., de Moor, O., Sereni, D., Tibble, J., and Verbaere, M. (2007). Semantics of static pointcuts in AspectJ. ACM SIGPLAN Notices, 42(1), 11–23.
Bryar A.Hassan and T. A. R. (2020). Formal Context Reduction in Deriving Concept Hierarchies from Corpora Using Adaptive Evolutionary Clustering Algorithm. Complex & Intelligent Systems.
Beneken, G., Marschall, F., and Rausch, A. (2005). A Model Framework Weaving Approach, In: Proceedings of the First Workshop on Models and Aspects-Handling Crosscutting Concerns in MDSD at the 19th European Conference on Object-Oriented Programming (ECOOP 2005). 19th European Conference on Object-Oriented Programming (ECOOP 2005).
Chapman, M. P., Colyer, A. M., and Dalziel, B. J. (2013). Monitoring dynamic aspect oriented applications at execution time. Google Patents.
Gulia, P., Khari, M., and Patel, S. (2019). Metrics analysis in object oriented and aspect oriented programming. Recent Patents on Engineering, 13(2), 117–122.
Hentunen, D. (2015). Detecting a return-oriented programming exploit. Google Patents.
Hassan, B. A. (2020). CSCF: a chaotic sine cosine firefly algorithm for practical application problems. Neural Computing and Applications, 120.
Hassan, B. A. (2021). Analysis for the overwhelming success of the web compared to microcosm and hyper-G systems. ArXiv Preprint ArXiv:2105.08057.
Hassan, B. A., Ahmed, A. M., Saeed, S. A., and Saeed, A. A. (2016). Evaluating e-Government Services in Kurdistan Institution for Strategic Studies and Scientific Research Using the EGOVSAT Model. Kurdistan Journal of Applied Research, 1(2), 1–7.
Hassan, B. A. and Qader, S. M. (2021). A New Framework to Adopt Multidimensional Databases for Organizational Information System Strategies. ArXiv Preprint ArXiv:2105.08131.
Hassan, B. A. and Rashid, T. A. (2019). Operational framework for recent advances in backtracking search optimisation algorithm: A systematic review and performance evaluation. Applied Mathematics and Computation, 124919.
Hassan, B. A. and Rashid, T. A. (2021a). A multidisciplinary ensemble algorithm for clustering heterogeneous datasets. Neural Computing and Applications. URL: https://doi.org/10.1007/s00521-020-05649-1
Hassan, B. A. and Rashid, T. A. (2021b). Artificial Intelligence Algorithms for Natural Language Processing and the Semantic Web Ontology Learning. ArXiv Preprint ArXiv:2108.13772.
Hassan, B. A., Rashid, T. A., and Hamarashid, H. K. (2021). A Novel Cluster Detection of COVID-19 Patients and Medical Disease Conditions Using Improved Evolutionary Clustering Algorithm Star. Computers in Biology and Medicine, 104866.
Hassan, B. A., Rashid, T. A., and Mirjalili, S. (2021). Performance evaluation results of evolutionary clustering algorithm star for clustering heterogeneous datasets. Data in Brief, 107044.
Hassan, B. and Dasmahapatra, S. (n.d.). Towards Semantic Web: Challenges and Needs.
Ju, K. and Bo, J. (2007). Applying IoC and AOP to the Architecture of Reflective Middleware. 2007 IFIP International Conference on Network and Parallel Computing Workshops (NPC 2007), 903–908.
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W. (2001). Getting started with AspectJ. Communications of the ACM, 44(10), 59–65.
Lau, R. Y. K., Zhang, W., and Xu, W. (2018). Parallel aspect‐oriented sentiment analysis for sales forecasting with big data. Production and Operations Management, 27(10), 1775–1794.
Lemos, O. A. L., Ferrari, F. C., Masiero, P. C., and Lopes, C. V. (2006). Testing aspect-oriented programming pointcut descriptors. Proceedings of the 2nd Workshop on Testing Aspect-Oriented Programs, 33–38.
Mcheick, H. and Godmaire, S. (2018). Designing and implementing different use cases of aspect-oriented programming with AspectJ for developing mobile applications. Proceedings of the 7th International Conference on Software Engineering and New Technologies, 1–8.
Maaroof, B. B., Rashid, T. A., Abdulla, J. M., Hassan, B. A., Alsadoon, A., Mohamadi, M., … Mirjalili, S. (2022). Current Studies and Applications of Shuffled Frog Leaping Algorithm: A Review. Archives of Computational Methods in Engineering, 1–16.
Nguyen, T. (2018). Java Spring Framework in developing the Knowledge Article Management application: A brief guide to use Spring Framework.
Panwar, P., Agarwal, D., Vyas, P., Jadhav, P. A., and Joshi, S. D. (2019). Evolution of Testing with Respect to the Programming Paradigms. International Journal of Mechanical Engineering and Technology, 10(3).
Rademacher, F., Sachweh, S., and Zündorf, A. (2019). Aspect-oriented modeling of technology heterogeneity in microservice architecture. 2019 IEEE International Conference on Software Architecture (ICSA), 21–30.
Raheman, S. R., Maringanti, H. B., and Rath, A. K. (2018). Aspect oriented programs: Issues and perspective. Journal of Electrical Systems and Information Technology, 5(3), 562–575.
Rajan, H. and Sullivan, K. J. (2005). Classpects: unifying aspect-and object-oriented language design. Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005., 59–68.
Saeed, M. H. R., Hassan, B. A., and Qader, S. M. (2017). An Optimized Framework to Adopt Computer Laboratory Administrations for Operating System and Application Installations. Kurdistan Journal of Applied Research, 2(3), 92–97.
Vidal, C., Benavides Cuevas, D. F., Leger, P., Galindo Duarte, J. Á., and Fukuda, H. (2015). Mixing of join point interfaces and feature-oriented programming for modular software product line. BICT 2015: 9th EAI International Conference on Bio-Inspired Information and Communications Technologies (2015), p 433-437.
Wand, M., Kiczales, G., and Dutchyn, C. (2001). A semantics for advice and dynamic join points in aspect-oriented programming. SAIG, 45–46.
Zhang, L. (2011). Study on comparison of AOP and OOP. 2011 International Conference on Computer Science and Service System (CSSS), 3596–3599.

Downloads

Published

2022-06-30

Issue

Section

Research Articles

How to Cite

Aspect Oriented Programming: Trends and Applications. (2022). UKH Journal of Science and Engineering, 6(1), 12-20. https://doi.org/10.25079/ukhjse.v6n1y2022.pp12-20