Granulated code generation of interfering functionalities

The Model-Driven Software Development approach is becoming widely used as powerful model-driven tools are becoming available for the developer. Yet, it is not suitable to model, and therefore to generate the code, for all the aspects handled in the development stage. As a result, MDSD is not as widely used as it could. This paper presents a technique that extends the capabilities of Model-Driven Engineering with behavioral aspects, by modeling concerns and using them in code generation. Common concerns can be defined for design patterns, software infrastructures and other common aspects. Independent concerns can be effectively combined when applied to the same model element. Software architects are advised to apply common concerns to their system models and also to create system-specific concerns and apply them at the modeling stage. We name it enriching a model with concerns. With the help of code definition for each concern, our tool automatically generates code for the enriched model. Thus, at the end of the modeling stage the developers will have the structure of the code and all the glue code ready, so they will only have to fill the business logic in the manual implementation methods created for them. They will also maintain the enriched model and not the code they would otherwise write manually.

[1]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

[2]  Ketil Stølen,et al.  What is model driven architecture , 2003 .

[3]  Jun Yoshida,et al.  AspectM: UML-Based Extensible AOM Language , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[4]  David A. Basin,et al.  SecureUML: A UML-Based Modeling Language for Model-Driven Security , 2002, UML.

[5]  David Harel,et al.  Rhapsody: A Complete Life-Cycle Model-Based Development System , 2002, IFM.

[6]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[7]  Jonah Z. Lavi,et al.  Systems Modeling and Requirements Specification Using ECSAM: An Analysis Method for Embedded and Computer-Based Systems , 2004 .

[8]  Stefan Hanenberg,et al.  A UML-based aspect-oriented design notation for AspectJ , 2002, AOSD '02.

[9]  Jonah Z. Lavi,et al.  Systems modeling & requirements specification using ECSAM: an analysis method for embedded & computer-based systems , 2005, Innovations in Systems and Software Engineering.

[10]  Joerg Evermann,et al.  A platform-independent UML profile for aspect-oriented development , 2011, C3S2E '11.

[11]  Jörg Kienzle,et al.  AspectOptima: A Case Study on Aspect Dependencies and Interactions , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[12]  Oscar Díaz,et al.  Generative metaprogramming , 2007, GPCE '07.

[13]  Beatrice Gralton,et al.  Washington DC - USA , 2008 .

[14]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[15]  Valeria de Castro,et al.  WSDL automatic generation from UML models in a MDA framework , 2005, International Conference on Next Generation Web Services Practices (NWeSP'05).

[16]  The Benefits of Model Driven Development MDD in Modern Web-based Systems , .

[17]  Bernhard Westfechtel,et al.  Beyond stereotyping: metamodeling approaches for the UML , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[18]  Ernest J. H. Chang,et al.  An improved algorithm for decentralized extrema-finding in circular configurations of processes , 1979, CACM.

[19]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .

[20]  Gerti Kappel,et al.  A survey on UML-based aspect-oriented design modeling , 2011, CSUR.

[21]  Gul A. Agha,et al.  Concurrent object-oriented programming , 1993, CACM.

[22]  Jacques Klein,et al.  Reusable Aspect Models , 2007 .

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

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

[25]  Aamer Nadeem,et al.  UML extensions for modeling of aspect oriented software: a survey , 2010, NSEC '10.

[26]  John Grundy,et al.  An aspect-oriented UML tool for software development with early aspects , 2006, EA '06.

[27]  Axel Uhl,et al.  Model-Driven Architecture , 2002, OOIS Workshops.