Wednesday, June 26, 2013

CDO 4.2 is Available

The CDO Model Repository 4.2 release is now available, aligning with the Eclipse Kepler Simultaneous Release. CDO is featured in the Eclipse Modeling package.

CDO 4.2 was officially released on June 26th, 2013. Thanks to everyone who helped to make this release the best CDO ever!

Wednesday, May 15, 2013

Thank You Google!

Yesterday I asked you to vote for the JRE that you're using in production to get an impression whether we need to keep support for Java 1.5. The participation was very good, there were 45 votes in the first two hours. The majority of the voters is using Java 1.7, a second majority is using Java 1.6, almost noone is using Java 1.5, noone is using Java 1.4 or 1.8.

Then, all of a sudden, I realized a decrease in total votes. First they dropped down to 19, now they're at 10. The problem of disappearing votes is known for almost a year. Thank you Google, a warning note on the poll gadget would have been nice!

Here's a replacement that hopefully works better:

What JRE Are You Using?

Tuesday, May 14, 2013

Still Using Java 1.5?

Traditionally most Eclipse plugins declare a Java 1.5 compatibility in their bundle manifests:

Bundle-RequiredExecutionEnvironment: J2SE-1.5

And so does CDO. Now it seems that newer versions of some JDBC drivers (e.g. HSQLDB) start to depend on Java 1.6 and, unfortunately, the JDBC API of Java 1.6 is not compatible with its 1.5 pendant.

We're currently discussing how to deal with this problem and we're very interested in your opinion. Please participate in this small poll to give us an impression on whether Java 1.5 support is still needed:

What JRE Are You Using?

Saturday, May 4, 2013

Copyright Headers from the Git History

