A personal CG2012 summary (part I)
Better later than never, here it is, finally, my summary on CG2012. In this serie of three post I will summarize my days at CG2012 in
Cambridge held on 28-30 of March. The full programme can be reviewed here http://www.codegeneration.net/cg2012/program.php.
Disclaimer: as usual CG2012 runs three sessions in parallel, so you are always losing ⅔ of the good stuff. In any way, this year we were able to alleviate this: attending with two more Icinetic colleagues (Rubén Jimenez and Jonathan Cáceres) help in dividing the sessions and giving a full event coverage.
Day 1, Wednesday 28th
Ruben and I led one of the opening sessions for CG2012. In our talk Ruben presented in a practical way how the .NET platform has matured during these years and provided opportunities and enough base tools to use MDSD. Not been on the top of Eclipse/EMF is not an excuse anymore. In the demo time, Ruben shown also Radarc, our product at Icinetic to build and generate applications for different architectures. Slides of the session follows:
After the coffee break, I moved into the session “User Interaction Modeling: current status of the standardization process, from the requirements to the language” given by Marco Brambilla and Emanuele Molteni (from WebModels). Marco and Emanuele are pushing an standardization effort called IFML inside OMG to propose a UI standard based in their UI modeling experience. In the mid-term UML tools vendors could finally start adding support for UI Modeling and this is a good thing, per se. Other standardization efforts are on-going such us UIML in OASIS and Jean Vanderdonckt’s UsiXML in the W3C.
Time for lunch, and back to action. Enrico Persiani and Riccardo Solmi presented “Integrating model driven technologies in
the publishing industry”. This was a very refreshing session, presenting a novel domain for MDSD: interactive books. Riccardo and Enrico presented the base XML used before for composing the books and how this approach become a maintenance nightmare also for each book. Using The Whole Platform they provided a projectional editor integrating images and colorization preview in a kind of WYSIWYG approach making the edition a more pleasant experience.
After that, I move on Markus Völter & Bernhard Merkle’s session on “mbeddr C: an MPS and model based, extensible version of the C programming language”. Using MPS Markus and Bernard has extended the base C language to include safety and productivity features like unit tests support, type safe units, state machines, etc. Impressive bottom-up work inserting new features in a well-known language. mbeddr C have for sure real applications in the embedded software industry.
To end the day, Eric Jan Malotaux presented a very original case study. Under the title “Transforming a 15 year old model-driven application from C++ to Java” he presented the costs and migration efforts performed to migrate a legacy application modeled over a DB and generating C++ to a most modern EMF models and Java source code as output. Eric pointed out that many of the problems came from the different architecture (implicit) assumptions done in the source model. Not until understand it, they were able to solve the problems. Eric concluded that although it was not cheap and easy, it probably would be more expensive and painfuller if the source was only source code and not a model based with a unique semantic over it. Eric gave a great talk and was very prudent about giving only numbers he could backup with data.
This case, presented by Eric made me think twice about how MDD provides advantages years after it was build. At the end is always a problem of dealing with complexity: a model has lower complexity (more constraint) that pure source code.
We ended the evening in a more relaxed way in the nearby Castle Inn sharing good moments.