Aspect-oriented Programming with Julia
Osamu Ishimura, Yoshihide Yoshimoto

TL;DR
This paper introduces AspectJulia, an AOP framework for Julia that improves code modularity and maintainability by encapsulating cross-cutting concerns using Julia's metaprogramming capabilities.
Contribution
It presents the design and implementation of AspectJulia, enabling seamless aspect-oriented programming within Julia's runtime environment.
Findings
Enhanced modularity and maintainability of Julia code
Effective management of cross-cutting concerns in scientific computing
Demonstrated applicability across HPC and business domains
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsBusiness Process Modeling and Analysis
