Bogdan asked:

> Why the MDR implementation uses synchronized java.util.Map 
> and synchronized methods in ModelEventPump? Are there any 
> threading issues?

There are definitely potential threading issues concerning the Model
subsystem implementation, but I'm not sure that we have a comprehensive
design that addresses them.  They've mostly been dealt with on an ad hoc
basis.

For the MDR implementation, model events are delivered on a separate
MDR-specific event delivery thread.  Most model modifications are initiated
from the AWT event delivery thread where all GUI actions are handled.  Some
things like model loading happen on a separate worker thread.  There is a
critics thread which using the Model subsystem, but it should be readonly
accesses.

If EMF follows similar model to MDR of event delivery, it shouldn't
introduce any additional problems, but it might be worth writing up a quick
summary (or providing a pointer to one) of how the EMF event delivery works
(what thread, when, etc) as well as any synchronization requirements for the
EMF/UML2 methods that query/modify the model so that we can review it.  An
example of something that would cause us problems is if you are not call
EMF/UML2 methods from a EMF event listener.  If this were the case, we might
need to re-dispatch events through a separate thread for serialization
and/or decoupling.

Not sure that last part is very understandable.  If I had to guess though,
I'd guess that we won't have any significant problems here.

Tom


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to