[gme-users] Mirroring Transactions
Peter Volgyesi
peter.volgyesi at vanderbilt.edu
Thu Dec 8 12:56:23 CST 2011
Anonymous R/O access:
https://svn.isis.vanderbilt.edu/GMESRC/
Sorry for the delayed answer.
Best,
--
Peter Volgyesi
Research Scientist
Vanderbilt University, ISIS
Office: +1 (615) 322-1018
Cell: +1 (615) 294-6520
On Tue, Dec 6, 2011 at 5:41 PM, Jae Young Bang <jaeyounb at usc.edu> wrote:
> What you described seems to be very helpful to what I work on, and I'd like
> to check out your commits.
>
> I tried to find how I can access to the GME trunk you mentioned, but I
> didn't see it on the GME website nor on the ISIS repository website. Would
> you please let me know how I can do that unless I'm not allowed to have an
> access?
>
> Thank you very much!
>
>
> On Tue, Dec 6, 2011 at 4:56 AM, Howard, Larry P
> <larry.howard at vanderbilt.edu> wrote:
>>
>> If you poke around on the GME trunk you may find a set of commits from lph
>> that attempt to enable a plugin to produce an adequate operation stream.
>> These changes decorate events, such as OBJEVENT_ATTR, with state
>> information to support characterizations like
>>
>> object Foo attribute Bar modified from x to y
>>
>> Such characterizations are useful for consistency checking when applying
>> operations from a stream to another editing session. For example, if
>> Foo.Bar is not x, then the "modify attribute" operation is in conflict with
>> the target session's state.
>>
>> Since GME releases cherry pick from the trunk, I'm fairly certain that
>> these exploratory changes were never included in a subsequent release. But
>> their implementation may provide some insight in ferreting out state from
>> the originating context of operations with which to construct adequate
>> operation streams.
>>
>> Note that I was only interested in a plugin-based strategy for
>> constructing journals of operations from GME editing sessions. Lower-level
>> engagement with GME's transaction machinery was beyond the scope of the
>> work, which was principally concerned with using such journals in
>> scaffolding conflict resolution.
>>
>> Regards,
>> lph
>> --
>> Larry Howard, Sr. Research Scientist
>> Institute for Software Integrated Systems, Vanderbilt University
>>
>>
>>
>> On Dec 6, 2011, at 1:49 AM, Jae young Bang wrote:
>>
>> Thank you for your response.
>>
>> The bad news is not really bad for me. I am a PhD student, and the problem
>> you described as the bad news is actually my research topic. I use GME to
>> build a prototype to evaluate my idea.
>>
>> The good news would be bad news for me if I understood it correctly. Did
>> you say that it would be hard to implement such an operation stream?
>>
>> Thank you again!
>>
>> ~Jae
>> jaeyounb at USC.edu
>>
>> On Dec 5, 2011, at 9:08 PM, Howard, Larry P wrote:
>>
>> So there's good news and bad news. The bad news is that, even with
>> adequate operation streams, consistency among a set of independent editing
>> sessions is impossible to achieve using only them. The good news is that
>> GME makes it sufficiently difficult to produce adequate operation streams
>> that it's impractical to prove it's impossible by trying it out.
>>
>> Regards,
>> lph
>> --
>> Larry Howard, Sr. Research Scientist
>> Institute for Software Integrated Systems, Vanderbilt University
>>
>>
>> On Dec 5, 2011, at 6:18 PM, Jae Young Bang wrote:
>>
>> Hello,
>>
>>
>> I am building a system that has multiple instances of GME (I'm using
>> 9.12.15) on different machines and mirrors the actions made by the users on
>> each others' machines.
>>
>>
>> For example, if there were two users A and B, B would see what A does on
>> A's machine such as creating new objects, updating attributes and
>> registries, and removing objects. A and B would eventually have the same
>> model in their local GME instance.
>>
>>
>> I first tried to listen to ObjectEvents, transfer them over, and replay
>> the events by developing a plugin that captures ObjectEvents and modifies
>> the MGA model according to the captured ObjectEvents. It works, but it ruins
>> the undo/redo architecture because it does not consider the transaction
>> architecture.
>>
>>
>> I figured what I'd ultimately like to do is to grab a transaction when
>> it's completed, transfer it over, and execute the transaction on the other
>> side by putting it in the transactions list.
>>
>>
>> What I wonder is how to implement it. It seems like a plugin cannot
>> manipulate transactions as nested transactions are not allowed. When
>> objectEventPerformed is invoked, the plugin is in the middle of a
>> transaction, and the transaction ends after the objectEventPerformed
>> returns.
>>
>>
>> Would it be possible to do this with a plugin, or would it not be possible
>> to do this with a plugin?
>>
>>
>> Thank you very much for your help!
>>
>>
>> --
>>
>> Jae young Bang
>>
>> _______________________________________________
>>
>> gme-users mailing list
>>
>> gme-users at list.isis.vanderbilt.edu
>>
>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>
>>
>> _______________________________________________
>> gme-users mailing list
>> gme-users at list.isis.vanderbilt.edu
>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>
>>
>> _______________________________________________
>> gme-users mailing list
>> gme-users at list.isis.vanderbilt.edu
>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>
>>
>>
>> _______________________________________________
>> gme-users mailing list
>> gme-users at list.isis.vanderbilt.edu
>> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>>
>
>
>
> --
> Jae young Bang
>
> Doctoral Student,
> Department of Computer Science,
> Viterbi School of Engineering,
> University of Southern California,
> Los Angeles, California, USA
>
> jae at IEEE.org
> jaeyounb at USC.edu
> +1-310-849-6002
> http://ronia.net
>
> _______________________________________________
> gme-users mailing list
> gme-users at list.isis.vanderbilt.edu
> http://list.isis.vanderbilt.edu/mailman/listinfo/gme-users
>
More information about the gme-users
mailing list