Thursday, December 25, 2008

Eclipse Summit Europe 2008


I know it's a bit late, but I think might still be interesting for some people. At least to know what the outcome of the ESE 2008 was for JCRM.

++ The Preperation ++
I had two talks scheduled for the ESE. One at the symposium at tuesday and one at the usual conference at wednesday. I knew it was a tough plan but I could only start to prepare the talks in the week before the conference. The idea was to demo all the JCRM tools. While playing around with them to structure the demo the first nested Eclipse instance crashed. I thought this might be sheer coincidence. But also the second nested instance crashed a few times with an OutOfMemoryError and it started to make me nervous. Of course these kind of things don't happen when developing the tools. They only show up when preparing the talk and there is not much time for fixes. Finding the memory configuration for Eclipse on Mac isn't obvious as it's in a hidden directory. So searching for it didn't make me more relaxed. But in the end I found a memory setting that worked without a problem and I needed to skip some tool demos anyway in fovour of showing the basic concepts of JCRM. That way the people can judge these concepts or influence JCRM along the lines of it. Finally at 10 pm on monday I finished the preperation of the talk for the conference and could start to prepare the talk for the symposium. I finished it at 1am on tuesday.

++ The Symposium ++
The symposium had a quite interesting start as I was chatting with Markus Völter about not having a wireless internet connection available. After a few minutes the maintenance guy who was working in the room and oviously heared us moaning gave us the underground password for the wireless internet connection and said we should not widely spread it as the connection would be overloaded otherwise.
To be hornest I'm quite intimidated by giving such a talk so I was glad to already be the second presenter. I think I could have made the goal of the talk - handling EMF models that don't fit into the memory - more clear. But except that I think it went ok. Many other presentations were about meta model evolution. Its great that there is progress in this area. Because using JCRM it should not be too hard to use the resulting tools for the refactoring JCR node types and that would certainly be very valuable for the JCR communities.
After the presentations the open space discussions were planned. First everybody could propose an issue to discuss about later on. Then everybody could vote three times to weight the importance of the proposals. After that the three least important proposals were skipped and the others were planned how they can run in parallel and how they fit into the available time. This is an interesting community driven format. I proposed to give information about the Java Content Repository and how it could be used also in other Eclipse use cases. When it was on me to vote I saw that there was only one vote for my proposal so far so I though: "There doesn't seem to be much interest in the JCR issue. But thats ok, I will just give it one of my votes and use the other two votes for other interesting issues.". Biiiig mistake. Later on a number of other people voted for my proposal and it turned out that if I would have used my other two votes for my proposal too it would not have been skipped. Lesson learned: I could be more patriotic.
During the symposium I had some interesting discussions about JCRM with Kenn Hussey and Cedrik Brun. To integrate JCR references into EMF Kenn gave me some information about references in EMF that were very useful. We also discussed about JCRM performance [1], if it's possible to collaborate with CDO and I showed him how versioning works in JCRM.

[1] - Bugzilla: Adding objects: https://bugs.eclipse.org/bugs/show_bug.cgi?id=259674
- Bugzilla: Searching objects: https://bugs.eclipse.org/bugs/show_bug.cgi?id=259675
- Bugzilla: traversing on EMF EStructuralFeatures https://bugs.eclipse.org/bugs/show_bug.cgi?id=259676
- Bugzilla: Repository Editor https://bugs.eclipse.org/bugs/show_bug.cgi?id=259677
- Bugzilla: update https://bugs.eclipse.org/bugs/show_bug.cgi?id=259678
- Bugzilla: delete https://bugs.eclipse.org/bugs/show_bug.cgi?id=259679

++ The conference ++
At the first day of the conference I was mainly at the booth of our company and visited just the keynote and a few talks like the MTL and the CDO talks.
After that it was on me to give my presentation. Interestingly I was less nervous than the day before and better concentrated. There were 15-20 people attending. I guess the majority of the people were at the E4 talk. But I was glad to find Ed and Kenn in the audience (and later I found out that also Rich was there) because they are part of the core modeling community. It is good when they know what JCRM is about because they can judge quite good what is valueable for the Eclipse modeling community and what's not.
Event though I made time consuming mistakes that probably nobody really recognized, I think the presentation generally went good because it made clear:
- how the JCR communities and the Eclipse community can benefit from each other using JCRM,
- how straight the JCR integration into EMF is,
- that its not hard to use JCRM in existing EMF applications
This presentation got good feedback like "JCRM is Cool!" and "JCRM has a lot of potential.", "JCRM generated quite a hype." If you did not attend my talk but you are curious about Eclipse JCRM you can download the slides from slideshare, have a look at the JCRM wiki or ask me in the newsgroup (and CC me with s(dot)boehme(at)inovex(dot)de )

The conference was not only exciting for me because of my talks but also because I had a lot of interesting chats with different people:
o Cedric hacked an example for me on how to compare two EObjects of a model. This will be very valueable for the Repository Editor (formerly called Node Editor or JCR Manager). Because this would make it possible to actually compare node objects with this editor.
o After it didn't work out at the last ESE I finally found Eike to talk with him. Interestingly it turned out that we solved the same problem the same way independend from each other. For models that are bigger than the available memory we both used the EMF EStore and the java.lang.ref.SoftReference to free unused model elements from the memory and reload them on demand. Just the day before at the Modeling Symposium I talked about that. To avoid solving the same problem twice and to better integrate our projects we agreed to do some screen sharing sessions. To be honest this is not too high on my priority list right now because I would like to focus on the Repository Editor instead but I still think it's important to work on that.
I also had an interesting discussion with the people from ikv about their project, a nice chat with Wolfgang Frank and Achim Baier and a good time during the breakfast and between the talks with Lars Schneider, Xavier and many other people.