Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » Advice in migrating app
Advice in migrating app [message #425257] Fri, 21 November 2008 02:14 Go to next message
Bill Kinahan is currently offline Bill KinahanFriend
Messages: 6
Registered: July 2009
Junior Member
I am considering migrating an existing modeling application to Eclipse.
The current application (written in C#) is used to model aspects of
avionics systems and, in some cases to capture detailed software
requirements using both form based, and graphical means. All data is
stored as individual model entities serialized in a SQL database. The user
is presented a navigator view which can be used to add/delete/rename
elements. To edit the contents of an element, the user double clicks on it
and is presented with a dialog like form where they press "OK" to complete
the edits. The entry is locked in the database while edit is in progress
to prevent simultaneous update by multiple users.

I've been looking at EMF and the "out of the box" RCP application that can
easily be produced. I see some similarity (e.g., the navigator like
editor), but also see some significant differences like using property
sheets for editing rather than forms. As part of a migration to Eclipse, I
would prefer to avoid major changes to the user interface.

Using the EMF editor feels like the whole model is loaded into the editor
and saved upon request. This feels different than my current approach
where each element/node is opened for edit individually much like a
resource in Eclipse. I am also concerned that this approach will not scale
well as some of our models can be very large (>150K elements). I

Questions:

Can anyone suggest an approach which would allow me to preserve the user
interface style?

I'd need to incorporate editing forms that have both traditional form
elements (text, combos, tables, trees, etc.), but also need to have
embedded diagram editors. Any suggestions/examples of how to do this?

Are my concerns about scaling up valid, or do I misunderstand the
technology?

I expect I'll be using CDO or something similar. Any thoughts on the
choice of technology and things I should be considering?

Any other thoughts?

Thanks in advance!

Bill
Re: Advice in migrating app [message #425259 is a reply to message #425257] Fri, 21 November 2008 05:30 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 33133
Registered: July 2009
Senior Member
Bill,

Comments below.

Bill Kinahan wrote:
> I am considering migrating an existing modeling application to Eclipse.
Cool.
> The current application (written in C#) is used to model aspects of
> avionics systems and, in some cases to capture detailed software
> requirements using both form based, and graphical means. All data is
> stored as individual model entities serialized in a SQL database. The
> user is presented a navigator view which can be used to
> add/delete/rename elements. To edit the contents of an element, the
> user double clicks on it and is presented with a dialog like form
> where they press "OK" to complete the edits. The entry is locked in
> the database while edit is in progress to prevent simultaneous update
> by multiple users.
> I've been looking at EMF and the "out of the box" RCP application that
> can easily be produced. I see some similarity (e.g., the navigator
> like editor), but also see some significant differences like using
> property sheets for editing rather than forms.
The GMF generator produces quite reasonable forms.
> As part of a migration to Eclipse, I would prefer to avoid major
> changes to the user interface.
> Using the EMF editor feels like the whole model is loaded into the
> editor and saved upon request.
That's a general Eclipse behavior. Changes in an editor don't have an
impact beyond the editing session unless you save (commit it).
> This feels different than my current approach where each element/node
> is opened for edit individually much like a resource in Eclipse. I am
> also concerned that this approach will not scale well as some of our
> models can be very large (>150K elements). I
> Questions:
> Can anyone suggest an approach which would allow me to preserve the
> user interface style?
EMF along with data binding is a great way to build a form. You have
complete control over what the view in the properties editor looks like
so you can make them be nice forms.
> I'd need to incorporate editing forms that have both traditional form
> elements (text, combos, tables, trees, etc.), but also need to have
> embedded diagram editors. Any suggestions/examples of how to do this?
That's more of a GMF question.
> Are my concerns about scaling up valid, or do I misunderstand the
> technology?
Certainly technologies like CDO will help with scaling.
> I expect I'll be using CDO or something similar.
I think that's a good idea.
> Any thoughts on the choice of technology and things I should be
> considering?
Do some quick proof of concept things to see how it will pan out.
> Any other thoughts?
> Thanks in advance!
>
> Bill


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: Advice in migrating app [message #425277 is a reply to message #425257] Fri, 21 November 2008 12:43 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 6682
Registered: July 2009
Senior Member
Bill,

As the original author of CDO I might be biased but I agree with Ed that
CDO is a good choice to transparently address scalability issues with
EMF models. CDO internally represents your model instances without
having strong Java references. Combined with some smart caching
techniques on multiple levels there is nothing (including containment
and cross references) anymore that prevents single objects from being
reclaimed by the garbage collector when they are no longer referenced.
Lazy loading and unloading of objects happens completely automatic and
transparent. In addition CDO offers some features like partial list
loading and adaptive pre-fetching to further enhance the user
experience. We have evidence of models with > 4 GB sizes which can be
easily traversed on client machines with 512 MB main memory.

Please let me know if you find this interesting and want more information...

Cheers
/Eike

----
http://thegordian.blogspot.com



Bill Kinahan schrieb:
> I am considering migrating an existing modeling application to
> Eclipse. The current application (written in C#) is used to model
> aspects of avionics systems and, in some cases to capture detailed
> software requirements using both form based, and graphical means. All
> data is stored as individual model entities serialized in a SQL
> database. The user is presented a navigator view which can be used to
> add/delete/rename elements. To edit the contents of an element, the
> user double clicks on it and is presented with a dialog like form
> where they press "OK" to complete the edits. The entry is locked in
> the database while edit is in progress to prevent simultaneous update
> by multiple users.
> I've been looking at EMF and the "out of the box" RCP application that
> can easily be produced. I see some similarity (e.g., the navigator
> like editor), but also see some significant differences like using
> property sheets for editing rather than forms. As part of a migration
> to Eclipse, I would prefer to avoid major changes to the user interface.
> Using the EMF editor feels like the whole model is loaded into the
> editor and saved upon request. This feels different than my current
> approach where each element/node is opened for edit individually much
> like a resource in Eclipse. I am also concerned that this approach
> will not scale well as some of our models can be very large (>150K
> elements). I
> Questions:
> Can anyone suggest an approach which would allow me to preserve the
> user interface style?
> I'd need to incorporate editing forms that have both traditional form
> elements (text, combos, tables, trees, etc.), but also need to have
> embedded diagram editors. Any suggestions/examples of how to do this?
> Are my concerns about scaling up valid, or do I misunderstand the
> technology?
> I expect I'll be using CDO or something similar. Any thoughts on the
> choice of technology and things I should be considering?
> Any other thoughts?
> Thanks in advance!
>
> Bill


Re: Advice in migrating app [message #425296 is a reply to message #425259] Sat, 22 November 2008 02:28 Go to previous messageGo to next message
Bill Kinahan is currently offline Bill KinahanFriend
Messages: 6
Registered: July 2009
Junior Member
Ed Merks wrote:

> Bill,

> Comments below.

> Bill Kinahan wrote:
>> I am considering migrating an existing modeling application to Eclipse.
> Cool.
>> The current application (written in C#) is used to model aspects of
>> avionics systems and, in some cases to capture detailed software
>> requirements using both form based, and graphical means. All data is
>> stored as individual model entities serialized in a SQL database. The
>> user is presented a navigator view which can be used to
>> add/delete/rename elements. To edit the contents of an element, the
>> user double clicks on it and is presented with a dialog like form
>> where they press "OK" to complete the edits. The entry is locked in
>> the database while edit is in progress to prevent simultaneous update
>> by multiple users.
>> I've been looking at EMF and the "out of the box" RCP application that
>> can easily be produced. I see some similarity (e.g., the navigator
>> like editor), but also see some significant differences like using
>> property sheets for editing rather than forms.
> The GMF generator produces quite reasonable forms.
>> As part of a migration to Eclipse, I would prefer to avoid major
>> changes to the user interface.
>> Using the EMF editor feels like the whole model is loaded into the
>> editor and saved upon request.
> That's a general Eclipse behavior. Changes in an editor don't have an
> impact beyond the editing session unless you save (commit it).
>> This feels different than my current approach where each element/node
>> is opened for edit individually much like a resource in Eclipse. I am
>> also concerned that this approach will not scale well as some of our
>> models can be very large (>150K elements). I
>> Questions:
>> Can anyone suggest an approach which would allow me to preserve the
>> user interface style?
> EMF along with data binding is a great way to build a form. You have
> complete control over what the view in the properties editor looks like
> so you can make them be nice forms.
>> I'd need to incorporate editing forms that have both traditional form
>> elements (text, combos, tables, trees, etc.), but also need to have
>> embedded diagram editors. Any suggestions/examples of how to do this?
> That's more of a GMF question.
>> Are my concerns about scaling up valid, or do I misunderstand the
>> technology?
> Certainly technologies like CDO will help with scaling.
>> I expect I'll be using CDO or something similar.
> I think that's a good idea.
>> Any thoughts on the choice of technology and things I should be
>> considering?
> Do some quick proof of concept things to see how it will pan out.
>> Any other thoughts?
>> Thanks in advance!
>>
>> Bill
Re: Advice in migrating app [message #425297 is a reply to message #425259] Sat, 22 November 2008 02:41 Go to previous messageGo to next message
Bill Kinahan is currently offline Bill KinahanFriend
Messages: 6
Registered: July 2009
Junior Member
Thanks Ed. I've got a couple of follow-ups for you.

How would I use GMF to produce my forms? I thought it was predominantly a
tool used to create graphical editors. Can you point me at the right
documentation/example?

I've been attempting to create a form based editor by hand, but I'm having
some newbie difficulties. I've started with the editor produced by EMF and
have added a double click listener. I'd like to then open up a form to
edit the properties of that particular element of the model. I could use
some advice as to what to use as a base class and how to open it up. I've
been trying to start with a multipage editor, add a page with a simple
"hello world" type label on it, and have it open for edit. Is this the
right way to go?

You mention that I have complete control over the view in the properties
editor. I think I understand that I could create a form in there and fill
it in. I've followed a master detail example I found on-line and basically
understand how that works. The behavior I ultimately want to end up with
is similar to that, only I would be able to have property sheets open for
multiple items in the model. The app I want to migrate uses a MDI window
and enables users to have multiple elements of the model open
simultaneously in individual floating windows. How would I go about doing
this in Eclipse?

Thanks for the help.

Bill
Re: Advice in migrating app [message #425303 is a reply to message #425297] Sat, 22 November 2008 07:55 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 33133
Registered: July 2009
Senior Member
Bill,

Comments below.

Bill Kinahan wrote:
> Thanks Ed. I've got a couple of follow-ups for you.
>
> How would I use GMF to produce my forms?
I've not used GMF a lot...
> I thought it was predominantly a tool used to create graphical editors.
Definitely. I think maybe their forms stuff can be used in any editor
though. I've not tried that.
> Can you point me at the right documentation/example?
Their home page has as wiki with getting started information.
>
> I've been attempting to create a form based editor by hand, but I'm
> having some newbie difficulties.
If you look in the history, you can see that Cameron Bateman is working
on a similar thing right now.
> I've started with the editor produced by EMF and have added a double
> click listener. I'd like to then open up a form to edit the properties
> of that particular element of the model. I could use some advice as to
> what to use as a base class and how to open it up. I've been trying to
> start with a multipage editor, add a page with a simple "hello world"
> type label on it, and have it open for edit. Is this the right way to go?
The attachments in https://bugs.eclipse.org/bugs/show_bug.cgi?id=108470
will likely be helpful.
>
> You mention that I have complete control over the view in the
> properties editor. I think I understand that I could create a form in
> there and fill it in. I've followed a master detail example I found
> on-line and basically understand how that works. The behavior I
> ultimately want to end up with is similar to that, only I would be
> able to have property sheets open for multiple items in the model. The
> app I want to migrate uses a MDI window and enables users to have
> multiple elements of the model open simultaneously in individual
> floating windows. How would I go about doing this in Eclipse?
It's not really an EMF question. I'm not sure. It's always good to
find an application that does something like that to study the design...
>
> Thanks for the help.
>
> Bill
>


Ed Merks
Professional Support: https://www.macromodeling.com/
Previous Topic:Quick Fix Resolutions for custom markers
Next Topic:ESE Talk about Datacentric RCP Applications with EMF, Teneo and CDO
Goto Forum:
  


Current Time: Thu Apr 18 09:29:45 GMT 2024

Powered by FUDForum. Page generated in 0.02108 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top