First-class concepts: Reifying architectural knowledge beyond the dominant decomposition

0Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.
Get full text

Abstract

In software engineering, programs are ideally partitioned into independently maintainable and understandable modules. As a system grows, its architecture gradually loses the capability to modularly accommodate new concepts. While refactoring is expensive and the language might lack appropriate primary language constructs to express certain cross-cutting concerns, programmers are still able to explain and delineate convoluted concepts through secondary means: code comments, use of whitespace and arrangement of code, documentation, or communicating tacit knowledge. Secondary constructs are easy to change and provide high flexibility in communicating cross-cutting concerns and other concepts among programmers. However, they have no reified representation that can be explored and maintained through tools. In this exploratory work, we discuss novel ways to express a wide range of concepts, including cross-cutting concerns, patterns, and lifecycle artifacts independently of the dominant decomposition imposed by an existing architecture. Our concepts are first-class objects inside the programming environment that retain the capability to change as easily as code comments. We explore new tools that allow programmers to view and change programs from conceptual perspectives rather than scattering their attention across existing modules. Our designs are geared towards facilitating multiple secondary perspectives on a system to co-exist alongside the original architecture, hence making it easier to explore, understand, and explain complex contexts and narratives not expressible in traditional modularity constructs.

Cite

CITATION STYLE

APA

Mattis, T., Beckmann, T., Rein, P., & Hirschfeld, R. (2021). First-class concepts: Reifying architectural knowledge beyond the dominant decomposition. In COP 2021 - Proceedings of the 13th ACM International Workshop on Context-Oriented Programming and Advanced Modularity, co-located with ECOOP/ISSTA 2021 (pp. 9–15). Association for Computing Machinery, Inc. https://doi.org/10.1145/3464970.3468413

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free