Model-Based Reuse for Crosscutting Frameworks: Assessing Reuse and Maintainability Effort

Over the last years a number of Crosscutting Frameworks (CFs) have been developed employing white-box strategies. This strategy requires significant technical knowledge to reuse these frameworks, such as, knowledge in specific programming languages, architectural details and also about the framework nomenclature. Besides, the reuse process can only be initiated when the development reaches the implementation phase, avoiding starting the reuse process in early development phases. In this paper we present a model-based approach for reusing CFs that improves the productivity by allowing the application engineer to concentrate on what is really important during the reuse process. We present the foundations of our approach and also the result of two experiments that uses two versions of a Persistence CF, the original and the model-based. The results were promising regarding the effort employed to conduct the reuse process, but almost no difference was noticed concerning the effort in conducting maintenance activities.

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

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

[3]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

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

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

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

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

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

[9]  Andy Evans,et al.  Transformation Language Design: A Metamodelling Foundation , 2004, ICGT.

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

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

[12]  Paulo César Masiero,et al.  Building a Wizard for Framework Instantiation Based on a Pattern Language , 2003, OOIS.

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

[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]  Henry Sudhof,et al.  Patterns for Re-usable Aspects in Object Teams , 2006, NODe/GSEM.

[17]  Yves Pigneur,et al.  Object-Oriented Information Systems , 2003, Lecture Notes in Computer Science.

[18]  Michal Antkiewicz,et al.  Framework-Specific modeling languages with round-trip engineering , 2006, MoDELS'06.

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

[20]  Kai Koskimies,et al.  Automated Domain-Specific Modeling Languages for Generating Framework-Based Applications , 2008, 2008 12th International Software Product Line Conference.

[21]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

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

[23]  Paulo Cesar Masiero,et al.  An approach to design crosscutting framework families , 2008, ACP4IS@AOSD.

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