Designing an Aspect-Oriented Framework in an Object-Oriented Environment Constantinos A. Constantinides1, Atef Bader1, Tzilla H. Elrad1, Mohamed E. Fayad2, P. Netinant1 Concurrent Programming Research Group Department of Computer Science Illinois Institute of Technology {conscon, elrad, netipan} @charlie.cns.iit.edu bader@delta.csam.iit.edu University of Nebraska, Lincoln fayad@cse.unl.edu Abstract Separation of concerns is at the heart of software development, and although its benefits have been well established, the core problem remains how to achieve it. For complex software systems the solution is still debatable and it is a major research area. Object Oriented Programming (OOP) works well only if the problem at hand can be described with relatively simple interface among objects. Unfortunately, this is not the case when we move from sequential programming to concurrent and distributed programming. The September 1993 CACM issue was devoted to the problematic marriage between OOP and Concurrency [Cohen 93]. Since then, numerous workshops, articles and books have attempt to tackle the problem. The core complexity is that concurrent and distributed systems manifest over more than one dimension. Features such as scheduling, synchronization, fault tolerance, security, testing and verifications are all expressed in such a way that they tend to cut across different objects. Hence, simple object
/lp/association-for-computing-machinery/designing-an-aspect-oriented-framework-in-an-object-oriented-hCjVHSBJQ7