Adding High Availability Features to Server Applications Using Aspect Oriented Programming
Róbert Fajta1, Péter Domokos2, István Majzik2
1 Nokia Research Center, Budapest, Hungary
rfajta@gmail.com
2 Department of Measurement and Information Systems
Budapest University of Technology and Economics, Budapest, Hungary
{pdomokos, majzik}@mit.bme.hu
The transformation of existing software to a fault tolerant one typically requires redesign and heavy modifications in the original source code. Aspect-oriented programming (AOP) is an emerging programming paradigm that promotes collecting features that are not related to the business logic, into crosscutting concerns, thus separates them from the original problem domain of the software. We analyzed how to use AOP to add fault tolerance to existing software by organizing the software into recovery blocks or N-version programming fault tolerance scheme. We gathered practical experiences by modification of a complex application software.