Eclipse Project Proposal
eTrice Room DSL Implementation Proposed as New Eclipse MDT Project
eTrice has been proposed as a new Eclipse project, under the MDT Project.
This project aims to be an implementation of the Real-Time Object Oriented Modeling (ROOM) DSL, alongside code generators and tooling for model editing. Portable runtime libraries for Java and C++ will also be provided, with a library for ANSI-C planned for the future. Services such as messaging, thread and process creation will also be supplied as part of the project, alongside built-in possibilities for sequence diagram creation from the running software. Distributed heterogenous systems will be supported out of the box.
The ROOM metamodel will be based on EMF and the editors will be implemented using Xtext. It is planned that additional graphical editors for structure and behaviour will be added using GMF or Graphiti. The code generators will be based on Xpand and Xtend. eTrice is targeting extensibility, for example by extending the ROOM metamodel, adding Editors, or adding new code generators for new languages or middleware.
The initial Trice committers Thomas Schuetz and Henrik Rentz-Reiche previously created a ROOM tool called Trice, however this tool was created from scratch with Visual C++ and therefore it has been decided to redo this tool completely, rather than try to migrate it. Trice will contribute some pilot projects which can be converted from Trice to eTrice, and patterns and howtos, but no code.