Using Aspect-Oriented Programming for Checkpointing a Parallel Application