Bringing architecture-based adaption to the mainstream
Negar Ghorbani,Joshua Garcia,Sam Malek
DOI: https://doi.org/10.2139/ssrn.4515385
IF: 3.9
2024-08-23
Information and Software Technology
Abstract:Software architecture has been shown to provide an appropriate level of granularity for representation of a managed software system and reasoning about the impact of adaptation choices on its properties. Software architecture-based adaptability is the ability to adapt a software system in terms of its architectural elements, such as its components and their interfaces. Despite its promise, architecture-based adaptation has remained largely elusive, mainly because it involves heavy engineering effort of making non-trivial changes to the manner in which a software system is implemented. In this paper, we present Acadia —a framework that automatically enables architecture-based adaptation of practically any Java 9+ application without requiring any changes to the implementation of the application itself. Acadia builds on the Java Platform Module System (JPMS) , which has brought extensive support for architecture-based development to Java 9 and subsequent versions. Acadia extends JPMS with the ability to provide and maintain a representation of an application's architecture and make changes to it at runtime. The results of our experimental evaluation, conducted on three large open-source Java applications, indicate that Acadia is able to efficiently apply dynamic changes to the architecture of these applications without requiring any changes to their implementation.
computer science, information systems, software engineering