Secondary means and tools for model transformation and code generation - openETCS/model-evaluation GitHub Wiki

This page concerns activities of WP7 T7.2 and is dedicated to the evaluation of means and tools for model transformation and code generation. Planning is available on the main page.

Activities covered by secondary means and tools

  • model-transformation to the candidate language
  • model-transformation from the candidate language
  • code generation
  • tool to transform EMF model
  • ...

Candidates

The following table contents the proposed means and tools to evaluate for this benchmark :

Contact Formalism / Tool Link with primary means or tools Model transformation (from another model to the evaluated model) Model transformation (from the evaluated to an another model) Code Generation EMF model transformation
Uwe Steinke (SIEMENS) SCADE Suite SCADE X X X
Matthias Güdemann (Systerel) Rodin + plugins (ProR, ProB, SMT solvers, IUML,...) Event B X X X
Jonas Helming (Eclipse Source) Xtend Eclipse X
Stefan Rieger (TWT) Acceleo Eclipse X
Christophe Ponsard (Alstom) ATL Eclipse X
Christophe Ponsard (Alstom) QVTo/SmartQVT Eclipse X

Who is volunteer to propose means and tools to evaluate ?

Criteria for Model transformation

  • Open source approach
  • Interoperability with means of primary toolchain
  • Interoperability with Eclipse
  • ...

Criteria for Code generation

  • Open source approach
  • Interoperability with means of primary toolchain
  • Interoperability with Eclipse
  • ...

Case studies and Criteria

These tools are strongly linked to those of the primary benchmark. We propose to start with the same example as described in D2.5 from Subset 026:

  • §3.5.3: Establish a communication session
  • §5.9: Procedure on Sight
  • §4.6.2: Transitions table
  • parts of §3.13: Braking curves

Other ideas ?

(Alexander Stante) I would propose an alternative approach for the case studies and criteria. The source and the destination should be the same for all benchmarks in one class. Furthermore, a model from the evaluation would be to complex to transform within the benchmark activities.

  • For M2T a simple UML State Chart will be created and a reference implementation in C should be given. Everyone benchmarking a M2T tool has the same input and knows what output is expected.
  • For M2M an SysML Block Definition Diagram and a representation of this the diagram in the ERTMSFormalSpec model (ECore) is given (Support from ERTMS Solutions needed). Again, input and output are the same for all benchmarks.

JonasHelming:

  • For the M2T transformation, we plan to select a subset of the existing EFS model, as it is already available in EMF and under the EUPL.

An open repository to store the models is available: transformation means and tools.