Accelerating Crosscutting Framework Reuse Using a Model-Based Approach

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 %.

[1]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[2]  Douglas C. Schmidt,et al.  Object-oriented application frameworks , 1997, CACM.

[3]  Paulo S. C. Alencar,et al.  RDL: A language for framework instantiation representation , 2007, J. Syst. Softw..

[4]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[5]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[6]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[7]  Paulo César Masiero,et al.  A pattern to design crosscutting frameworks , 2008, SAC '08.

[8]  Henry Sudhof,et al.  Patterns for Re-usable Aspects in Object Teams , 2006, NODe/GSEM.

[9]  Philippe Chevalley,et al.  A Genertative Approach to Framework Instantiation , 2003, GPCE.

[10]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[11]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[12]  Oscar Pastor,et al.  Model-driven architecture in practice - a software production environment based on conceptual modeling , 2007 .

[13]  N. Soundarajan,et al.  Specifying Reusable Aspects , 2009 .

[14]  Paulo Borba,et al.  Distribution and persistence as aspects , 2006 .

[15]  João Luís Sobral,et al.  Reusable aspect-oriented implementations of concurrency patterns and mechanisms , 2006, AOSD.

[16]  Paulo Alencar,et al.  ReuseTool - An extensible tool support for object-oriented framework reuse , 2011, J. Syst. Softw..

[17]  Carlos José Pereira de Lucena,et al.  Improving Extensibility of Object-Oriented Frameworks with Aspect-Oriented Programming , 2006, ICSR.