Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 329336

Summary: EMF should have a scalable Notification filtering and distribution mechanism
Product: [Modeling] EMF Reporter: Axel Uhl <eclipse>
Component: CoreAssignee: Ed Merks <Ed.Merks>
Status: RESOLVED WONTFIX QA Contact:
Severity: enhancement    
Priority: P3 CC: b.muskalla, ed, mariot.chauvin, saurav.sarkar1, stepper, zechow-tobi
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on:    
Bug Blocks: 323223    
Attachments:
Description Flags
Scalable Event Manager Implementation for EMF none

Description Axel Uhl CLA 2010-11-03 08:10:07 EDT
Build Identifier:  20100917-0705

When many subscribers (Adapters) want to receive change notifications from EMF models, today they typically each implement their own filter conditions. When notified, each Adapter checks whether the Notification matches their condition. Effort increases linearly with the number of adapters/filter conditions, as can be seen in the current ResourceSetListener implementation

There should be a more scalable implementation that consolidates the filter conditions and carries out the match-making process more efficiently and scalably as the number of filter conditions increases.

The patch attached provides such an implementation.

Reproducible: Always
Comment 1 Axel Uhl CLA 2010-11-03 08:12:55 EDT
Created attachment 182283 [details]
Scalable Event Manager Implementation for EMF
Comment 2 Axel Uhl CLA 2010-11-03 08:14:22 EDT
See also http://anonymous@www.furcas.org/furcas.git
Branch "emf"
Under EMFEnhancements/de.hpi.sam.bp2009.solution.eventManager
Comment 3 Axel Uhl CLA 2010-11-07 04:41:11 EST
*** Bug 323187 has been marked as a duplicate of this bug. ***
Comment 4 Axel Uhl CLA 2010-12-16 18:08:33 EST
Find the archive deprecating https://bugs.eclipse.org/bugs/attachment.cgi?id=182569&action=edit here:

    http://www.axel-uhl.de/impactanalyzer.zip

Unfortunately, it slightly exceeds the 2MB limit.

Renamed everything to org.eclipse.ocl.examples.* and added bundles that previously were missing for test support
Comment 5 Axel Uhl CLA 2010-12-17 11:58:54 EST
Sorry, forget my last comment; it was intended to go to 323223...
Comment 6 Axel Uhl CLA 2011-01-05 17:36:22 EST
As the event manager forms the foundation of the OCL Impact Analyzer on which we are working (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=323223), I committed the event manager bundle and corresponding test bundle to HEAD at org.eclipse.mdt/org.eclipse.ocl/examples/org.eclipse.ocl.examples.eventmanager[.tests].
Comment 7 Ed Willink CLA 2011-01-10 12:12:54 EST
This code is required by the Impact Analyzer OCL example and so is being prepared for appearance as further OCL examples plugins as part of Bug 323223.

It may be appropriate to raise a separate Bugzilla to migrate this code to EMF core or a separate EMF sub-project after Indigo.