Automated Domain-Specific Modeling Languages for Generating Framework-Based Applications

The adoption of Domain-Specific Modeling Languages (DSMLs) for generating framework-based applications has proved to be an effective way of enforcing the correct use of frameworks and improve the productivity of application developers. However, the development of the code generator of a DSML is typically a laborious task with difficulties in what concerns complexity, understandability, and maintainability. In this paper, we address this problem with a new approach for developing DSMLs for frameworks that allows to eliminate the need of implementing code generators. The approach relies on the extension of frameworks with an additional layer based on aspect-oriented programming that encodes a DSML. By means of a generic language workbench, framework-based applications can be generated from application models described in that DSML. The proposed language workbench was implemented in a prototype tool and a case study on the Eclipse Rich Client Platform was performed.

[1]  Kai Koskimies,et al.  Framework specialization aspects , 2007, AOSD.

[2]  Don Roberts,et al.  Evolving Frameworks A Pattern Language for Developing Object-Oriented Frameworks , 2004 .

[3]  Kai Koskimies,et al.  Modular Hot Spots: A Pattern Language for Developing High-Level Framework Reuse Interfaces using Aspects , 2008, EuroPLoP.

[4]  André L. Santos Automatic support for model-driven specialization of object-oriented frameworks , 2007, OOPSLA '07.

[5]  Jan Bosch,et al.  On the notion of variability in software product lines , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[6]  Don Batory,et al.  Scaling step-wise refinement , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[7]  Krzysztof Czarnecki,et al.  Overview of Generative Software Development , 2004, UPP.

[8]  Mira Mezini,et al.  Variability management with feature-oriented programming and aspects , 2004, SIGSOFT '04/FSE-12.

[9]  Jeff McAffer,et al.  Eclipse Rich Client Platform: Designing, Coding, and Packaging Java¿ Applications , 2005 .

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

[11]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

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

[13]  Thomas Leich,et al.  Aspectual mixin layers: aspects and features in concert , 2006, ICSE '06.

[14]  Paulo S. C. Alencar,et al.  Customizing Aspect-Oriented Variabilities using Generative Techniques , 2006, SEKE.