It has been period of years since AOP was born, but it is not as popular as Struts, Hibernate and Spring which occur in recent years in software industry. There are 2 reasons for this phenomenon. The first is that it is hard to access AOP. Without specialized training, the developers are impossible to master AOP. The second is that current AOP technologies are focused on the development phrase of software. The introduction of a new technology by developers in this phrase will result in high risk and there will be inconsistencies among code, document and former design. In a word, the programmers have no consciousness to introduce the technology and they just develop the software according to the document, analysis model or design model.The purpose of this paper is to integrate AOP modeling elements into analysis and design of software, namely put them into corresponding models and introduce AOP easily in development. So the risk of error result from solely introduce AOP in coding is much lower and the developers can use AOP without specialized training.Currently, there are 2 popular AOP modeling methods within and out of borders. The first way is extension on widely used UML and the second one is graph transformation. Although the former is straightforward, it requires master of AOP-related technology; the latter needs little command of AOP concepts, but it will result in graph tangling and is difficult to validate the model.Besides, the 2 popular AOP modeling methods have a common disadvantage which is that it is hard to generate AOP code, not to speak of inducing different kinds of AOP implementation code. This is result from the improper extract of basic AO design information.Firstly, this paper compares 3 different AOP implementation technologies which are AspectJ, JAsCo and AspectWerkz and extract their common information. The reason of choosing these methods is that they can represent most style of AOP implementation. AspectJ represents mature AOP implementation, JAsCo represents component-based AOP implementation and AspectWerkz represents POJO AOPimplementation.Then, the connector advanced by this paper can be added into traditional object-orinted software models as a new modeling element. It links the core concerns and cross-cutting concerns of software models. Common information of different AOP implementation technologies are put into connectors, thus the generation of AOP implementation code framework can be achieved around connectors. Then, we get a new AOP modeling method that combines the advantage of above mentioned method while avoiding their disadvantages. According to the distinguishments of AOP implementations, modeling method can treat them as spectial situation. This method integrate the advantages of 2 prevalent AOP modeling methods while avoiding their drawbacks and it provides better support for AOP implementation code generation. By blurring the concept of AOP, it is easy to access it and by generating AOP implementation code from design model and analysis model to direct the development, it lowers the risk of introducing AOP. |