Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » EMF - Is it the future?
EMF - Is it the future? [message #702803] Tue, 26 July 2011 16:23 Go to next message
stacey  is currently offline stacey
Messages: 6
Registered: July 2011
Junior Member
Potentially going to start a big project and heavily use EMF. Wanted to get a little confident around the technology first.

Can anyone comment on the maturity of the project? Any known issues/limitations? Big changes ahead?

Am aware that it has been used in Eclipse 4 to model the workbench and the code generators have then been used to generate the associated code ... but was this a 100% model to code translation or did this then subsequently need additional hand code (I'm guessing the latter).

Any general information appreciated or links to the the relevant pages appreciated? Have been digesting what my head allows me to off the general site.

Thanks,

Stacey.

(no subject) [message #702908 is a reply to message #702803] Tue, 26 July 2011 19:58 Go to previous messageGo to next message
Ed Merks is currently offline Ed Merks
Messages: 24550
Registered: July 2009
Senior Member
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Stacey,<br>
<br>
Comments below.<br>
<br>
On 26/07/2011 1:23 PM, stacey wrote:
<blockquote cite="mid:j0n75p$vth$1@news.eclipse.org" type="cite">Potentially
going to start a big project and heavily use EMF.  Wanted to get a
little confident around the technology first.
<br>
</blockquote>
Of course I'm biased...<br>
<blockquote cite="mid:j0n75p$vth$1@news.eclipse.org" type="cite">
<br>
Can anyone comment on the maturity of the project? <br>
</blockquote>
It's most definitely mature technology that's being used around the
world, more and more each year.  You'll be in good company:<br>
<blockquote><a href="http://wiki.eclipse.org/Auto_IWG">http://wiki.eclipse.org/Auto_IWG</a><br>
</blockquote>
<blockquote cite="mid:j0n75p$vth$1@news.eclipse.org" type="cite">
Any known issues/limitations? <br>
</blockquote>
We live in a glass house.  Issues are tracked in bugzilla for all to
see.<br>
<blockquote cite="mid:j0n75p$vth$1@news.eclipse.org" type="cite">
Big changes ahead?
<br>
</blockquote>
EMF core is very stable.  We don't break APIs.<br>
<br>
The technology around the core continues to evolve rapidly. 
Innovation is to be expected.<br>
<blockquote cite="mid:j0n75p$vth$1@news.eclipse.org" type="cite">
<br>
Am aware that it has been used in Eclipse 4 to model the workbench
and the code generators have then been used to generate the
associated code ...</blockquote>
Indeed.<br>
<blockquote cite="mid:j0n75p$vth$1@news.eclipse.org" type="cite">
but was this a 100% model to code translation or did this then
subsequently need additional hand code (I'm guessing the latter).
<br>
</blockquote>
Typically there is hand written code involved as well.  As an
example, one of the first projects we developed with EMF was a model
for XML Schema.  Of the roughly 100,000 lines of code, roughly 75%
of it was generated from the Ecore for XML Schema model.  The rest,
i.e., the logic to implement all relationships derived from the
syntax, was hand written.<br>
<blockquote cite="mid:j0n75p$vth$1@news.eclipse.org" type="cite">
<br>
Any general information appreciated or links to the the relevant
pages appreciated? <br>
</blockquote>
All information about EMF core is on the documentation page.  Of
course there's a comprehensive book as well.<br>
<blockquote cite="mid:j0n75p$vth$1@news.eclipse.org" type="cite">
Have been digesting what my head allows me to off the general
site.
<br>
</blockquote>
Most of us folks at Eclipse are developers, so the website takes
second place.  We do a relatively poor job of organizing the
information, i.e., the website quite stale.<br>
<br>
You'll notice though, that all questions are answered quickly.  It's
certainly not difficult to get professional help, if you want it.<br>
<blockquote cite="mid:j0n75p$vth$1@news.eclipse.org" type="cite">
<br>
Thanks,
<br>
<br>
Stacey.
<br>
<br>
<br>
</blockquote>
</body>
</html>
(no subject) [message #703126 is a reply to message #702803] Wed, 27 July 2011 03:30 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 4462
Registered: July 2009
Senior Member
Am 26.07.11 22:23, schrieb stacey:
> Potentially going to start a big project and heavily use EMF. Wanted to
> get a little confident around the technology first.
>
> Can anyone comment on the maturity of the project? Any known
> issues/limitations? Big changes ahead?
>

We are using EMF and Subcomponents like EMF-Edit, Teneo, Databinding,
CDO since years and lately started leveraging Xtext and they've made our
software much better structured and the turn around much shorter.

I'd go so far that I can feel only sorry for someone who has to deal
with all those problems itsown because they are not allowed to use EMF.
BTW: Many people think they can only use EMF when they are developing
applications using other related technologies (most of them developed at
Eclipse.org) but is totally incorrect, even when writing a simply Swing
application you can use EMF.

> Am aware that it has been used in Eclipse 4 to model the workbench and
> the code generators have then been used to generate the associated code
> ... but was this a 100% model to code translation or did this then
> subsequently need additional hand code (I'm guessing the latter).

99% of the generated model code was used as is.

We only customized a very specific area (we added better type checking
for generic-lists so that they fail already on insert and not on read
but that's more of a problem of Java than it is of EMF) and implemented
some defined EOperations (they do the translation of labels in the
locale string).

I hope I can find the time to bring back our generic-lists typesafety to
emf e.g. using a generator switch (naturally the typechecking degrades
performance) in 2.8.

>
> Any general information appreciated or links to the the relevant pages
> appreciated? Have been digesting what my head allows me to off the
> general site.
>

You are not saying what type of software you are developing so it's hard
to give you pointers to technologies. In case you want to write an
UI-application my blog has tons of informations on EMF-Databinding and
Eclipse 4 [1].

> Thanks,
>
> Stacey.
>
>

Tom

[1]http://tomsondev.bestsolution.at/
(no subject) [message #703128 is a reply to message #702803] Wed, 27 July 2011 03:30 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas Schindl
Messages: 4462
Registered: July 2009
Senior Member
Am 26.07.11 22:23, schrieb stacey:
> Potentially going to start a big project and heavily use EMF. Wanted to
> get a little confident around the technology first.
>
> Can anyone comment on the maturity of the project? Any known
> issues/limitations? Big changes ahead?
>

We are using EMF and Subcomponents like EMF-Edit, Teneo, Databinding,
CDO since years and lately started leveraging Xtext and they've made our
software much better structured and the turn around much shorter.

I'd go so far that I can feel only sorry for someone who has to deal
with all those problems itsown because they are not allowed to use EMF.
BTW: Many people think they can only use EMF when they are developing
applications using other related technologies (most of them developed at
Eclipse.org) but is totally incorrect, even when writing a simply Swing
application you can use EMF.

> Am aware that it has been used in Eclipse 4 to model the workbench and
> the code generators have then been used to generate the associated code
> ... but was this a 100% model to code translation or did this then
> subsequently need additional hand code (I'm guessing the latter).

99% of the generated model code was used as is.

We only customized a very specific area (we added better type checking
for generic-lists so that they fail already on insert and not on read
but that's more of a problem of Java than it is of EMF) and implemented
some defined EOperations (they do the translation of labels in the
locale string).

I hope I can find the time to bring back our generic-lists typesafety to
emf e.g. using a generator switch (naturally the typechecking degrades
performance) in 2.8.

>
> Any general information appreciated or links to the the relevant pages
> appreciated? Have been digesting what my head allows me to off the
> general site.
>

You are not saying what type of software you are developing so it's hard
to give you pointers to technologies. In case you want to write an
UI-application my blog has tons of informations on EMF-Databinding and
Eclipse 4 [1].

> Thanks,
>
> Stacey.
>
>

Tom

[1]http://tomsondev.bestsolution.at/
Re: EMF - Is it the future? [message #703374 is a reply to message #702803] Wed, 27 July 2011 10:05 Go to previous messageGo to next message
stacey  is currently offline stacey
Messages: 6
Registered: July 2011
Junior Member
first and foremost thanks for the replies!

I did not see the link between Auto IWG and EMF? I read this as a distribution of eclipse specific for the automotive industry? ... or am I missing a crucial part?

In addition ... and I hate to ask this question here .....but....

Are there rivals to EMF (i.e. has this technology been developed in other worlds (if you follow eclipse is a world) {I understand this would be outside of the eclipse domain.}

Thanks,

Stacey.
Re: EMF - Is it the future? [message #703384 is a reply to message #703374] Wed, 27 July 2011 10:16 Go to previous messageGo to next message
Erdal Karaca is currently offline Erdal Karaca
Messages: 620
Registered: July 2009
Senior Member
One (very light) alternative could be JAXB which provides XSD to Java and marshalling/unmarshalling of Java classes/xml files and it is part of the jdk...
Though, as Tom Schindl said, it is hard to give proper advices when we do not know what kind of application is to be developed...
Re: EMF - Is it the future? [message #703392 is a reply to message #703384] Wed, 27 July 2011 10:24 Go to previous messageGo to next message
stacey  is currently offline stacey
Messages: 6
Registered: July 2011
Junior Member
it is a UI application
Re: EMF - Is it the future? [message #703395 is a reply to message #703392] Wed, 27 July 2011 10:27 Go to previous messageGo to next message
stacey  is currently offline stacey
Messages: 6
Registered: July 2011
Junior Member
but we have already defined a meta model for the domain --- I have already done a quick rcp of the code produced by the default swt renderers and was amazed at the amount of functions you got out out of the box ..... almost 50% of the requirements were met..... one to share with internal customer carefully (!) as they will think the next 50% will be implemented as quick! Smile
(no subject) [message #703433 is a reply to message #703374] Wed, 27 July 2011 11:01 Go to previous messageGo to next message
Ed Merks is currently offline Ed Merks
Messages: 24550
Registered: July 2009
Senior Member
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Stacey,<br>
<br>
Comments below.<br>
<br>
On 27/07/2011 7:05 AM, stacey wrote:
<blockquote cite="mid:j0p5ce$qb$1@news.eclipse.org" type="cite">first
and foremost thanks for the replies!
<br>
<br>
I did not see the link between Auto IWG and EMF?  I read this as a
distribution of eclipse specific for the automotive industry? ...
or am I missing a crucial part?
<br>
</blockquote>
Look at the related projects section.  This group is heavily focused
on exploiting modeling technology.  They're not the only such group.<br>
<blockquote cite="mid:j0p5ce$qb$1@news.eclipse.org" type="cite">
<br>
In addition ... and I hate to ask this question here .....but....
<br>
<br>
Are there rivals to EMF (i.e. has this technology been developed
in other worlds (if you follow eclipse is a world) {I understand
this would be outside of the eclipse domain.}
<br>
</blockquote>
In the Java world, I believe Eclipse modeling technology is the
dominant player because it's by far the most comprehensive in terms
of a stable core and a huge ecosystem of technologies built around
it.  Even folks working on "competitive" technologies are more often
than not, using EMF and Eclipse to build it.<br>
<br>
I just found out from someone else that Spring Roo provides support
for EMF models:<br>
<blockquote><a href="http://code.google.com/p/model2roo/">http://code.google.com/p/model2roo/</a><br>
</blockquote>
Certainly one could view Roo as competitive to EMF's support for GWT
(though not with EMF as a whole).<br>
<blockquote cite="mid:j0p5ce$qb$1@news.eclipse.org" type="cite">
<br>
Thanks,
<br>
<br>
Stacey.
<br>
<br>
</blockquote>
</body>
</html>
(no subject) [message #703454 is a reply to message #703384] Wed, 27 July 2011 11:15 Go to previous messageGo to next message
Ed Merks is currently offline Ed Merks
Messages: 24550
Registered: July 2009
Senior Member
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
This article compares the two:  <br>
<blockquote><a
href="http://www.theserverside.com/news/1364302/Binding-XML-to-Java">http://www.theserverside.com/news/1364302/Binding-XML-to-Java</a><br>
</blockquote>
I would argue that in terms of XML binding, they're essentially
equivalent, though EMF supports important things such as proper
enforcement of containment (like DOM does) as well as cross resource
references so you can build an instance that spans XML documents.<br>
<br>
<br>
On 27/07/2011 7:16 AM, Erdal Karaca wrote:
<blockquote cite="mid:j0p615$1mu$1@news.eclipse.org" type="cite">One
(very light) alternative could be JAXB which provides XSD to Java
and marshalling/unmarshalling of Java classes/xml files and it is
part of the jdk...
<br>
Though, as Tom Schindl said, it is hard to give proper advices
when we do not know what kind of application is to be developed...
<br>
</blockquote>
</body>
</html>
(no subject) [message #703456 is a reply to message #703395] Wed, 27 July 2011 11:25 Go to previous messageGo to next message
Ed Merks is currently offline Ed Merks
Messages: 24550
Registered: July 2009
Senior Member
Stacey,

I recall one consultant explaining how they were at a customer site and
as the customer explained requirements, he created an EMF model on the
fly. At the end of the session, he generated the EMF application from
it, and showed it to the customer. He nearly lost the contract because
so much of what they needed was already completed before he left their
office which gave them the sense that he was over charging and they
could do it themselves...

Given you're implementing a UI application, I'd also suggest having a
look at EEF. It's a huge improvement over EMF's tabular properties
view... Tom's support for data binding will help a lot if you plan to
create custom form-like views...


On 27/07/2011 7:27 AM, stacey wrote:
> but we have already defined a meta model for the domain --- I have
> already done a quick rcp of the code produced by the default swt
> renderers and was amazed at the amount of functions you got out out of
> the box ..... almost 50% of the requirements were met..... one to
> share with internal customer carefully (!) as they will think the next
> 50% will be implemented as quick! :)
Re: (no subject) [message #703616 is a reply to message #703456] Wed, 27 July 2011 14:51 Go to previous message
Erdal Karaca is currently offline Erdal Karaca
Messages: 620
Registered: July 2009
Senior Member
Ed Merks wrote on Wed, 27 July 2011 11:25
Stacey,

I recall one consultant explaining how they were at a customer site and
as the customer explained requirements, he created an EMF model on the
fly. At the end of the session, he generated the EMF application from
it, and showed it to the customer. He nearly lost the contract because
so much of what they needed was already completed before he left their
office which gave them the sense that he was over charging and they
could do it themselves...


Nice anecdote Smile
Previous Topic:Bidirectional navigation in model with inheritance
Next Topic:[EMF] Latest EMF API documentation javadoc location
Goto Forum:
  


Current Time: Wed May 22 19:23:12 EDT 2013

Powered by FUDForum. Page generated in 0.07601 seconds