Flexible model element introduction policies for aspect-oriented modeling

Aspect-Oriented Modeling techniques make it possible to use model transformation to achieve advanced separation of concerns within models. Applying aspects that introduce model elements into a base model in the context of large, potentially composite models is nevertheless tricky: when a pointcut model matches several join points within the base model, it is not clear whether the introduced element should be instantiated once for each match, once within each composite, once for the whole model, or based on a more elaborate criteria. This paper argues that in order to enable a modeler to write semantically correct aspects for large, composite models, an aspect weaver must support a flexible instantiation policy for model element introduction. Example models highlighting the need for such a mechanism are shown, and details of how such policies can be implemented are presented.

[1]  Roy Grønmo,et al.  A Collection Operator for Graph Transformation , 2009, ICMT@TOOLS.

[2]  Thomas Cottenier The Motorola WEAVR : Model Weaving in a Large Industrial Context , 2006 .

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

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

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

[6]  Charles L. Forgy,et al.  Rete: a fast algorithm for the many pattern/many object pattern match problem , 1991 .

[7]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[8]  Jacques Klein,et al.  Aspect-oriented multi-view modeling , 2009, AOSD '09.

[9]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

[10]  Brice Morin,et al.  Towards a Generic Aspect-Oriented Modeling Framework , 2007 .

[11]  Jon Whittle,et al.  Model composition in product lines and feature interaction detection using critical pair analysis , 2007, MODELS'07.

[12]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[13]  Brice Morin,et al.  Models@ Run.time to Support Dynamic Adaptation , 2009, Computer.

[14]  Brice Morin,et al.  Taming Dynamically Adaptive Systems using models and aspects , 2009, 2009 IEEE 31st International Conference on Software Engineering.

[15]  Tzilla Elrad,et al.  Motorola WEAVR: Aspect and model-Driven Engineering , 2007, J. Object Technol..

[16]  Yannis Smaragdakis,et al.  Implementing Layered Designs with Mixin Layers , 1998, ECOOP.

[17]  Elisa Baniassad,et al.  Aspect-Oriented Analysis and Design , 2005 .

[18]  Iris Groher,et al.  XWeave: models and aspects in concert , 2007, AOM@AOSD.

[19]  Martin Odersky,et al.  A Statically Safe Alternative to Virtual Types , 1998, ECOOP.

[20]  Jacques Klein,et al.  A generic weaver for supporting product lines , 2008, EA '08.

[21]  João Araújo,et al.  MATA: A Unified Approach for Composing UML Aspect Models Based on Graph Transformation , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[22]  Jørgen Lindskov Knudsen ECOOP 2001 — Object-Oriented Programming , 2001, Lecture Notes in Computer Science.

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

[24]  Siobhán Clarke,et al.  Aspect-oriented analysis and design - the theme approach , 2005, Addison Wesley object technology series.

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

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

[27]  Christian Prehofer,et al.  Feature-Oriented Programming: A Fresh Look at Objects , 1997, ECOOP.

[28]  Robert B. France,et al.  A Generic Approach for Automatic Model Composition , 2008, MoDELS.

[29]  Satoshi Matsuoka,et al.  ECOOP'97 — Object-Oriented Programming , 1997, Lecture Notes in Computer Science.