Program evolution: processes of software change
Program evolution: processes of software change
Implementing a random number package with splitting facilities
ACM Transactions on Mathematical Software (TOMS)
ATOM: a system for building customized program analysis tools
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator
ACM Transactions on Modeling and Computer Simulation (TOMACS) - Special issue on uniform random number generation
ACM Transactions on Mathematical Software (TOMS) - Special issue in honor of John Rice's 65th birthday
Algorithm 806: SPRNG: a scalable library for pseudorandom number generation
ACM Transactions on Mathematical Software (TOMS)
AspectC++: an aspect-oriented extension to the C++ programming language
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Ten Good Practices in Scientific Programming
Computing in Science and Engineering
Proceedings of the 3rd international conference on Aspect-oriented software development
Pin: building customized program analysis tools with dynamic instrumentation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
An API for Runtime Code Patching
International Journal of High Performance Computing Applications
Using common off-the-shelf tools to implement dynamic aspects
ACM SIGPLAN Notices
Computing in Science and Engineering
Modular, Fine-Grained Adaptation of Parallel Programs
ICCS '09 Proceedings of the 9th International Conference on Computational Science: Part I
Hi-index | 0.00 |
We present a modular approach to implement adaptive decisions with existing scientific codes. Using a sophisticated system software tool based on the function call interception technique, an external code module is transparently combined with the given program without altering the original code structure, resulting in a newly composed application with extended behavior. This is useful for generalizing codes into using different parameter values or to switch algorithms or implementations at runtime. Applying the proposed method on a biochemical stochastic simulation software package to implement a set of exemplary use cases, which includes changing program parameters, substituting random number generators, and dynamically changing the stochastic simulation method, we demonstrate how effectively new code modules can be plugged in to construct an application with enhanced capabilities.