A DSL-based runtime adaptivity framework for Java
This article presents Kadabra, a Java source-to-source compiler that allows users to make code queries, code analysis and code transformations, all user-programmable using the domain-specific language LARA. We show how Kadabra can be used as the basis for developing a runtime autotuning and adaptivi...
Main Authors: | , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Elsevier
2023-07-01
|
Series: | SoftwareX |
Subjects: | |
Online Access: | http://www.sciencedirect.com/science/article/pii/S2352711023001929 |
_version_ | 1797679433446850560 |
---|---|
author | Tiago Carvalho João Bispo Pedro Pinto João M.P. Cardoso |
author_facet | Tiago Carvalho João Bispo Pedro Pinto João M.P. Cardoso |
author_sort | Tiago Carvalho |
collection | DOAJ |
description | This article presents Kadabra, a Java source-to-source compiler that allows users to make code queries, code analysis and code transformations, all user-programmable using the domain-specific language LARA. We show how Kadabra can be used as the basis for developing a runtime autotuning and adaptivity framework, able to adapt existing source Java code in order to take advantage of runtime autotuning. Specifically, this article presents the framework, consisting of Kadabra and an API for runtime adaptivity. We show the use of the framework to extend Java applications with autotuning and runtime adaptivity mechanisms to target performance improvement and/or energy saving goals. |
first_indexed | 2024-03-11T23:14:32Z |
format | Article |
id | doaj.art-7b9bcebd81de42ee9d8b97d139d0b155 |
institution | Directory Open Access Journal |
issn | 2352-7110 |
language | English |
last_indexed | 2024-03-11T23:14:32Z |
publishDate | 2023-07-01 |
publisher | Elsevier |
record_format | Article |
series | SoftwareX |
spelling | doaj.art-7b9bcebd81de42ee9d8b97d139d0b1552023-09-21T04:37:42ZengElsevierSoftwareX2352-71102023-07-0123101496A DSL-based runtime adaptivity framework for JavaTiago Carvalho0João Bispo1Pedro Pinto2João M.P. Cardoso3Corresponding author.; Faculty of Engineering, University of Porto, and INESC TEC, Rua Dr. Roberto Frias, s/n. 4200-465 Porto, PortugalFaculty of Engineering, University of Porto, and INESC TEC, Rua Dr. Roberto Frias, s/n. 4200-465 Porto, PortugalFaculty of Engineering, University of Porto, and INESC TEC, Rua Dr. Roberto Frias, s/n. 4200-465 Porto, PortugalFaculty of Engineering, University of Porto, and INESC TEC, Rua Dr. Roberto Frias, s/n. 4200-465 Porto, PortugalThis article presents Kadabra, a Java source-to-source compiler that allows users to make code queries, code analysis and code transformations, all user-programmable using the domain-specific language LARA. We show how Kadabra can be used as the basis for developing a runtime autotuning and adaptivity framework, able to adapt existing source Java code in order to take advantage of runtime autotuning. Specifically, this article presents the framework, consisting of Kadabra and an API for runtime adaptivity. We show the use of the framework to extend Java applications with autotuning and runtime adaptivity mechanisms to target performance improvement and/or energy saving goals.http://www.sciencedirect.com/science/article/pii/S2352711023001929Aspect-Oriented ProgrammingRuntime adaptivityCode specializationAutotuningSource-to-source compilersJava |
spellingShingle | Tiago Carvalho João Bispo Pedro Pinto João M.P. Cardoso A DSL-based runtime adaptivity framework for Java SoftwareX Aspect-Oriented Programming Runtime adaptivity Code specialization Autotuning Source-to-source compilers Java |
title | A DSL-based runtime adaptivity framework for Java |
title_full | A DSL-based runtime adaptivity framework for Java |
title_fullStr | A DSL-based runtime adaptivity framework for Java |
title_full_unstemmed | A DSL-based runtime adaptivity framework for Java |
title_short | A DSL-based runtime adaptivity framework for Java |
title_sort | dsl based runtime adaptivity framework for java |
topic | Aspect-Oriented Programming Runtime adaptivity Code specialization Autotuning Source-to-source compilers Java |
url | http://www.sciencedirect.com/science/article/pii/S2352711023001929 |
work_keys_str_mv | AT tiagocarvalho adslbasedruntimeadaptivityframeworkforjava AT joaobispo adslbasedruntimeadaptivityframeworkforjava AT pedropinto adslbasedruntimeadaptivityframeworkforjava AT joaompcardoso adslbasedruntimeadaptivityframeworkforjava AT tiagocarvalho dslbasedruntimeadaptivityframeworkforjava AT joaobispo dslbasedruntimeadaptivityframeworkforjava AT pedropinto dslbasedruntimeadaptivityframeworkforjava AT joaompcardoso dslbasedruntimeadaptivityframeworkforjava |