Investigating the Complexity of Computational Intelligence using the Levels of Inheritance in an AOP based Software
S. Senthil Velan · 2019 Advances in Science and Engineering Technology International Conferences (ASET) · 2019
Aspect Oriented Programming (AOP) is a software development methodology that aims to improve the modularity by encapsulating the cross-cutting concerns into modular units called aspects. Inheritance of classes and aspects play a vital role while redefining the units of encapsulation. In this research, the impact of using multi-level inheritance in Aspect Oriented Soft-ware is quantitatively evaluated, with an extended and validated metric, namely the Weighted Average Depth of Inheritance. The metric has been applied on two equivalent OO and AO versions of a multi-level inheritance based Banking application case study which was developed using Java and AspectJ programming languages respectively. Based on the measurement it was found that the AspectJ version exhibits reduced cognitive complexity of computational intelligence compared to its equivalent Java version.