Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

A Case Study on Model-Driven Development and Aspect-Oriented Programming: Benefits and Liabilities

  • Conference paper
  • First Online:
Software Technologies (ICSOFT 2014)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 555))

Included in the following conference series:

  • 484 Accesses

Abstract

Model-driven development (MDD) and aspect-oriented programming (AOP) are two very different paradigms, having in common that they both aim at increasing development efficiency. In order to investigate their benefits and liabilities, we compared both in context of a case study on an industrial-grade software system, the Open SOA platform. Already having a model-driven XML/XSL-T implementation in place, we re-implemented the corresponding logic of the Open SOA platform with a corresponding AOP implementation in AspectJ. Considering several comparison criteria, the results of our case study indicate that the AspectJ implementation is less redundant, better testable, and improves on understandability and readability. The model-driven approach, in turn, is the more flexible one, as it allows for generating arbitrary artifacts and structures, without the need for compromising on design. Additionally, we expect that MDD can furthermore catch up on readability and understandability, when more advanced MDD tooling can be leveraged. As our case study mainly centers around implementing wrappers and boilerplate-code, which are rather common issues, our results may be transferred to similar problem settings. Furthermore, our evaluation criteria can guide others in making technology choices. To this end, we give an outlook on how combinations of MDD and AOP may leverage the best of both worlds.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Muthig, D., Anastasopoulos, M.: An evaluation of aspect-oriented programming as a product line implementation technology. In: Krueger, C., Krueger, C., Dannenberg, R.B. (eds.) ICOIN 2004 and ICSR 2004. LNCS, vol. 3107, pp. 141–156. Springer, Heidelberg (2004)

    Google Scholar 

  2. AspectJ. Eclipse AspectJ Homepage. http://eclipse.org/aspectj/. Accessed 18 Mar 2014

  3. Beuche, D.: Variant management with pure::variants. Technical report, pure-systems GmbH, 2006. http://www.pure-systems.com/fileadmin/down-loads/pv-whitepaper-en-04.pdf (2006). Accessed 25 May 2014

  4. Groher, I., Krüger, C., Schwanninger, C.: A Tool-based approach to managing croscutting feature implementations. In: 7th International Conference on AOSD, Brussels (2008)

    Google Scholar 

  5. Hohenstein, U.: Using aspect-orientation to add persistency to applications. In: Proceedings of Datenbanksysteme in Business, Technologie und Web (BTW), Karlsruhe (2005)

    Google Scholar 

  6. Heidenreich, F., Johannes, J., Seifert, M., Wende, C.: Closing the gap between modelling and Java. In: Gašević, D., van den Brand, M., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 374–383. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  7. Henthorne, C., Tilevich, E.: Code generation on steroids: enhancing code generators via generative aspects. In: 2nd International Workshop on Incorporating COTS Software into Software Systems: Tools and Techniques (IWICSS 2007) (2007)

    Google Scholar 

  8. Hohenstein, U., Elsner, C.: A case study for comparing of model-driven development and aspect-oriented programming. In: 9th International Conference on Software Technologies ICSOFT-PT Vienna (2014)

    Google Scholar 

  9. Kästner, C., Apel, S., Batory, D.: A case study implementing features using AspectJ. In: Proceedings of International Software Product Line Conference (SPLC), Kyoto (2007)

    Google Scholar 

  10. Kaboré, C., Beugnard, A.: Interests and drawbacks of AOSD compared to MDE – a position paper. In: 3rd Workshop on Aspects and Models, at 21st ECOOP 2007 (2007)

    Google Scholar 

  11. Kapteijns, T., Jansen, S., Houet, H., Barendse, R.: A comparative case study of model driven development vs traditional development: the tortoise or the hare. In: CTIT Proceedings of 5th European Conference on Model Driven Architecture (2009)

    Google Scholar 

  12. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Lindskov Knudsen, J. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–357. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  13. Lee, K.: Combining feature-oriented analysis and aspect-oriented programming for product line asset development. In: Proceedings of International Software Product Line Conference (2006)

    Google Scholar 

  14. Liu, J., Lutz, R., Rajan, H.: The role of aspects in modeling product line variabilities. In: Proceedings of 1st Workshop on Aspect-Oriented Product Line Engineering, GPCE, Portland (Oregon) (2006)

    Google Scholar 

  15. Lussenburg, V., van der Storm, T., Vinju, J., Warmer, J.: Mod4J: a qualitative case study of model-driven software development. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part II. LNCS, vol. 6395, pp. 346–360. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  16. Mezini, M., Ostermann, K.: Variability management with feature-oriented programming and aspects. In: Proceedings of 12th International Symposium on Foundations of Software Engineering (FSE), Newport Beach (CA) (2004)

    Google Scholar 

  17. MPS. JetBrains: Meta Programming System. http://www.jetbrains.com/mps/. Accessed 25 May 2014

  18. Normén, F.: Remove code smell with AOP (2007). http://weblogs.asp.net/fredriknormen/archive/2007/11/29/remove-code-smell-with-aop.aspx Accessed 25 May 2014

  19. Pinto, M., Fuentes, L., Fernández, L., Valenzuela, J.: Using AOSD and MDD to enhance the architectural design phase. In: Proceedings of OTM 2009 (2009)

    Google Scholar 

  20. Reichel, C., Oberhauser, R.: XML-based programming language modeling: an approach to software engineering. In: SEA 2004 (2004)

    Google Scholar 

  21. Smaragdakis, Y., Huang, S., Zook, D.: Program generators and the tools to make them. In: SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation. ACM Press (2004)

    Google Scholar 

  22. Strunk, W.: The symphonia product-line. In: Java and Object-Oriented (JAOO) Conference, Arhus, Denmark (2007)

    Google Scholar 

  23. Stein, D., Hanenberg, S.: Why aspect-oriented software development and model-driven development are not the same – a position paper. Electr. Notes Theor. Comput. Sci. 163(1), 2006 (2006)

    Article  Google Scholar 

  24. Stahl, T., Völter, M.: Model-Driven Software Development. Wiley, Hoboken (2006)

    Google Scholar 

  25. Tarr, P., Osher, H., Harrison, W., Sutton, S.: N degrees of separation: multi-dimensional separation of concerns. In: 21st International ICSE 1999 (1999)

    Google Scholar 

  26. Völter, M., Groher, I.: Product line implementation using aspect-oriented and model-driven software development. In: 11th International Software Product Line Conference (SPLC), Kyoto, Japan (2007)

    Google Scholar 

  27. Xtend2. Eclipse Xtend 2 Homepage. http://www.eclipse.org/Xtext/#xtend2. Accessed 18 Mar 2014

  28. Xtext. Eclipse Xtext Homepage. http://www.eclipse.org/Xtext/. Accessed 25 May 2014

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Uwe Hohenstein .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Hohenstein, U., Elsner, C. (2015). A Case Study on Model-Driven Development and Aspect-Oriented Programming: Benefits and Liabilities. In: Holzinger, A., Cardoso, J., Cordeiro, J., Libourel, T., Maciaszek, L., van Sinderen, M. (eds) Software Technologies. ICSOFT 2014. Communications in Computer and Information Science, vol 555. Springer, Cham. https://doi.org/10.1007/978-3-319-25579-8_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-25579-8_16

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-25578-1

  • Online ISBN: 978-3-319-25579-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics