Model-Driven Development Versus Aspect-Oriented Programming - A Case Study

Uwe Hohenstein, Christoph Elsner · 2014

This case study compares two different technologies - model-driven development (MDD) and aspect-oriented programming (AOP) - both trying to avoid redundant code, but with very different approaches. A real industrial software system, the OpenSOA platform, which had already applied a model-driven XML/XSL-T approach, is used as the basis for implementation and comparison. For evaluation purpose, we have re-implemented the XSL-T implemented logic with a corresponding AOP implementation in AspectJ. Taking into account several criteria, our case study indicates that the AOP implementation reveals its strengths in avoiding redundancy, better testability, and understandability. However, more advanced tooling could significantly improve the position of MDD for the latter. MDD is in turn the more flexible approach, allowing generation of arbitrary artefacts the design demands. As the main issue of the case study, to generate wrapper classes and boilerplate-code, is rather common, we believe that our results have potential to be transferred to other problem settings. Furthermore, we think that our evaluation criteria will help guiding others in making technology choices. We also give an outlook on how combinations of MDD and AOP may leverage the best of both worlds.

Read the paper · More papers on PaperTik