Study of advanced separation of concerns approaches using the GoF design patterns: A quantitative and qualitative comparison |
| |
Affiliation: | 1. Federal University of Pernambuco (UFPE) - Recife, Pernambuco, Brazil;2. Federal Institute of Pernambuco (IFPE) - Paulista, Pernambuco, Brazil;3. Senai Innovation Institute for ICT (ISI-TICs) - Recife, Pernambuco, Brazil;4. Federal Institute of Sertão Pernambucano (IF Sertão-PE) - Petrolina, Pernambuco, Brazil |
| |
Abstract: | ContextSince the emergence of the aspect oriented paradigm, several studies have been conducted to test the contribution of this new paradigm compared to the object paradigm. However, in addition to this type of studies, we need also comparative studies that assess the aspect approaches mutually. The motivations of the latter include the enhancement of each aspect approach, devising hybrid approaches or merely helping developers choosing the suitable approach according to their needs. Comparing advanced separation of concerns approaches is the context of our work.ObjectiveWe aim at making an assessment of how the aspect approaches deal with crosscutting concerns. This assessment is based on quantitative attributes such as coupling and cohesion that evaluate the modularity as well as on qualitative observations.MethodWe selected three of well-known aspect approaches: AspectJ, JBoss AOP and CaesarJ, all the three based on Java. We conducted then, a comparative study using the GoF design patterns. In order to be fair we asked a group of Master students to achieve the implementation of all patterns with the three approaches. The use of these implementations as hypothetical benchmarks allowed us to achieve two kinds of comparison: a quantitative one based on structural and performance metrics, and qualitative one based on observations collected during the implementation phase.ResultsThe quantitative comparison shows some advantages like the using of fewer components with AspectJ and the strong cohesion with CaesarJ and weaknesses, as the high internal coupling caused by the inner classes of CaesarJ. The qualitative comparison gives comments about the approach understandability and others qualitative concepts.ConclusionThis comparison highlighted strengths and weaknesses of each approach, and provided a referential work that can help choosing the right approach during software development, enhancing aspect approaches or devising hybrid approaches that combine best features. |
| |
Keywords: | Advanced separation of concerns Aspect oriented programming Empirical assessment AspectJ JBoss AOP CaesarJ |
本文献已被 ScienceDirect 等数据库收录! |
|