Aspect Based Reusable Synchronization Schemes
Concurrency and synchronization are becoming big issues as every new PC comes with multi-core processors. A major reason for object-oriented programming originally was to enable easier reuse: encode the algorithm into a class and thoroughly debug it, then one can reuse the class again and again. However, when the authors get to concurrency and synchronization, this is often not possible. Thread-safety issues means that synchronization constructs need to be entangled into every class involved. They contributed a detailed literature review of issues and challenges in concurrent programming and present a methodology that uses the aspect-oriented paradigm to address this problem. Aspects will allow one to extract the synchronization concerns as schemes to be "Weaved in" later into the main code.