Eclipse Summit Europe started today. The weather was very mild making the short walk from Nestor Hotel to the Schlosspark Forum particularly enjoyable. It's a grand looking facility.

Eike, Tom, and I started the day with the
EMF Tutorial. It was an extremely large group of people.

They didn't all fit in one picture.

I started with basic concepts about resource management and XML serialization, Eike went into depth about CDO, and Tom finished with an overview of EMF's data binding integration.
The Modeling Symposium also had a very large turnout.

The room was packed.

Christian Meier of UBS kicked off the Modeling Symposium with a presentation about the relevance of modeling in the enterprise.

He would like to see Eclipse evolve toward a first class IDE for developing models with integration through repositories to better manage the integrity of large interdependent models as they are modified by distributed groups of developers.
Eike continued with a brief demonstration of CDO as applied to his eDine restaurant model.

He showed how several applications can coordinate around a single repository and thereby reflect changes made to the state at that central repository.
Next Frédéric Madiot of Mia-Software presented the MoDisco project which is focused on discovering the models that underlie complex applications.

This information can be used to evolve and modernized those applications. He showed the generic browser that can help analyze any EMF model. It supports specifying queries that can be used to alter how the model is viewed. He shows how this can be used to specify a derived feature that's external to the actual model. Once you induce an interesting view on the model, you could use those queries to extract that into a formal model of the application.
Next Skhiri Sabri of Euranova demonstrated his live model to model transformation technology.

He talked about how an underlying model drives many of the related parts of an overall application. They have a model for the UI, a model for the data objects, and a modeled transformation layer for mapping the object model onto the UI. The tansformation layer is designed to listen to the source instances so that it can update the target instances as the source changes. In many ways, it acts similar to data binding, but is focused on always on live model to model transformation. It would have been cool to see it in action.
Markus Voelter did a lightning presentation about
feature models which are used for managing variability.

A feature model describes how a valid instance is composed of parts, some of which might be mandatory, optional, or perhaps one choice of many options.
Frédéric Jouault of Ecole Des Mines Nantes described the MDE diploma he's helping to develop.

It will teach students basic MDE concepts and technologies with a focus on things that have direct industrial application. He outlined the basic curriculum they plan to support. It will include an internship program.
Cédric Vidal of ProxiAD described EMF Customerizer, a technology for customizing generated models.

It uses a CSS-style syntax for expressing the customization. This way the customizations can be expressed external to the model and hence can be reapplied to a modified version of that model. Perhaps in the future, direct changes to a model could be persisted as a customization.
Sebastian Benz of BMW presented EFactory, a textual syntax for creating instances of Ecore models.

He used Xtext to define it and showed how it could be used as textual syntax for building Ecore itself. How cool is that?
Cédric Brun demonstrated Acceleo's support for MTL. It looks like a nice language and the editor is quite slick.

There is support for prototype-based template generation, traceability hooks, and even a profiler to help tune generator performance. Very impressive.
During the final discussions, we talked about the problem of wanting fine grained object level repositories as well course grained textual resources. Part of the issue is how often do conflicts arrive from simultaneous users. But even there, a textual file can be converted to a model, and comparisons can be done at the model level instead of the file level when merging changes. The problem is often establishing identity, which is generally lost in a modified textual representation. Names could be used for identity, but refactoring can change a name. Ideally we could edit textually but not produce wholesale changes in the underlying model. It was an interesting discussion, but such a large room with a large group is not a great venue for including all the interested parties.
Afterward I sat through the
Foundation 2.0 Symposium, but I quickly started to feel that pulling out a fingernail would be far less painful. I'm still not sure why model bashing is a necessary part of improving the foundation. Consider the 150+ people interested in modeling at ESE today, you'd feel safe to assume that modeling is quite an important part of the foundation's future. Oh well, you can't please all of the people all of the time. At least things progressed to more constructive contributions, such as how best to build an ecosystem where people can pay for bug fixes as well as fund feature development. I had to leave early for the sponsor's dinner, which was far more enjoyable!