Accelerating Crosscutting Framework Reuse Using a Model-Based Approach

  • Thiago Gottardi
  • Oscar Pastor López
  • Valter Vieira de Camargo
Conference paper
Part of the Lecture Notes in Business Information Processing book series (LNBIP, volume 141)

Abstract

Infrastructure frameworks are used to accelerate the development of information systems. These frameworks encompass software concerns commonly used in the information system domain, e.g. “persistence”, “authentication” and “concurrency”. Although these functionalities improve productivity, the reuse process is still heavily based on writing source code, which forces the development teams to learn low level details of the frameworks being reused, causing the reuse process to be entirely performed during implementation phases. In this article, the focus is on Crosscutting Frameworks, which modularize specific types of software concerns. Since these frameworks can also be infrastructure frameworks, in this article, a new model-driven process is applied in a persistence crosscutting framework. A tool was created to support the process, which was successfully evaluated in an empirical study. This process was compared to the conventional process in an empirical study in order to evaluate the efforts needed to successfully reuse the framework. In our study, the tool usage has reduced the reuse process time by more than 97 %.

Keywords

Model-driven engineering Framework reuse Aspect-oriented programming Crosscutting framework Empirical study 

Notes

Acknowledgments

Thiago Gottardi would like to thank FAPESP (Process 2011/ 04064-8) and CNPq (Processes 132996/2010-3 and 560241/2010-0) for funding. Also, this paper was created inside a Universal Project granted by CNPq (Process Number 483106/2009-7).

References

  1. 1.
    Fayad, M., Schmidt, D.C.: Object-oriented application frameworks. Commun. ACM 40, 32–38 (1997)CrossRefGoogle Scholar
  2. 2.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)Google Scholar
  3. 3.
    Camargo, V., Masiero, P.: Frameworks orientados a aspectos. In: Anais Do 19 Simpsio Brasileiro De Engenharia De Software (SBES’2005), Uberlndia-MG, Brasil, Outubro (2005)Google Scholar
  4. 4.
    Mortensen, M., Ghosh, S.: Creating pluggable and reusable non-functional aspects in Aspect C++. In: Proceedings of the Fifth AOSD Workshop on Aspects, Components, and Patterns for Infrastructure Software (2006)Google Scholar
  5. 5.
    Shah, V., Hill, V.: An aspect-oriented security framework: lessons learned. In: Proceedings of AOSDSEC’04 (AOSD Technology for Application-Level Security). Workshop of the Aspect Oriented Software Development Conference, Lancaster, UK, 23 Mar 2004Google Scholar
  6. 6.
    Soares, S., Laureano, E., Borba, P.: Distribution and persistence as aspects. Softw. Pract. Exp. 33(7), 711–759 (2006)CrossRefGoogle Scholar
  7. 7.
    Kulesza, U., Alves, V., Garcia, A., de Lucena, C.J.P., Borba, P.: Improving extensibility of object-oriented frameworks with aspect-oriented programming. In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 231–245. Springer, Heidelberg (2006)Google Scholar
  8. 8.
    Huang, M., Wang, C., Zhang, L.: Towards a reusable and generic aspect library. In: Workshop of the Aspect Oriented Software Development Conference at AOSDSEC’04, Lancaster, UK, 23 Mar 2004Google Scholar
  9. 9.
    Zanon, I., Camargo, V.V., Penteado, R.A.D.: Reestructuring an application framework with a persistence crosscutting framework. INFOCOMP 1, 9–16 (2010)Google Scholar
  10. 10.
    Lazanha, R., Oliveira, A., Penteado, R., Ramos, R., Pastor, O., Camargo, V.: Uma arquitetura de referncia baseada em papis para frameworks transversais de persistncia: Uma anlise quantitativa. In: XXXVI Clei - Conferncia Latino-Americana de Informtica, Assuno, Paraguay (2010)Google Scholar
  11. 11.
    Bynens, M., Landuyt, D., Truyen, E., Joosen, W.: Towards reusable aspects: the mismatch problem. In: Workshop on Aspect, Components and Patterns for Infrastructure Software (ACP4IS’10), pp. 17–20 (2010)Google Scholar
  12. 12.
    Sakenou, D., Mehner, K., Herrmann, S., Sudhof, H.: Patterns for re-usable aspects in object teams. In: Net Object Days, Erfurt (2006)Google Scholar
  13. 13.
    Cunha, C., Sobral, J., Monteiro, M.: Reusable aspect-oriented implementations of concurrency patterns and mechanisms. In: Aspect-Oriented Software Development Conference (AOSD’06), Bonn, Germany (2006)Google Scholar
  14. 14.
    Soudarajan, N., Khatchadourian, R.: Specifying reusable aspects. In: Asian Workshop on Aspect-Oriented and Modular Software, Development (AOAsia’09) (2009)Google Scholar
  15. 15.
    France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: Future of Software Engineering, FOSE ’07, Washington, DC, USA, pp. 37–54. IEEE Computer Society (2007)Google Scholar
  16. 16.
    Schmidt, D.C.: Model-driven engineering. IEEE Comput. 39(2), 25–31 (2006)CrossRefGoogle Scholar
  17. 17.
    Pastor, O., Molina, J.C.: Model-Driven Architecture in Practice: A Software Production Environment Based on Conceptual Modeling. Springer, New York (2007)Google Scholar
  18. 18.
    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–353. Springer, Heidelberg (2001)Google Scholar
  19. 19.
    Camargo, V.V., Masiero, P.C.: A pattern to design crosscutting frameworks. In: Proceedings of the ACM symposium on Applied computing, SAC ’08, New York, NY, USA, pp. 759–764. ACM (2008)Google Scholar
  20. 20.
    Eclipse Consortium: Graphical Modeling Framework, version 1.5.0. http://www.eclipse.org/modeling/gmp/ (2011)
  21. 21.
    Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, Norwell (2000)CrossRefGoogle Scholar
  22. 22.
    Free Software Foundation, Inc.: http://www.r-project.org/, Dec 2011
  23. 23.
    Cechticky, V., Chevalley, P., Pasetti, A., Schaufelberger, W.: A generative approach to framework instantiation. In: Pfenning, F., Macko, M. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 267–286. Springer, Heidelberg (2003)Google Scholar
  24. 24.
    Oliveira, T.C., Alencar, P., Cowan, D.: Reusetool-an extensible tool support for object-oriented framework reuse. J. Syst. Softw. 84(12), 2234–2252 (2011)CrossRefGoogle Scholar
  25. 25.
    Oliveira, T.C., Alencar, P.S.C., de Lucena, C.J.P., Cowan, D.D.: RDL: a language for framework instantiation representation. J. Syst. Softw. 80, 1902–1929 (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Thiago Gottardi
    • 1
  • Oscar Pastor López
    • 2
  • Valter Vieira de Camargo
    • 1
  1. 1.Departamento de ComputaçãoUniversidade Federal de São CarlosSão Carlos–SPBrazil
  2. 2.Universidad Politecnica de ValenciaValenciaSpain

Personalised recommendations