On Interplay between Separation of Concerns and Genericity Principles: Beyond Code Weaving
- Faculty of Computer Science
Bialystok University of Technology, Poland
s.jarzabek@pb.edu.pl - Department of Computer Science and Information Systems
Birla Institute of Technology and Science (BITS), Pilani, India
kuldeep.kumar@pilani.bits-pilani.ac.in
Abstract
Ideally, we would separate concerns by designing a program so that each concern is contained in a module. Unfortunately, we often have to deal with concerns that cannot be modularized, but instead cross-cut modules of our primary decomposition. Some of the cross-cutting concerns can be separated using compositional techniques such as Aspect-Oriented Programming (AOP) that weave code into modules at specified program points. Here, we focus on crosscutting concerns that would not be easily separable with code weaving compositional techniques due to their frequent and complex interactions with the modules of primary decomposition. Separation of Concerns (SoC) and genericity are two important Software Engineering principles to better control software complexity during development, maintenance, and reuse. In this paper, we study the interplay between these two principles, showing that there is an overlapping area where the goals of SoC and genericity, as well as means to achieve these goals, are the same. We make a case that by integrating the principles of SoC and genericity we can achieve non-redundancy, and at the same time enhance the visibility of inseparable concerns, offering a weaker, but still useful form of SoC. We illustrate the points we make with examples of program representations built with the Adaptive Reuse Technique (ART) that supports both SoC and generic mechanisms.
Key words
generic design, separation of concerns, software reuse, maintenance, component-based development, generative programming, meta-programming
Digital Object Identifier (DOI)
https://doi.org/10.2298/CSIS160129028J
Publication information
Volume 13, Issue 3 (November 2016)
Special issue on Trends in Software Technologies
Year of Publication: 2016
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium
Full text
Available in PDF
Portable Document Format
How to cite
Jarzabek, S., Kumar, K.: On Interplay between Separation of Concerns and Genericity Principles: Beyond Code Weaving. Computer Science and Information Systems, Vol. 13, No. 3, 731–758. (2016), https://doi.org/10.2298/CSIS160129028J