Saturday, June 21, 2008

Was Gany Good to You?

I'd like to think I was good for Gany but definitely Gany was very good to me! The recent SD Times 100 article recognizing the best and brightest in our industry lists EMF has a "top-shelf" modeling tool. It's a very proud accomplishment for our open source community to be listed along side commercial offerings! My shrinking development team has never had the capacity to build truly excellent tools---we've needed to keep our focus on making the framework powerful---so I'm absolutely thrilled that David Sciamma, Lucas Bigeardel, Gilles Cannenterre, and Jacques Lescot have helped move EMF to the top shelf. I've been playing with the Ganymede version of Ecore Tools and I'm so happy I must blog about it on this sunny Saturday morning; there are few things finer than piddling on the flowers!

One of the great things about Ecore is that it's small and simple yet extremely expressive and powerful.

Even when you render all the basic attributes, references, and operations in a single diagram, it still fits a page. This diagram is one of my absolute favorites. It's practically all you need to to understand the entire Ecore API. I know it's a cliché to say a picture is worth a thousand words, but when it comes to modeling, it's such an important aspect to the big picture.

Creating a beautiful diagram is even more of an art than creating beautiful code. Notice how the above diagram only has a single line cross?

In EMF 2.3 we added generics to Ecore. Just as for Java's generics, you can always consider just the erased view of a model. The preceding diagram is that erased view. The green classes and their references represent what was added. The erasure involves deleting all ETypeParameters and replacing each reference to EGenericType with its eRawType.

EObject has quite a few methods, so we show it, and EAnnotation's use of it, in a separate diagram.
And finally we have all the data types needed to define the Ecore API.

Clearly Ecore Tools is more than just adequate for my diagramming needs. Finally I can throw away my moldy old Rose 98! Unlike this peony rose, Rose 98 has definitely lost its luster.

So thanks Ecore Tools team, you're one of the brightest flowers in my garden! You've definitely been good to Gany and to me.

Well, it's time to tend my garden. Most of my 10,000+ seedlings still need to be planted, and it's a lovely day today.


David said...

Thanks Ed !

I hope Ecore Tools will help other EMF developers.

Ganymede is great and there is a lot of cool components in this release : Ecore Tools would be impossible without GMF and of course EMF !

Lucas said...

Tell you what ?

Ganymede modeling package release makes me remembering a scene of "the matrix" movie.

Neo meeting morpheus, quite coincidentally, in its "matrix quasi-life" & having to choose between the blue or the red pill !

I understand now why I will choose myself the purple one ;-)

This purple one tastes much better to me.

Every java developer should choose it either because it will make him/her so aware about the goodness of modeling and why it lacked it so much untill now.

Ganymede release opens a new era by bringing to developers basic, complex or generic tools for model driven development in a single archive !

Thanks to Ed Merks, EMF, Ecore Tools teams and many others involved in what I consider as very cool collaborative open source achievement !

kudos to you guys !

I'm a tiny fraction of that as well and I hope this will help to make things better for people.