SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

UML with Action Semantics
UML with Action SemanticsUML with Action Semantics
UML with Action Semantics
elliando dias
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
Majong DevJfu
 
Beginning Android development
Beginning Android developmentBeginning Android development
Beginning Android development
Stephen Gilmore
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
Majong DevJfu
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
Marco Brambilla
 
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
mikaelbarbero
 

La actualidad más candente (11)

UML with Action Semantics
UML with Action SemanticsUML with Action Semantics
UML with Action Semantics
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
Beginning Android development
Beginning Android developmentBeginning Android development
Beginning Android development
 
6
66
6
 
5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
MDA
MDAMDA
MDA
 
Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...Industrial and Academic Experiences with a User Interaction Modeling Language...
Industrial and Academic Experiences with a User Interaction Modeling Language...
 
26 standards
26 standards26 standards
26 standards
 
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
Generating an Android App with Acceleo (Eclipse Summit Europe 2010)
 
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
From UML Profiles to EMF Profiles and Beyond (TOOLS'11)
 
Image Detection and Count Using Open Computer Vision (Opencv)
Image Detection and Count Using Open Computer Vision (Opencv)Image Detection and Count Using Open Computer Vision (Opencv)
Image Detection and Count Using Open Computer Vision (Opencv)
 

Similar a Eclipse Summit 2009 - Aspect Oriented Modeling

2010 06 22 omg - obeo
2010 06 22   omg - obeo2010 06 22   omg - obeo
2010 06 22 omg - obeo
Etienne Juliot
 
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse Modeling
Cédric Brun
 
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBMUsing OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
mfrancis
 
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
mfrancis
 
What every Eclipse developer should know about EMF
What every Eclipse developer should know about EMFWhat every Eclipse developer should know about EMF
What every Eclipse developer should know about EMF
Philip Langer
 
Markus Voelter Textual DSLs
Markus Voelter Textual DSLsMarkus Voelter Textual DSLs
Markus Voelter Textual DSLs
deimos
 

Similar a Eclipse Summit 2009 - Aspect Oriented Modeling (20)

EclipseCon2010 - Painless Metamodel Evolution
EclipseCon2010 - Painless Metamodel EvolutionEclipseCon2010 - Painless Metamodel Evolution
EclipseCon2010 - Painless Metamodel Evolution
 
Model Driven Development With Emf And Eclipse Link
Model Driven Development With Emf And Eclipse LinkModel Driven Development With Emf And Eclipse Link
Model Driven Development With Emf And Eclipse Link
 
2010 06 22 omg - obeo
2010 06 22   omg - obeo2010 06 22   omg - obeo
2010 06 22 omg - obeo
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 
EclipseCon 2006: Introduction to the Eclipse Modeling Framework
EclipseCon 2006: Introduction to the Eclipse Modeling FrameworkEclipseCon 2006: Introduction to the Eclipse Modeling Framework
EclipseCon 2006: Introduction to the Eclipse Modeling Framework
 
EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012
 
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureEclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
 
Hithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxyHithhiker guide to eclipse presentation frameworks galaxy
Hithhiker guide to eclipse presentation frameworks galaxy
 
Team Work With Models Web
Team Work With Models WebTeam Work With Models Web
Team Work With Models Web
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
 
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse Modeling
 
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBMUsing OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
Using OSGi technology in Eclipse - BJ Hargrave, IBM, for Jeff McAffer, IBM
 
Eclipse RCP 4
Eclipse RCP 4Eclipse RCP 4
Eclipse RCP 4
 
javagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platformjavagruppen.dk - e4, the next generation Eclipse platform
javagruppen.dk - e4, the next generation Eclipse platform
 
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
 
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
Keynote - Eclipse - Accelerating OSGi Adoption - Mike Milinkovich, Executive ...
 
What every Eclipse developer should know about EMF
What every Eclipse developer should know about EMFWhat every Eclipse developer should know about EMF
What every Eclipse developer should know about EMF
 
Markus Voelter Textual DSLs
Markus Voelter Textual DSLsMarkus Voelter Textual DSLs
Markus Voelter Textual DSLs
 
CDO Ignite
CDO IgniteCDO Ignite
CDO Ignite
 

Más de Marc Dutoo

Más de Marc Dutoo (20)

Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ...
 Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ... Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ...
Bringing Entreprise Search in the Big Data era with PCU - Paris Open Source ...
 
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...
OCCIware @ Paris Open Source Summit 2017 - a standard, extensible Cloud consu...
 
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
Model and pilot all cloud layers with OCCIware - Eclipse Day Lyon 2017
 
PCU@RISE 2017 - Building a thesaurus for product search
PCU@RISE 2017 - Building a thesaurus for product searchPCU@RISE 2017 - Building a thesaurus for product search
PCU@RISE 2017 - Building a thesaurus for product search
 
OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...
OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...
OCCIware@CloudExpoLondon2017 - an extensible, standard XaaS Cloud consumer pl...
 
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platformOCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
OCCIware@POSS 2016 - an extensible, standard XaaS cloud consumer platform
 
OCCIware@OW2con 2016
OCCIware@OW2con 2016OCCIware@OW2con 2016
OCCIware@OW2con 2016
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them allEclipseCon 2016 - OCCIware : one Cloud API to rule them all
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
 
OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...
OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...
OCCIware Cloud Expo London 2016 - Docker Studio, Studio Factory, erocci bus &...
 
OCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demo
OCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demoOCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demo
OCCIware @ Cloud Computing World 2016 - year 1 milestone & Linked Data demo
 
OCCIware & Linked Data prototype OW2Con@POSS
OCCIware & Linked Data prototype OW2Con@POSSOCCIware & Linked Data prototype OW2Con@POSS
OCCIware & Linked Data prototype OW2Con@POSS
 
OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015
OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015
OCCIware - A Framework for Everything as a Service - Cloud Expo London 2015
 
EasySOA business case and real world use case 20130220
EasySOA business case and real world use case 20130220EasySOA business case and real world use case 20130220
EasySOA business case and real world use case 20130220
 
Alfresco Meetup - ETL Connector & Talend
Alfresco Meetup - ETL Connector & TalendAlfresco Meetup - ETL Connector & Talend
Alfresco Meetup - ETL Connector & Talend
 
OW2Con2012 Scarbo2 SOA-Consistent BPM
OW2Con2012 Scarbo2 SOA-Consistent BPMOW2Con2012 Scarbo2 SOA-Consistent BPM
OW2Con2012 Scarbo2 SOA-Consistent BPM
 
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational DocumentationEclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational Documentation
 
EclipseConEurope2012 SOA - Talend with EasySOA
EclipseConEurope2012 SOA - Talend with EasySOAEclipseConEurope2012 SOA - Talend with EasySOA
EclipseConEurope2012 SOA - Talend with EasySOA
 
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
Service Integration Goes Social - Solutions Linux 2012 (OW2 Track)
 
Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...
Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...
Scripts, Apps, APIs : les nouveaux champs de bataille de l'Open Source à l'èr...
 
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
 

Último

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Eclipse Summit 2009 - Aspect Oriented Modeling

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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