*
The moose likes IDEs, Version Control and other tools and the fly likes What is EMF ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Engineering » IDEs, Version Control and other tools
Bookmark "What is EMF ?" Watch "What is EMF ?" New topic
Author

What is EMF ?

Tarun Ramakrishna Elankath
Greenhorn

Joined: Mar 27, 2002
Posts: 27
Echoing the views of another poster here, I too have absolutely no clue as to what IS the eclipse modelling framework and what is it supposed to do. I did, ofcourse, go through the web-site, but that didn't leave me any wiser.
Could one of the authors explain in some detail ?
Frank Budinsky
Author
Greenhorn

Joined: Sep 08, 2003
Posts: 28
Hello all.
Our new book, Eclipse Modeling Framework, is a thorough introduction to and developer quick reference for a powerful Eclipse framework (and code generator) by the same name (EMF for short). When we stated working on EMF (the framework), a few years ago now, we were looking to provide fine-grain data integration for the tools in IBM's next generation development environment, WebSphere Studio. We knew that Eclipse itself would provide a great platform for integration at the UI and file level, but we also needed support for fine-grain data sharing between the tools.
To share data between tools, one needs a description of the data being manipulated by the tools. Given such a description, we could then provide framework support and a code generator to produce an implementation for accessing the data. Our first approach was to describe the data using a modeling tool (Rational Rose), and then generate code from that. It worked quite well, but we soon noticed that some of the tools already had their "model definition" in another form (e.g., an XML Schema, or a set of Java interfaces) from which one needed to manually create a UML (Rose) class diagram to describe the same thing. That's when it hit us that what we really needed was to allow a model definition to be provided in any of these forms - they really were, after all, just different ways of providing the same information. This approach would have the potential to unify three important technologies like never before - Java, XML, and UML - and really make modeling practical and useful to the mainstream Java programmer and to bridge the gap between modelers and Java programmers.
EMF has been extremely successful in meeting these goals. In fact, it turns out that EMF has much broader appeal then even we imagined. EMF's applicablity extends far beyond tools in an IDE, to essentially any application that manipulates data. It generates clean and efficient code,
that can easily be merged with hand written code, so there are very few applications that can't benefit from EMF. Given a model definition, we also realized that we could generate even more of the application - even UIs. We also carefully designed EMF so that it could be used standalone, outside of Eclipse. Our experience has been that it has had a huge positive effect on
productivty and integration, of every application it's been used with - tools or otherwise.
So, now that I've given my obligatory sales job, we'd love to hear your comments and questions. I, along with two of my co-authors, Dave Steinberg and Ed Merks, will be looking forward to answering all of your questions, so please ask away!
Frank.
P.S. You can take a look at the Excerpt (Chapter 2) sample pages of the Eclipse Modeling Framework book at amazon.com:
http://www.amazon.com/exec/obidos/tg/detail/-/0131425420/ref=lib_rd_ss_TT01/102-1364017-8080960?v=glance&s=books&vi=reader&img=19#reader-link
for a good overview of EMF.


Lead author of <a href="http://www.amazon.com/exec/obidos/ASIN/0131425420/qid%3D1064321221/sr%3D11-1/ref%3Dsr%5F11%5F1/102-1364017-8080960" target="_blank" rel="nofollow">Eclipse Modeling Framework</a>.
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8904

How do you compare your book with other books in the market?


Groovy
Frank Budinsky
Author
Greenhorn

Joined: Sep 08, 2003
Posts: 28
Originally posted by Pradeep Bhat:
How do you compare your book with other books in the market?

Pradeep,
The book is kind of like Java in a Nutshell. The first two thirds of the book starts with a basic introduction to EMF, followed by details of the generator tool, and then some more advanced programming examples. The last third of the book is an API summary, just like Java in a Nutshell. Some people have complained that the API sections just adds unnecessary weight to the book, since its essentially just JavaDoc ... but we feel that it's a much more concise summary ... and in fact provides a better description of the API than the JavaDoc.
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8904

Is the EMF free?
Dave Steinberg
Author
Greenhorn

Joined: Aug 18, 2003
Posts: 20
Originally posted by Pradeep Bhat:
Is the EMF free?

Yes!
EMF is part of the Eclipse Tools Project. As such, it is release under the Common Public License, the same open source license as the Eclipse platform.
You can download it from the EMF web site, here.
Cheers,
Dave


Author of <a href="http://www.amazon.com/exec/obidos/ASIN/0131425420/ref=jranch-20" target="_blank" rel="nofollow">Eclipse Modeling Framework</a>
Joe Pluta
Ranch Hand

Joined: Jun 23, 2003
Posts: 1376
I notice that Omondo has a free edition and a relatively expensive enterprise edition. The enterprise edition allows custom templates and has CVS support.
So what does the free edition of Omondo add to EMF? I see some beautiful diagrams on the Omondo page, but I guess I don't understand what it does that EMF doesn't do.
Joe
Pradeep bhatt
Ranch Hand

