Friday, November 28, 2008

Modeling Pilgrimage to France

Paris by the light of day on Sunday did not disappoint. It is by far the most magnificent city I've ever seen. The beautiful sights are simply endless and grand entrances are the norm.

Imagine living here!

I was surprised to see snow in Paris on Sunday, but by afternoon it had turned to rain and I was on my way to Nantes with Stéphane Lacrampe as my host and guide. That night I stayed at his house, which is conveniently located very close to the railway station. It's currently being renovated and will be very nice when it's complete. He even has a funky courtyard-style back yard full of fruit trees!

On Monday morning we headed for the Obeo office on Stéphane's motor scooter. That was fun! Of course no pilgrimage to France is complete without a trip to a cathedral, so we stopped by the Cathedral of Nantes. Coincidentally, two weeks ago I finished reading the book "Pillars of the Earth" that Karsten Thoms bought for me on my previous trip to Lünen---a most excellent book---so I have developed a special appreciation for the architecture of a cathedral. It simply boggles the mind that such structures could be built without all the modern technology we have available today.

It's a real testament to the persistence of human nature and the creativity of the human mind to see such wondrous things. I've always had a particular fondness of colorful glass.

I suppose its hubris to compare the things we collectively create at Eclipse to such marvels, but if you consider the staggering complexity and number of people involved, it's not completely unreasonable.

Visiting Obeo was much like visiting itemis last month; so many happy friendly people excited to be working together on cool technology. Here they are all gathered for coffee and pastries in a new office space that they're currently setting up. Do you recognize any faces?

I spent much of the day with Jonathan Musset and Cédric Brun learning about what they're doing in open source as well as about some of their Acceleo technology; Cédric gave me that box of chocolates he promised long ago! Obeo has very cool traceability support in their products that I'd love to see for EMF's generator. E.g., you would be able to click on a structural feature and it would show you all the Java things generated from that feature. They've also have been doing some really cool work on a model for describing forms. I encouraged them to write a project proposal so we can reach out to all the interested parties; that conversation is now well underway.

Like the itemis founders, the Obeo founders are refreshingly open minded and forward thinking. They were recently featured in this French paper:

We talked quite a bit too about how to promote modeling in France and how to get the French modeling community more integrated with the modeling community abroad. The German community has been a little more well-integrated I think. Language barriers are an unfortunate fact of life.

On Monday night I stayed at Etienne Juliot's house. It was very sociable. I tried to read a picture book for his daughter, but we seemed to disagree on the words. She would insist, for example, that an apple is really a pomme and was not impressed by the fact that I seemed to be making up new words on the fly. She was too cute.

We had to get up at 4:30 so we could catch the 5:30 train to Paris; yet another sleep deprived night. I was warned that a rush hour ride on the Paris Metro would be an "experience" and it certainly was. How many French people can you cram into a subway car? MD Day was held at that the Arche de la Défense which was totally spectacular. Check out this view of the Arc de Triomphe from under La Grande Arche.

Look what you can do with a little zoom and a lot of mega pixels.

The turnout at MD Day was very large, approximately 260 people I believe. That's Stéphane in the front left.

All the talks, except mine, were in French so I just hung out all day to chat with people. Jean Bezivin was there chatting with Patric Albert of ILOG, one of IBM's most recent acquisitions, so we discussed a bit of the interesting things ILOG is considering doing in open source at Eclipse. I also ran into Olivier Moises again, so we had more time to chat about Wazaabi and how it relates to the Presentation Modeling Framework proposal that's currently under discussion. He introduced me to Cédric Vidal of ProxiAD who has been working on a simple style-sheet approach to transforming models in his spare time; that immediately made me think about how useful what he's doing would be for e4. I encouraged him to get involved.

Meanwhile, Etienne was manning the Obeo booth where he demonstrated their technology to a steady stream of visitors.

One of the highlights for me was when Steve Sfartz introduced me to Jean-Marc Prieur who spent almost an hour providing a personalized demonstration of Microsoft graphical DSL tools in action.

It was very interesting to see this technology in action and it was extremely nice that I had the time to ask many detailed technical questions. The graphical DSL technology is based on a CMOF-like meta model; Jean-Marc explained that he considers it far simpler than MOF. I say it's CMOF-like because associations are first class objects and, at least by default, association classes (or link classes) are generated much like what I blogged about for modeling associations with Ecore. In addition to the domain meta model, there is also a model for describing the desired graphical editing support and of course the two are mapped to bind the domain onto the desired graphical editor. It's also possible to specify the desired XML serialization; though I'm not sure XMI is supported. Their UML technology is built on this stack. All in all, it's very much like GMF though with significantly more end-user polish.

We also talked about Oslo, Microsoft's more recent textual DSL effort. While the graphical DSL effort is primarily focused on code generation, graphical editing, and XML serialization, the textual DSL project has a different domain meta model, i.e., MSchema, and is primarily focused on runtimes, reflection, and textual serialization. You can compare the graphical DSL project to generated EMF augmented by GMF; as far as I understand it, the domain meta model exists only at development time, not at runtime, so there is no MOF-like reflection support. You can compare the textual DSL technology to Xtext (i.e., MGrammar), Ecore (i.e., MSchema), and EObject (i.e., MGraph). So while at Eclipse we provide Ecore as the common standards-based meta model (i.e., OMG EMOF) to support both graphical and textual DSLs and hence provide model-based reflection for all domain models, at Microsoft there are two different technologies to cover these two aspects.

My stupid modeling talk at the end of the day was very well received. People even cheered when I described XML as a poor excuse for human readable syntax that was designed primarily with machine- not human-readability in mind and that has so much appeal largely because lazy developers can avoid writing lexers and parsers. The message that UML is not equal to modeling was also well received. It's of course particularly gratifying to be preaching to the converted! It was a very long day so I was happy to head back to the hotel. When I checked my email, Dave informed me that the EMF book is finally done! It will be in warehouses on Dec 24th, so order your copy now before they all sell out!!

The next day, I had time for a little more sight seeing. Who would have thought we'd find a Canadian pub in Paris?

The Notre-Dame Cathedral was magnificent.

There were a great many amazing fountains.

Occasionally the old and the new stood together in sharp contrast.

Larry and I had a great dinner with a bottle of very fine French wine to end our day and our trip. In the morning it was time to head for home, where there was 10 cm of snow to greet us. Oh well, the girls certainly gave us a warm welcome home, even if the weather didn't.


Donald Smith said...

I love Paris. It is very much the Milwaukee of Europe.

- Don

Anonymous said...

Hi Ed,

Eh cool pictures of Paris :)

I finally found the time to publish the source code of EMF Styling, the stylesheet approach to transforming models that I demoed to you at MD Day 2008 ;)

Here is the EMF Styling project page

Kind regards,