dimanche 16 décembre 2007

Chocolate commit

At workwe have a rule : if you commit something which does not compile, or that cause failure of the build, then you haveto bring back a chocolates candies box.

Many “chocolate commits”happened lately and we manage to always get a candy for the coffee break. As I’m working on a quite tricky project I’m thinking ahead and I did prepare chocolates this morning.

The recipe is quite simple :

  • dissolve/melt some chocolate
  • waita bit ’till it’s quite solid
  • maketiny balls with the chocolate
  • rollthem in sugar
  • rollthem in hot really black chocolate
  • rollthem in cacao powder
  • waita bit ’till it’s totally solid
  • commitsomething using String.isEmptyfor instance, be sure someone notices the mistake fast
  • bringthe chocolates !

jeudi 11 octobre 2007

Modeling at ESE 2007

Eclipse summit is almost over now, a lot of things happened and the modeling project is, for sure, really lively.

Many talks were targeted at people interested in models, great tools and business cases using these tools just show you may benefit using models. On a more personnal side the EMF Compare talk went really smoothly, the room was crowded and people had interesting questions about wether this component would be able to solve this or that issue. If you’re interested in getting the slides, they are available here.

The Rich & Ed talk really showed EMF, GMF and Modeling projects in general may be used together to produce complete toolchain, well, the mindmap domain could be seen as a bit trivial but doing so much things in such a short demo is already a challenge without considering a more complexe domain.

Integration has been discussed during the Modeling Symposium, basically technical and “user-centric” integration is something we really need in the eco-system. Discussions has been started with the GMF people about providing integration with “compare” but this is quite a challenging subject too.

QVT was also a hot subject, well we can be quite confident Quentin will manage to provide a nice QVT-Relational component.
More information will follow on these subjects, on a another side Trolltech guys were here and were very nice too and the poster reception (free beer \o/ ) eased to meet people from really different parts of Eclipse.

During this session I had been able to see a comparison tool for the HL7 standards which was using a similar approach than EMF compare, the author was very friendly and I’m looking forward to a possible collaboration.

Just a downside on this event, well, Nick was not there so I had not been able to offer him beer for his help in setting up the emf compare build, let’s just hope I wont owe you more beer since we see each other again or you’ll quickly get drunk :)

mercredi 12 septembre 2007

" I love deadlines...

… I like the whooshing sound they make as they go by.” D. Adams

Here it comes, the first release of the emf compare component ! You can download it on the website and use it for your every-day work, if it doesn’t fit, report a bug, works keeps going in the maintenance branch and in the CVS head.

So, what will I get with this piece of software :

  • Model comparison and merge: that’s good news as it’s the main objective of this project. You will be able to compare any EMF model, serialized in files or not, coming from XSD or a twisted metamodel.
  • ID (xmi or Ecore) support : if your model provides ID, they will be used in the comparison process.
  • SCM management : thanks to the Eclipse compare framework you will be able to compare versions of models in CVS or SVN repository.
  • Sexy user interface : I know we said at EclipseCon we would not focus our work on the user interface, but thanks to Laurent’s work the result has outperformed our expectations.
  • “EMF only” dependent core : the core, responsible for comparison and merge, only depend on EMF and as such is easily re-usable.
  • Extensible framework : let’s say you have a shiny new idea about model comparison, or that on your specific kind of model you could setup a strategy to match 2 elements, then you can define your own engine and EMF Compare will use it.
  • Export diff : you may save your diff in a file (emfdiff) and then re-open-it later without computation.

So what, let’s have a look now,

Where is the doc ?
The bundle only provides reference doc right now, in order to get up-to-date FAQ, tutorials or design overview stay tuned on the wiki.

What’s next ?
Next release (0.8.0) will provide 3 way comparison, diff extensions and many other nice stuffs. Concerning the algorithms we are trying to get better results with generic comparison algorithm through other methods coming from the research world. An initiative (website) about model transformation/weaving and comparison is taking place in Europe an you may expect that the EMF compare implementation will evolve toward these works.

We will also take part in the Ganymede simultaneus release to help in providing a coordinated modeling distribution.

I’ll give a talk at ESE about all these nice stuffs and the potential use of this component in other Eclipse tools, it will be a great place for exchanges, if your interested in, do not hesitate ;)

mercredi 22 août 2007

New licenses for QT : any progress on Eclipse ?

A few days ago the trolls opened their great framework a bit more adding new licence exceptions on their Free Software edition. This means Qt software can be used along with a larger range of other Free Software libraries and dependencies. One of these licenses is the ” Common Public License - 1.0″.

Discussions took place a long time ago about using QT as a toolkit for Eclipse (the same way we use GTK) and AFAIK the blocking point was its license. As a Linux user I’m a big fan of QT and I often cries concerning the GTK slowness. QT applications feel a lot more responsive and each release brings really nice features like a broad SVG support or soon a webkit component. Moreover this toolkit is cross-platform, I had a chance to use it coding a Python/QT application and it was effectively working on Linux/Windows and MacOSX without recompilation providing a native look and feel.

