On Interplay between Separation of Concerns and Genericity Principles: Beyond Code Weaving

Stan Jarzabek1 and Kuldeep Kumar2

  1. Faculty of Computer Science
    Bialystok University of Technology, Poland
    s.jarzabek@pb.edu.pl
  2. 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

DownloadAvailable 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