A Model-based Approach for Reusing Crosscutting Frameworks

The development of large enterprise information systems usually encompass the adoption of many infrastructure frameworks, e.g. persistence, authentication, concurrency and distribution. Although reusing these functionalities improve the team productivity, the reuse process is still heavily based on writing source code. However, reusing these frameworks in code-level prevents the reuse process to be initiated since earlier development phases. Crosscutting Framework are aspect-oriented frameworks which modularize a single crosscutting concern, e.g. persistence, security and distribution. This allows their reuse in different contexts. As many conventional frameworks, their reuse process is also heavily based on code editing. In this project, the aim is to raise the abstraction level of the reuse process by means of a model-driven approach. A tool was created to support the process, which was successfully evaluated in an empirical study. In our study, the tool usage has reduced the reuse process time by more than 97 percent.

[1]  Sérgio Soares,et al.  Distribution and persistence as aspects , 2006, Softw. Pract. Exp..

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

[3]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[4]  Krzysztof Czarnecki,et al.  Proceedings of the 2nd international conference on Generative programming and component engineering , 2003 .

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

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

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

[8]  Mohamed E. Fayad Object-oriented Application Object-oriented Application Frameworks , 1997 .

[9]  Frank Hill,et al.  An aspect-oriented security framework , 2003, Proceedings DARPA Information Survivability Conference and Exposition.

[10]  Douglas C. Schmidt,et al.  Model-Driven Engineering , 2006 .

[11]  Michael Mortensen Hewlett-Packard,et al.  Creating Pluggable and Reusable Non-functional Aspects in AspectC + + , 2006 .

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

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

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

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

[16]  Wouter Joosen,et al.  Towards reusable aspects: the callback mismatch problem , 2010 .

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

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