Saved in:
Bibliographic Details
Main Authors: Ishimura, Osamu, Yoshimoto, Yoshihide
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2412.18885
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913627091501056
author Ishimura, Osamu
Yoshimoto, Yoshihide
author_facet Ishimura, Osamu
Yoshimoto, Yoshihide
contents This paper proposes integrating Aspect-oriented Programming (AOP) into Julia, a language widely used in scientific and High-Performance Computing (HPC). AOP enhances software modularity by encapsulating cross-cutting concerns, such as logging, caching, and parallelizing, into separate, reusable aspects. Leveraging Julia's powerful metaprogramming and abstract syntax tree (AST) manipulation capabilities, we introduce AspectJulia, an AOP framework designed to operate within Julia's runtime environment as a package. AspectJulia enables developers to define and apply aspects seamlessly, leading to more modular, maintainable, and adaptable code. We detail the implementation of AspectJulia and present diverse use cases, ranging from HPC and scientific computing to business applications, demonstrating its effectiveness in managing cross-cutting concerns. This integration simplifies application development and improves the adaptability of existing Julia modules and packages, paving the way for more efficient and maintainable software systems.
format Preprint
id arxiv_https___arxiv_org_abs_2412_18885
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Aspect-oriented Programming with Julia
Ishimura, Osamu
Yoshimoto, Yoshihide
Programming Languages
This paper proposes integrating Aspect-oriented Programming (AOP) into Julia, a language widely used in scientific and High-Performance Computing (HPC). AOP enhances software modularity by encapsulating cross-cutting concerns, such as logging, caching, and parallelizing, into separate, reusable aspects. Leveraging Julia's powerful metaprogramming and abstract syntax tree (AST) manipulation capabilities, we introduce AspectJulia, an AOP framework designed to operate within Julia's runtime environment as a package. AspectJulia enables developers to define and apply aspects seamlessly, leading to more modular, maintainable, and adaptable code. We detail the implementation of AspectJulia and present diverse use cases, ranging from HPC and scientific computing to business applications, demonstrating its effectiveness in managing cross-cutting concerns. This integration simplifies application development and improves the adaptability of existing Julia modules and packages, paving the way for more efficient and maintainable software systems.
title Aspect-oriented Programming with Julia
topic Programming Languages
url https://arxiv.org/abs/2412.18885