My current customer, Deutsche Boerse in Frankfurt, allowed us to give an experience report about this project at the Code Generation 2009 conference in Cambridge. Heiko Behrens and I are currently working on the so-called new Global Trading System, where we support the team with knowledge and implementation for building code generators and tool chains build with openArchitectureWare and also their successor projects TMF, M2T, MWE. This project is really challenging, and I enjoy every day working with this high skilled and motivated team. The team members and deciders are convinced that they can benefit from code generation and that openArchitectureWare provides the best toolset for doing so. We were able to build a tool chain with several different kind of modeling frontends, all integrated with each other within Eclipse. For example, we use UML2 modeling with Magic Draw for the domain model and combine those models in an Xtext based editor for model enrichment. In MDA terms, the domain model would be the PIM, and it is really platform independent, and these Xtext models are the marks to add platform specific information. Further, we adapt the Fornax Hibernate and JavaBasic cartridges for the JPA layer, and provide model transformations for the adaption, so that we do not model with this platform specific profiles.
Heiko and I are confident that our talk is an interesting contribution to the conference. I am happy that our customer is open minded to talk about this project.
The abstract of this talk is:
Mastering differentiated MDSD requirements at Deutsche Boerse AG
Deutsche Boerse AG (www.deutsche-boerse.com) is developing a so-called global trading system, where Eclipse Modeling Technology is used in different parts. From diverse models C++, Java, Python adapters and different other artefacts are generated to build a mission-critical and highly scalable software system.
In this session we will present how openArchitectureWare helped us to build a tool chain that spans across different subprojects and connects existing modeling tools be they graphical, tabular or textual. In an international team we were able to build custom parts or re-use slightly adjusted community cartridges by applying AOP techniques to build M2M transformations, sophisticated editors as well as validation and server-side code generators.