Wednesday, October 31, 2007

Tom Gom

I've been using Tom-Gom model transformation environment with Java. It uses functional programming aspects like: lists, pattern matching, immutability, etc... it is great for model to model transformations. One can pretty much build a set of rules that match patterns in the source OM (tree) and create a destination OM (tree). The Tom-Gom environment acts as a precompiler and produces Java code. Cool VIDEO, premilinary demo of Tom, Eclipse plugin, more info


  • Tom is an extension of Java designed to manipulate tree structures and XML documents.

  • Tom is compatible with Java: any Java program is a correct Tom program.


  • Data are represented using an efficient object oriented tree based data-structure.

  • Java builtins (int, char, String, etc) can be used.

  • Tom provides pattern matching facilities to inspect objects and retrieve values.

  • A powerful strategy language can be used to control transformations.

  • Tom is used in several companies to implement transformations of programs and queries.

Monday, October 22, 2007

Code Generation EMFT JET2

Code generation isn't a new concept. It's been around for a while and has been gaining popularity with the model-driven development (MDD) movement as a way to increase productivity. The Eclipse project has a technology project called JET that is a specialized code generator. JET can generate more than code however, and we refer to these noncode things as artifacts. full article

Tuesday, October 16, 2007

First post

This is my first post, I'm planing to write about Software, Architecture and technologies i use while developing software. A small preview would be: SCA/SDO, EMF, OSGi, ANTLR, TomGom, Immutable data structures and their impact on concurrency... etc.