원문정보
초록
영어
Several languages are currently proposed to apply the basics of the aspect oriented programming and choosing one language or another is not obvious since they are sophisticated languages that deal with new sophisticated concepts of software engineering. A comparison between these languages is therefore worthwhile, not only to help developers choosing the right language for their needs but also to improve these languages themselves. However, such a comparison requires important investigations to put into evidence strengths and weaknesses of each language and ultimately operate a synergy between these languages. In this study we have selected three of well known advanced separation of concerns (ASOC) languages: AspectJ, JBoss AOP and CaesarJ, and we have conducted a comparative study using the GoF design patterns as hypothetical benchmarks. Our starting point was our confidence in the fact that design patterns are seamlessly powerful elicitation artifacts to test separation of concerns languages. Indeed design patterns cover most of the problems associated with the design and implementation of large and complex software systems. This article reports on our quantitative and qualitative comparisons using eight GoF design patterns in each of the AspectJ, JBoss AOP and CaesarJ languages. The result of this work allowed us to highlight strengths and weakness of each language and showed that the use of design patterns as benchmarks is an effective way for comparing ASOC languages.
목차
1. Introduction
2. Overview of our Comparison
3. The AOP Approaches Selected for Comparison
4. The Design Patterns used for ComparisonA design pattern refers to a general solution to a design
5. The Metrics Selected for the Comparison
5.1. Object Paradigm Extended Metrics
5.2. Metrics Specific to the Aspect Oriented Programming Paradigm
5.3. Performance Metric
6. Assessment of AspectJ, JBoss AOP and CaesarJ
6.1. Quantitative Comparison
6.2. Discussion about Quantitative Comparison
6.3. Qualitative Comparison
6.4. Discussion about Qualitative Comparison
7. Related Work
8. Conclusion
References