… my name is Christian Kerl. I start this blog to write about my participation in Google Summer of Code 2011 (GSoC 2011). My project is called EMF – ProtocolBuffer Serialization and is mentored by Cédric Brun. It is one of the Eclipse Foundation projects this year.
This project proposal comprises two relatively indepent parts for integrating Google Protocol Buffers and the Eclipse Modeling Framework.
The first part is about using Protocol Buffers for space and time efficient serialization of EMF/Ecore models. Therefore it would provide an implementation of the EMF Resource interface leveraging the dynamic capabilities of ProtocolBuffers (so no .proto file is required). This implementation could ideally be used as drop-in replacement for the existing XML/XMI Resource implementations. Its performance in terms of space and time should be compared to the existing provisional BinaryResourceImpl. This comparision might lead to improvements in both implementations and usage guidelines.
The second and more complex part would be the generation of Protocol Buffer description files (.proto) from Ecore models using model-to-text transformations. One of the challenges here is that Protocol Buffers don’t support inheritance. Besides the generation of the .proto files this part would also include a dynamic (or also generated) converter to transform Ecore model instances to their Protocol Buffer equivalents generated by the Protocol Buffer compiler (protoc). This would enable EMF to be used in heterogenous programming environments, because the data stored in EMF models can be exchanged between all the programming languages supported by Protocol Buffers.
In one of the next posts I’ll discuss this idea in more detail.
One last thing for today: all the code will be hosted in this git repository.