Download presentation
Presentation is loading. Please wait.
Published byGillian Profit Modified over 9 years ago
1
© 2007 ATLAS Nantes 1 Atlas Model Weaver Use Case: Aspect Oriented Modeling Marcos Didonet Del Fabro Atlas Group (INRIA & LINA), Université de Nantes, France marcos.didonet-del-fabro @ univ-nantes.fr
2
© 2007 ATLAS Nantes 2 Outline Traditional AOP Aspect oriented modeling –Atlas Model Weaver Communication use case Conclusions
3
© 2007 ATLAS Nantes 3 Traditional aspect oriented programming (AOP) A program contains the business logic to solve a problem Usually there are many cross cutting concerns that are not part of main problem –Security, logging, tracing, persistency, etc. –These concerns are created separately, and woven in the code The program with the business logic is the central unit in which the concerns are woven
4
© 2007 ATLAS Nantes 4 AOP main components Program –The central unit with the business logic Joint point model –Points in the program where the concerns can be woven (e.g., when calling a method) Point cut –Intercepts the joint points of one given program Advice –The code that is going to be woven in a given point cut Aspects (advices + point cuts)
5
© 2007 ATLAS Nantes 5 Aspect oriented modeling The program and the advices are models –One model with the domain specific concepts –One model with the cross cutting concern No preferential model –The weaving can be done in any model (e.g., weavings in the cross cutting concern) Overview of the approach –The weaving model specifies the links between the two models –The weaving model is interpreted by a model transformation, which produces a single model
6
© 2007 ATLAS Nantes 6 Atlas Model Weaver The weaving metamodel defines different kinds of possible links between the models Weaving model –Defines declarative weaving operations –Domain specific links, i.e., aspect oriented links Create attribute, method, interface Delete Merge –Non invasive, i.e., the models remain unchanged
7
© 2007 ATLAS Nantes 7 “Communication” use case Input: 2 metamodels to be woven –Metamodel 1 Communication (conforms to Ecore) –Describes a simple generic component of a communication protocol –Metamodel 2 Communication advice –Defines attributes and methods of specific communication types »Email, SMS, telephone, fax Goal –To weave the communication types into the generic communication metamodel
8
© 2007 ATLAS Nantes 8 Developing the use case Creation of the join point model and weaving operations as extensions to the AMW core metamodel –Where to weave Extensions to WElementRef –How to weave Extensions to WLink How many models to weave? –This is defined in the extension to WModel –In this illustration, it defines only one core model, because the advice can be defined directly the weaving model
9
© 2007 ATLAS Nantes 9 Adding the advice metamodel Add a second reference –A second panel is added without extra coding
10
© 2007 ATLAS Nantes 10 Creating the joint point model as weaving extensions The Diagram link is the containment class –Each reference points to a different link end point (Class, Method, Attribute) –Each different endpoint defines the semantics of the aspect weaving These references enable to create methods, classes and attributes
11
© 2007 ATLAS Nantes 11 Executing the weaving The weaving is “executed” in a model transformation engine –We add transformational semantics in the weaving model –The transformation rules match every type of link
12
© 2007 ATLAS Nantes 12 Interpreting the weaving model The ATL “Weave.atl” transformation takes the weaving model, the generic communication and the communication type metamodels as input and produces a new woven model It recreates all attributes, and adds the new ones defined in the advice
13
© 2007 ATLAS Nantes 13 Conclusions Aspect oriented modeling –No preferential model This enables developing advices and core models in the same way. No mixture with point cut definitions The point cuts are defined in the weaving model The developer uses only domain specific vocabulary AMW user interface –Adapts to different metamodel extensions –Additional components can be easily added Metamodel extensions –Extend what we have with the complete joint point model (generic create links) Model transformations –Adapt to support the new extensions
14
© 2007 ATLAS Nantes 14 End Links –Atlas Group http://www.sciences.univ-nantes.fr/lina/ATLAS/ –AMMA (Atlas Model Management Architecture) http://www.sciences.univ-nantes.fr/lina/atl –AMW (Atlas Model Weaver) http://www.eclipse.org/gmt/amw –ATL (Atlas Transformation Language) http://www.eclipse.org/gmt/atl
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.