The other day Vincent Zurczak has blogged about Updating Copyright Mentions with Eclipse and his way of maintaining legal headers in software artifacts is very similar to what we've always done in CDO. We had the exact same header in all artifacts and we used search and replace once per year to update them all. For us that has several disadvantages:
  1. Most importantly that means to modify files that have no other (real) changes in that year.
  2. It was hard to find the files with missing legal headers.
  3. It was hard (well, mostly because I wasn't smart enough) to have different copyright owners.
What I always envisioned was a tool that identifies files that could or should have legal headers, consults the Git history for these files and assembles a copyright line as follows:

Copyright (c) 2008, 2009, 2011-2013 Owner and others.

Yesterday I've finally finished this tool:

A simple Check Copyrights for missing copyrights ends with:

Copyrights missing: 0
Copyrights rewritten: 0
Files visited: 22722
Time needed: 5.73 seconds

If there are copyrights missing the tool produces a list of the paths and can optionally open them in editors. The Update Copyrights action takes approx. 35 minutes on the same working tree and results in files with beautiful legal headers that are totally in line with the Git history.

If you are interested in the code have a look at There are just a few places that are CDO-specific and I would be happy to review your patches to make the tool more flexible.

Monday, April 22, 2013

Join the Eclipse Modeling Day at JAX 2013

Ed and I have organized and will moderate this year's Eclipse Modeling Day at the JAX conference in Mainz. We've put together a nice and broad program for you and we'd be happy to see you in the Gutenbergsaal 2 on

Friday, March 26, 2013 at 9:00 o'clock.

The program is a good mixture of technology talks from Eclipse project leads and experienced industrial users:

Slot I


Ed Merks - itemis
Ecore's success stems from its power to describe deep semantic structure more concisely than Java. The downside are the tools. Certainly Ecore's structured editor is simple and effective and its graphical editor is rich and elegant but both are cumbersome compared to traditional text-based tools. The Xtext framework beckons with a solution: a textual syntax for Ecore. Going one step further, we leverage Xbase to define a concise textual notation for describing behavior and exploit it to implement constraints, derived features, operations, and data type conversion. We call this new language Xcore. This presentation will explore Xcore's capabilities and demonstrate its powerful tools in action.

Ed Merks leads the top-level Eclipse Modeling Project as well as the Eclipse Modeling Framework subproject. He holds a Ph.D. in Computing Science from Simon Fraser University and is a partner of itemis AG. 

EMF Data Binding

Tom Schindl - EDV Systemhaus GmbH
Eclipse data binding provides developers with a framework to ease the development of user interfaces following the Model View Presenter (MVP) pattern. In this talk we will look at the EMF data binding extensions and how to exploit them to create rich and well-designed user interfaces, not necessarily involving SWT.

Tom Schindl is founder and owner of, a company located in Western Austria that is specialized on Java and Eclipse consulting. Tom is committer on various Eclipse projects and member of the Eclipse Architecture Council.

Slot II

Now that I've Got a Model - Where's My Application?

Eike Stepper – ES-Computersysteme
Models are efficient for capturing enterprise knowledge at a high level of abstraction, independent of technical concerns. What about the background threads that are expected to cooperate nicely with my model? What if real data are magnitudes bigger than the data I've played with? How do I store this data and broadcast changes to the other users of my application? Can I prevent multiple users from accidentally modifying the same object? In this presentation I'll tell you how best to employ some runtime aspects of Eclipse Modeling to build a scalable, transactional and distributed application for your modeled data with little more than a mouse click.

Eike is an independent consultant in the areas of OSGi and modeling with over 25 years of experience in software development. With his consulting company ES-Computersysteme, founded back in 1991, he conducted dozens of successful customer projects. Eike is the leader of the CDO Model Repository and Net4j Signalling Platform projects at Eclipse and a member of the Eclipse Architecture Council. He is also committer on the EMF Client Platform, EMF DiffMerge and Mylyn projects and has won the Top Committer Eclipse Comunity Award 2010.

Building a tool based on EMF

Maximilian Koegel - EclipseSource Munich
EMF enables the automatic generation of the entity model for an application. Additional frameworks allow developers to create a running application including a UI to modify entities as well as a server to distribute the data. In this talk we demonstrate how the first version of your own application can be set up in less than one minute, just by providing your entity model with EMF. Based on the first version, we demonstrate how to iteratively adapt the first version and add additional, custom features. For the creation of the UI, we will use the EMF Client Platform and additional technologies such as databinding. This integrates also with the new Eclipse 4 Application Plattform. Furthermore, we demonstrate how to create a basic diagram editor with Graphiti. Finally, we show how to integrate different server solutions, such as CDO and EMFStore.

Maximilian Koegel is General Manager of EclipseSource Munich. He has many years of experience with Eclipse RCP and EMF and works as a consultant to customers in these areas. Also he is project lead of the projects EMFStore and EMF Client Platform and he is a committer in other EMF projects at

Slot III

Model-Driven SOA at Swiss Mobiliar

Christoph Gutmann, Michael Rauch – Schweizerische Mobiliar Versicherungsgesellschaft AG
This talk examines how Swiss Mobiliar successfully applied Eclipse Modeling technologies to create a lightweight, technical, design-time SOA infrastructure.  It presents our forward-engineering solution including the use of DSL engineering and repositories, as well as a review of the types of artifacts we generate.

Michael Rauch works as a Software Architect for Swiss Mobiliar where he is responsible for the Model-Driven SOA initiative. He works with the Eclipse Modeling Platform since 2010.

Christoph Gutmann is a Software Architect at Swiss Mobiliar. He is responsible for the SOA and JEE reference architectures, realizes code generation and manageability of SOA dependencies by model-driven architecture based on a forward engineering approach

Service Repository for Model-Driven SOA

Thomas Stahl, Stefan Zeug – b+m Informatik AG
SOA is a specialized domain to which MDD and domain-specific language technologies can be applied. This talk explores design principles for a service repository based on a generic model repository as well as common DSL and generator infrastructure. The Eclipse Modeling Project offers a rich set of base frameworks that serves our purpose, though there are challenges in ensuring that they integrate well in the context of our domain.  We will discuss conceptual and implementation aspects of such a model-based service repository for Swiss Mobiliar.

Dipl. Inform. Thomas Stahl is Chief Architect at b+m Informatik AG.One maior focus of his professional life is Model-Driven Software Development (MDSD). Parts of the Eclipse Modeling Project and the first book on MDSD are results of his pioneering efforts.  Furthermore he has substantial experience in Software- and Enterprise-Architecture,  modern IT-technologies and several vertical domains. He can be reached at

Dipl. Inform/Dipl. Kfm. Stefan Zeug works as an IT-Architect for 10 years. He is currently leading the Architecture Team at b+m Informatik AG and has special interests in MDD-based concept and technologies. He can be reached at

Slot IV

Interface Management in a Large Enterprise

Robert Blust – UBS
Capturing and preserving knowledge of an IT supply chain as models provides a holistic view of a large and diverse system. UBS’ enterprise model repository plays a crucial role in our tooling strategy. The talk focuses on our Eclipse-based tool chain that helps to identify, specify, design, implement and govern the interfaces between parts of our system.

Robert Blust works as an IT Architect for UBS WM CH and is responsible for the strategic tool landscape supporting the software development lifecycle. Since 2009 he leads a growing team realizing the vision of an integrated tooling platform based on the Eclipse Modeling Framework with a strong focus on model based engineering, scalability and collaboration.

Code Generation with Xtend

Sven Efftinge - itemis
Xtend is the successor to the Xpand template language which has previously been an obvious choice for developing code generators. Although Xtend is not just a template language for code generation it is extremely well suited for that task. In this session you will learn about the advantages and cool features which make Xtend a great language for building fast running, extensible and maintainable code generators.

Sven Efftinge is a passionate software developer, kite surfer and father. He's the project lead of Eclipse Xtend, a statically-typed programming language for the JVM, and Xtext, a framework for developing programming languages and domain-specific languages. He leads a development and research office for itemis, a strategic member at Eclipse.

Thursday, March 28, 2013

Modeling, Diagramming, Collaborating

This year's EclipseCon in Boston is just awesome. So many great sessions, nice people and excellent seafood everywhere. My own talk yesterday seemed to be a great success, given the ratings I got so far. I'd like to encourage you to write a comment about my talk, in case you enjoyed it.

Then I've been so impressed by the Sirius technology that Obeo and Thales have been demonstrating and I'm totally excited that they're going to show how they integrated their modeling workbench with CDO model repositories in order to take model collaboration to the next level. I strongly recommend to not miss their session today:

Collaborative Modeling applied to avionic design: give wings to your team

I hope to see you there...