Role of Software Composition in Aspect Oriented Programming - Sarode, P.R; Jugele, R. N (International Journal of Computer Sciences and Engineering, 2018)
Software composition is becoming more and more vital as innovation in software engineering shifts from the development of individual components to their reuse and recombination in innovative ways. It is a key topic in computer science and particularly programming language analysis. Software composition is the process of constructing software systems from a set of software components. It aims at improving the reusability, customizability, and maintainability of large software systems. The primary motivation for software composition is reuse. Generally, the composition can be defined as any promising and expressive interaction between the complex software concept and a composition mechanism defines such an interface. The more recently proposed programming approach known as Aspect-Oriented Programming illustrate the concept of modularization i.e. managing software complexity and improving its reusability, understandability, extensibility. It provides an alternative mechanism to solve the code tangling and scattering problems in the implementation of crosscutting concerns using abstraction and composition mechanisms. This work considers different views of software composition and various existing definitions of composition units with the corresponding composition mechanisms. Also, deliberated how software composition is more efficiently reusable in aspect-oriented programming and mentioned the fundamental facts of software composition implementation based on Aspect-Oriented programming paradigm.