QVTr Editor

The QVTr Editor is an editor for the concrete syntax for the QVT relations language defined by the OMG QVT proposed standard.

The editor supports

  • conventional keyword, comment and string highlighting
  • lexical and syntactic validation of the source text
  • semantic validation of the source against the referenced meta-models
  • an XML view of the concrete QVT relation syntax after transformation (parsing) to abstract syntax
  • a text view of the abstract QVT relation model after transformation (unparsing) to concrete syntax
  • Highlighting is performed interactively. Subsequent validations are currently performed when the file is saved, with semantic validation occuring only for syntactically valid files. Incremental validation may be added in a future release.

    Lexical, syntactic and semantic errors are indicated by standard problem markers so that the errors are underlined and navigable from the Problems View or from the editor overview side bars.

    Successful meta-model validation requires that the meta-models can be located. This may be achieved by binding the meta-model names to the appropriate models using the Model Registry Property Page. This is accessible from Properties in the right button menu of the Navigator or Project Explorer Views.

    The QVTr editor is normally associated with files *.qvtr and *.qvtrelation extensions. This may be changed using Window->Preferences|General->Editors->File Associations.

    The QVTr editor and parser when invoked on a *.qvtr concrete syntax file, generates a *.qvtr.qvtrelation abstract syntax model. This file may be viewed using the QVT Relation Model editor.

    The QVTr editor and unparser when invoked on a *.qvtrelation abstract syntax model, generates a *.qvtrelation.qvtr concrete syntax file.

    Bugs

    The editing and model validation parts of the editor are quite good.
    The generation of abstract syntax is work in progress. It has been superficially validated by the ability to unparse, parsed models, but appears to contain some references to MDT rather then OMG OCL types.

  • JavaDoc Reference