Lately Trolltech went toward the Java world with QT Jambi, and more especially toward Eclipse providing a full set of plugins for user interfaces design.

Did this licenses extension changed something concerning an eventual SWT/QT integration ? Do anybody want to share information ?

vendredi 8 juin 2007

Beautiful Evidence

When I discovered the NodeBox project, that thought (in fact - a book title ) immediatly catched my mind.

Tufte is right when he says that “The commonality between science and art is in trying to see profoundly - to develop strategies of seeing and showing.”, analysis needs relevent and beautiful representations. Here these representations may be animated, and that’s another big point, the first purpose of our mind associated with our eye is to analyse moving representations and finding out visual inconsistencies.

The gallery provided for that tool is just amazing, mixing different research domains, using the web as an information pool and providing “near artistic” representation.

Do I need to say this project is made in Python ;) ? Well, most of the time, projects using many other libraries gluing them in order to provide unexpected results tend to be in Python. The bad news about this one is it seems to be exclusively MacOSX compatible, but lets hope the 2.0 release using Jython will hit the ground soon, this one could work, at least, on Windows.

mardi 5 juin 2007

“Simplicity is the ultimate sophistication”

Leonardo Da Vinci was damn right about it, and Acceleo 2.0 is just another step in the right direction.
As planned we released this new stable version today. Have a look on the new and noteworthy to get an idea of the exciting features.

Ready-to-use bundles are available on the download page providing Eclipse, Acceleo, its dependencies, the whole set of generator modules and usefull other plugins like Subversive or Topcased.

This release mark the opening of the project to a broader community: people gathered to provide open source generator modules for JEE, CSharp, Php or Python. This set is made of stable and feature-full generators but also of experimental ones.
I do not forget about generators not yet ready to be released, mentionning Wisss or Enterprise Application no doubts they will soon bring new exciting technologies !

The Acceleo website had a huge makeover for the 2.0.0 release, more especially in the documentation and development sections. Speaking about documentation another great news is that fact that the “Obeo advanced documentation” is now free for a commercial use too !

Don’t miss the new “Take Part in Acceleo” page opening to various contributions users, architects or developers are able to do.

Still, to get to ultimate sophistication, we need your feedback ! Do not hesitate to interact with the team !

lundi 26 mars 2007

EMF Compare now uses XMI_ID



The generic emf comparison engine uses statistics in order to match elements, it compare their content, their type, the relations with other objects and their name. This process gives good results on many metamodels, especially specific ones, but this process can be costly for instance on UML models because we’ve got many attributes on each element. On the other side, big models and standards ones are often serialized in XMI using Id’s .
The generic engine now uses these id’s if they are available, in order to find matching elements, the cost is just about zero and the correctness is good. Next step is to use the functionnal Id’s one may define in an Ecore metamodel.
Here comes a screenshot showing the current state of the emf compare project, comparing two UML files.


mardi 20 mars 2007

XML files comparison/merge

On the EMFT mailling-list Martin Taal asked me if EMF compare component was usefull when one has to handle XML file.

Thanks to the EMF/XSD project this feature just comes at no cost ! If you create your metamodel using an XSD then the model will be serialized in it’s native XML format but in the emf compare point of view it’s just another EMF model ! Then you’re able to compare, and of course merge modifications on the files.
Here’s a screenshot of the tool comparing two XML files coming from the well known “Library” example (sorry I did not put nice icons on the models ;) )



The XSD project really should have more visibility, it’s obviously usefull in many use cases where XML matters and EMF provides so much nice features, you should not miss that !

mardi 13 mars 2007

Joining the community

First time blogging , many first times these days :)
As the EMF Compare project lead I had to go to EclipseCon, the component has just been accepted so it was the first time for me to follow EclipseCon from the inside and not from Planet Eclipse.
The event was just great, the interesting people are countless and the Eclipse world is amazing by many aspects. I attended many talks, for a modelling guy like me many stuffs were interesting.
EMF/EMFT was present everywhere, it’s the basis for many tools and software and it deserves to, it just cover the need everybody has using data and models, serialization, notification, validation, transaction or now relational database storage thanks to the Teneo project.
EclipseCon allow you to meet the people behind all theses projects and to have a quick glance of the other projects, the data binding stuffs were just great as the Zest framework from Ian Bull and the UML talk done by Kenn Hussey.
I did a panel there about the EMF Compare component with Antoine Toulme, Jean Bezivin and Ed Merks, it was quite good as the audience had many reactions. I emphasized there the fact that we are aiming to provide a great basis for other tools to work with, a basic UI for comparison and merge (same as the JDT) but no diagram support yet. As the tool is metamodel agnostic, meaning you are able to compare UML or Ecore or anything else, questions were asked about providing special behavior like, for instance, custom dependencies management while merging. Good point there, we’ll try to provide a mecanism for that!
I also did a poster session about the code generator Acceleo, nice reactions there too, people would like to use a MDA approach but most of the tools are quite hard to tackle, Acceleo is just great about that, it’s easy to install, to use and you may generate any kind of text.
In a nutshell the event was great, special thanks to all the staff there and I’m looking forward to see everybody back at Eclipse Summit !