Eclipse Summit 2009 - Aspect Oriented Modeling
Upcoming SlideShare
Loading in...5
×
 

Eclipse Summit 2009 - Aspect Oriented Modeling

on

  • 2,059 views

In this 20 minutes talk presented at the Eclipse Summit Europe 2009, Florian Lautenbacher of the University of Augsburg and Marc Dutoo of Open Wide discuss current shortcomings of technologies like ...

In this 20 minutes talk presented at the Eclipse Summit Europe 2009, Florian Lautenbacher of the University of Augsburg and Marc Dutoo of Open Wide discuss current shortcomings of technologies like EMF and standards like UML, and show how these can be dealt with using research approaches in the area of aspect-oriented modeling (AOM), allowing e.g. to enrich models with orthogonal sets of information pertaining to different concerns. Several techniques and implementations based on Eclipse products and projects (such as EMF extensibility, secondary models such as EMF GenModel's, the aspect-oriented configuration profiles of the Eclipse technology project Java Workflow Tooling) will be presented. An outlook about current standardization approaches in this area by the OMG completes this session.

Statistics

Views

Total Views
2,059
Views on SlideShare
2,041
Embed Views
18

Actions

Likes
0
Downloads
54
Comments
0

3 Embeds 18

http://www.slideshare.net 16
http://www.brijj.com 1
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Eclipse Summit 2009 - Aspect Oriented Modeling Eclipse Summit 2009 - Aspect Oriented Modeling Presentation Transcript

  • Aspect Oriented Modeling Eclipse Summit Europe 2009 Florian Lautenbacher (University of Augsburg, DE) Marc Dutoo (Open Wide, FR) Confidential | Date | Other Information, if necessary © 2002 IBM Corporation
  • Overview  Introducing Aspects  Requirements for the modeling domain  EMF – annotations and any*  Exploring EMF techniques  Inversion of Control – genmodel as an example  Managing extensions & an AOM framework  AOM Beyond EMF  Conclusion Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 2
  • Introducing Aspects An aspect is a unit of modularization of a crosscutting concern with respect to another concerns  Aspect Oriented Programming (AOP) • Has now pervaded software architecture and development. • Dedicated language features (ex. Traits in Scala) • Intrusive (ex. AspectJ in Java) or not (ex. Spring proxies).  The benefits: • Separation of features (logging, security, transactions..) • Improve the readability and maintenance of code The concept of Aspect transcends programming and has echoes in a lot of other areas, as e.g. in modeling. Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 3
  • Aspect-Oriented Programming and Modeling  Composition points are defined in a join point model  A set of composition points is selected through Pointcut expressions  Composing is done by an aspect weaver (during design / load / runtime).  Distinction of aspects: • Homogeneous aspects: Same aspect used at several places • Heterogeneous aspects: Different aspects at these places.  About Workflows, distinction of join points: • Activity join points (or process-level join points) • Internal join points (interpretation-level join points) Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 4
  • Introduction – Extending Models Idea and Requirement: Extending models  With additional metamodel elements  With additional properties Why?  Store information that shall not be visible at runtime  Enrich the meta model with data required by applications  Example: in Bonita 4 Workflow Engine, code execution “Hooks”  Allow support for custom actions  Examples: Logging, send emails on specific actions  but also development time information, like UI A generic solution for such problems is needed! Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 5
  • Example: Different views on a workflow 1/2 UML View Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 6
  • Example: Different views on a workflow 2/2 Event-Driven Process Chain (EPC) View Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 7
  • Simple EMF technique : EMF Annotations  Classified by Source, contains a key-value map  Example: STP BPMN  Simple and all-purpose  However, not typed, not appropriate to business & domain modeling Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 8
  • Simple EMF technique : any* slot  i.e. “untyped” multiple containment reference  Can be used for domain specific modeling  Example: Implementations in STP SCA  Disadvantages : •The model is encumbered by extensions •Extension definitions must always be present •Version management is difficult Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 9
  • Further exploring EMF Modeling techniques  A common way to do it : EMF modeling ! i.e. creating a « single shot » specific EMF extension  Usually extensibility is defined according to needs • Adding custom information to an element requires subclassing it • In EMF: support through Child Creation Extenders feature  Problem: what happens with many optional extensions that the user can enable “on demand”? • Having several such custom extensions (e.g. from different vendors) would mean to create a new node type that inherits from all of them • Neither flexible nor open to the end user Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 10
  • Adding Inversion of Control  The extension model references the enriched model  Example: JWT‟s genmodel vs ecore model  Enables domain specific modeling, but…  Still no way to manage extensions coming from several different providers enriching the same model Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 11
  • Managing model extensions : JWT Conf Model  Our solution: the JWT Conf model and framework  Example: Logging Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 12
  • How does the JWT Conf Model work ?  Aspect-oriented extensions of the Workflow Editor  EMF models are enriched through a Configuration (ConfModel) consisting of Profiles (features)  Typed Aspects are defined in Profiles  Aspects are instantiated on elements of the decorated model Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 13
  • Towards an AOM framework  Additions to the UI  emf.edit extensions (display Aspects in Outline and Property Sheet)  emf.editor-based default editor  And also custom property tabs  Sample Aspects  Custom Properties : all purpose key-value  Semantic annotations (in SemPro)  SCA, RMI Actions (in OW2 Scarbo)  Governance  For now, processes (in our case, documented on the wiki)  Going further, envisioning a repository of compatible types and extensions Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 14
  • AOM Beyond EMF: OMG proposal  One of the first submissions for the OMG RFP « MOF Support for Semantic Structures » (SMOF) included the concept of Facets to represent information about different views on one object in possibly different contexts.  «A facet is a MOF element that describes something identified in the world. Multiple facets may contribute to the understanding of that thing in the world. »  NB. The latest version of the joint submission does not include this idea anymore. Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 15
  • AOM Beyond EMF: BPMN 2.0  In its current draft version, BPMN 2.0 will also provide the possibility to extend the metamodel with definitions from the outside  Only attributes though  Could be modeled by a dedicated Aspect Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 16
  • Conclusion  AO principles were applied on modeling through  AOM specific techniques in EMF  Supported by a generic AOM framework  Benefits of Aspects in our use case  Provide additional nodes that don„t exist in the original metamodel  Call vendor specific custom actions for specific model elements  Have additional properties on already existing metamodel elements  Next steps  Improve Conf model editor, wizards…  Making it fully independent of JWT Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 17
  • Thanks for your attention ! Any questions??? Contact us at lautenbacher@ds-lab.org or marc.dutoo@openwide.fr JWT Conf Framework Documentation : http://wiki.eclipse.org/JWT_Metamodel_Extension & Have a look at the latest Eclipse Magazin ! We thank for his assistance:  Christian Saad – University of Augsburg, Committer on JWT Eclipse Foundation, Inc. | © 2009 by the Open Wide and University of Augsburg. Made available under the EPL v1.0 18