Analysis on AOSD and Compiler Technology
|Keywords||aspect orientation object orientation compiler virtual machine reflection|
The document talks about how Aspect-Oriented Software Development (AOSD) or Aspect-Oriented Programming (AOP) and related tools work. At first I will introduce basic concept of Aspect-Oriented Software Development, and then analyze operating procedure of aspect-oriented software development tools based on compiler technology and theory. Aspect-Oriented Software Development brings a lot of benefits and conveniences to developers; however, it brings other tough questions to software testers too. Hence, in this article also raises potential problems, drawbacks, and issues developers usually encounter when they are developing and testing aspect-oriented programs, and analyzes and defines them with formal method to find out root cause of these problems. Furthermore, we introduce reflection mechanism and virtual machine to build up aspect-aware run-time environment to overcome the related problems.Meanwhile, in this document, we discussed the best practices on AOP including when and where to adopt AOP.Finally, concerning point of view of software engineering, we consider how to create an AOP development team, ranging from software developer, tester, to project leader, which is not only impacting development tools, but also quite different from traditional software development process. Also, we provide several suggestions and comments in this field for future efforts.