ABCL: an object-oriented concurrent system
ABCL: an object-oriented concurrent system
Analysis of inheritance anomaly in object-oriented concurrent programming languages
Research directions in concurrent object-oriented programming
Parallel skeletons for structured composition
PPOPP '95 Proceedings of the fifth ACM SIGPLAN symposium on Principles and practice of parallel programming
Concurrency and distribution in object-oriented programming
ACM Computing Surveys (CSUR)
Guest editor's introduction: special issue on Java on clusters
Journal of Parallel and Distributed Computing - Special Issue on Java on Clusters
Aspect-oriented programming: Introduction
Communications of the ACM
Communications of the ACM
Parallel Programming Using C++
Parallel Programming Using C++
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Implementing distribution and persistence aspects with aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Design and Partial Evaluation of Meta-Objects for a Concurrent Reflective Language
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Patterns and skeletons for parallel and distributed computing
Patterns and skeletons for parallel and distributed computing
Using generative design patterns to generate parallel code for a distributed memory environment
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
Aspect-Oriented Programming is Quantification and Obliviousness
Aspect-Oriented Programming is Quantification and Obliviousness
Algorithm + strategy = parallelism
Journal of Functional Programming
Using AspectJ to separate concerns in parallel scientific Java code
Proceedings of the 3rd international conference on Aspect-oriented software development
Adding Distribution to Existing Applications by Means of Aspect Oriented Programming
SCAM '04 Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop
Reusable aspect-oriented implementations of concurrency patterns and mechanisms
Proceedings of the 5th international conference on Aspect-oriented software development
Proceedings of the 6th workshop on Aspects, components, and patterns for infrastructure software
A domain-specific language for parallel and grid computing
Proceedings of the 2008 AOSD workshop on Domain-specific aspect languages
GRID '07 Proceedings of the 8th IEEE/ACM International Conference on Grid Computing
Proceedings of the 18th ACM international symposium on High performance distributed computing
Managing Multi-concern Application Complexity in AspectSBASCO
ICCS '09 Proceedings of the 9th International Conference on Computational Science: Part I
Aspect oriented pluggable support for parallel computing
VECPAR'06 Proceedings of the 7th international conference on High performance computing for computational science
SkelJ: skeletons for object-oriented applications
PPAM'07 Proceedings of the 7th international conference on Parallel processing and applied mathematics
Adaptive parallel computing for large-scale distributed and parallel applications
Proceedings of the First International Workshop on Data Dissemination for Large Scale Complex Critical Infrastructures
Proceedings of the tenth international conference on Aspect-oriented software development
Raising the level of abstraction for developing message passing applications
The Journal of Supercomputing
Modular and non-invasive distributed memory parallelization
Proceedings of the 2012 workshop on Modularity in Systems Software
Proceedings of the 6th Euro American Conference on Telematics and Information Systems
Parallel evolutionary computation in bioinformatics applications
Computer Methods and Programs in Biomedicine
Hi-index | 0.00 |
This paper presents a methodology to develop more modular parallel applications, based on aspect oriented programming. Traditional object oriented mechanisms implement application core functionality and parallelisation concerns are plugged by aspect oriented mechanisms. Parallelisation concerns are separated into four categories: functional or/and data partition, concurrency, distribution and optimisation. Modularising these categories into separate modules using aspect oriented programming enables (un)pluggability of parallelisation concerns. This approach leads to more incremental application development, easier debugging and increased reuse of core functionality and parallel code, when compared with traditional object oriented approaches. A detailed analysis of a simple parallel application - a prime number sieve - illustrates the methodology and shows how to accomplish these gains