Joined: Feb 27, 2002
Posts: 8904

Dave,
Thanks!
Does your book contain any CD with sofwares like Eclipse IDE?
Joe Pluta
Ranch Hand

Joined: Jun 23, 2003
Posts: 1376
I looked on the Amazon website, Pradeep, and I didn't see any CD. Which means you'll need to download all the appropriate bits. There's a page on downloads here.
I'm not sure which bits that includes. The page specifically says you need XSD if you're using XML schemas. EMF relies on JET, so you'll need that piece as well, but I'm not sure if it comes with the EMF download.
Maybe the authors can let us know: is there a chapter in the book that deals with downloading all the pieces required for EMF?
Joe
Frank Budinsky
Author
Greenhorn

Joined: Sep 08, 2003
Posts: 28
Joe,
Everything you need to run EMF is available on the EMF download page, i.e., the same one you pointed at in your post (notice that the XSD runtime is available for download along with the EMF zip files). JET is included in the EMF zip files. I'm assuming you already have the eclipse platform - if not you'll first need to download it from the eclipse download site.
The book has no CD, but there is a companion web site that includes all the example plugins used throughout the book.
Joe Pluta
Ranch Hand

Joined: Jun 23, 2003
Posts: 1376
Excellent, Frank! Because I LOOOOOOVE examples...
Joe
Dave Steinberg
Author
Greenhorn

Joined: Aug 18, 2003
Posts: 20
Originally posted by Joe Pluta:
So what does the free edition of Omondo add to EMF? I see some beautiful diagrams on the Omondo page, but I guess I don't understand what it does that EMF doesn't do.

Joe,
Exactly that.
Omondo EclipseUML is the tool that lets you draw those beautiful diagrams. The metamodel for EMF is called Ecore, and it's pretty equivalent to the class diagram subset of UML. So, those diagrams are visual representations of Ecore instances, which we call core models. EclipseUML "speaks" Ecore, so it lets you draw these diagrams in UML notation directly. If you use an ordinary UML tool like Rational Rose, EMF can convert the UML model into Ecore.
Cheers,
Dave
Tarun Ramakrishna Elankath
Greenhorn

Joined: Mar 27, 2002
Posts: 27
Thanks for answering my doubts everybody.
Unfortunately I never got a chance to login into javaranch and further discuss this post.
Wirianto Djunaidi
Ranch Hand

Joined: Mar 20, 2001
Posts: 210

I recently got involve with uml to code generation stuff for a modeling tools which was based on ArgoUML. Which is my first into this type of work, so I'm very interested to learn more what's out there.
How would you compare the EMF with the way things is done in ArgoUML using
their won GEF(Graph Editing Framework) and JMI stuff? What are the different between those two? and what are the similarities?
And pardon my ignorant, is EMF a more open ended modeling framework or is it narrow down to UML only?
-TIA
Tarun Ramakrishna Elankath
Greenhorn

Joined: Mar 27, 2002
Posts: 27
Hi Ryo,
I am just as new to EMF as you are, but from what I can gather, EMF is a quite advanced framework as compared to ArgoUML
For one thing, Omondo's free plugin based on EMF offers both forward and reverse code generation. ArgoUML still has some way to go.
And yes, EMF is pretty much open ended. One is not restricted to UML alone and can describe models of database schemas and misc application domains.
Plan to dive into it to learn more.
[ September 25, 2003: Message edited by: Tarun Ramakrishna Elankath ]
Dave Hewy
Ranch Hand

Joined: Aug 21, 2003
Posts: 93
I remember EMF from physics lessons years ago.
It's Electro Motive Force !
Frank Budinsky
Author
Greenhorn

Joined: Sep 08, 2003
Posts: 28
Originally posted by Dave Hewy:
I remember EMF from physics lessons years ago.
It's Electro Motive Force !

There's also Electric and Magnetic Fields for you Electrical Engineering types. Ours is clearly the coolest though ... dont you think?
Dave Steinberg
Author
Greenhorn

Joined: Aug 18, 2003
Posts: 20
Ryo,
There really isn't much of a comparison to be made between ArgoUML and EMF. ArgoUML is a UML tool, while EMF is, an "open-ended" framework, as Tarun put it, for modeling and programming.
ArgoUML can be used with EMF: you can export an ArgoUML model to Ecore (the meta-modeling language of EMF) using Argo2Ecore. Then, you can try playing with EMF, and you'll see the kind of code it will generate for you and all the functionality you'll get for free (and very little effort).
Cheers,
Dave
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: What is EMF ?
 
Similar Threads
ICQ Number
Servlet Response
3.0M5
Complex DAO
what is that?