We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byGillian Profit
Modified about 1 year ago
© 2007 ATLAS Nantes 1 Atlas Model Weaver Use Case: Aspect Oriented Modeling Marcos Didonet Del Fabro Atlas Group (INRIA & LINA), Université de Nantes, France univ-nantes.fr
© 2007 ATLAS Nantes 2 Outline Traditional AOP Aspect oriented modeling –Atlas Model Weaver Communication use case Conclusions
© 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
© 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)
© 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
© 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
© 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 » , SMS, telephone, fax Goal –To weave the communication types into the generic communication metamodel
© 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
© 2007 ATLAS Nantes 9 Adding the advice metamodel Add a second reference –A second panel is added without extra coding
© 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
© 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
© 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
© 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
© 2007 ATLAS Nantes 14 End Links –Atlas Group –AMMA (Atlas Model Management Architecture) –AMW (Atlas Model Weaver) –ATL (Atlas Transformation Language)
Ch:8 Design Concepts S.W Design should have following quality attribute: –Functionality –Usability –Reliability –Performance –Supportability (extensibility,
Chapter 7 Requirement Modeling : Flow, Behaviour, Patterns And WebApps Unit - II.
CIS 581 Design and Verification of Information Systems (DVIS) lectures 3-4 b Two problems with current WFMS b Five perspectives on WFMS b Reference nets.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Re-use IS301 – Software.
Chapter 6 – Architectural Design 1Chapter 6 Architectural design Software Engineering Ian Sommerville, Software Engineering, 9 th Edition Pearson.
Service Framework Reference Models Bill Olivier Director, CETIS.
Author: Graeme C. Simsion and Graham C. Witt Chapter 4 Subtypes & Supertypes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Chapter 10 Architectural Design.
Security Design Patterns – Overview –Software Development Lifecycle –Enterprise Software Design Process and Artifacts –Pattern Format –Aspect Oriented.
Architectural Design IS301 – Software Engineering Lecture # 14 – M. E. Kabay, PhD, CISSP Dept of Computer Information Systems Norwich University.
Chapter 6 Architectural Design Slide 1 Chapter 6 Architectural Design.
Documenting Software Architectures These notes are my personal view of the concepts presented on Duran-Limons paper: Documenting Software Architectures:
Ch-11 Project Execution and Termination. System Testing This involves two different phases with two different outputs First phase is system test planning.
Lecture 6: Software Design (Part I) Dr Valentina Plekhanova University of Sunderland, UK
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS.
©Silberschatz, Korth and Sudarshan8.1Database System Concepts Chapter 8: Object-Oriented Databases Need for Complex Data Types The Object-Oriented Data.
Unit-V -SOFTWARE QUALITY. To develop and deliver robust system, we need a high level of confidence that Each component will behave correctly Collective.
Understand and appreciate Object Oriented Programming (OOP) Objects are self-contained modules or subroutines that contain data as well as the functions.
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
05/10/20101 MODEL DRIVEN INTEROPERABILITY First Workshop on.
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
Executional Architecture Lecture Conceptual vs execution Conceptual Architecture Execution Architecture Component Connector Domain-level responsibilities.
Comparison of Several Meta-modeling Tools Yi Lu Computer Science Department McGill University
Presentation by Prabhjot Singh V-Model. Wikipedia ISTQB Exam Certification.com Resources.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Reuse and Component-Based Software Engineering CIS 376 Bruce R. Maxim UM-Dearborn.
Traceability Requirements Management2 Traceability Systems Engineering STD.
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Agent Based Software Development Michael Luck, Ronald Ashri and Mark dInverno Chapter 4: Methodologies and Modeling Languages.
© 2016 SlidePlayer.com Inc. All rights reserved.