Using HUTN for T2M transformation

Recently, we have been investigating the appropriateness of using the Human-Usable Textual Notation (HUTN) as a means for providing a generic concrete syntax for instances of Ecore metamodels. A number of solutions (xText, TCS) exist for performing T2M transformation, but these solutions require the definition a specific concrete syntax for each metamodel.

Like Pierre-Alain Muller and Michel Hassenforder we have discovered that this is not always appropriate. For example, when a metamodel is being defined incrementally and iteratively, any specific concrete syntax may need to be updated regularly in order to remain compatible. clearly, this is not the case for a generic concrete syntax.

Thus far, we have constructed tooling that implements many of the core features of the HUTN specification, and provided integration with the Eclipse Modelling Framework through development tools for the Eclipse platform. In order to perform validation upon the input text and the transformation to the target model, our tooling extensively utilises model-management languages provided by Epsilon.

Presently, we are concentrating on ensuring our implementation is well-aligned with the HUTN specification, and investigating the feasibility of using HUTN during the testing of model management activities.

This flash screencast demonstrates some of the capabilities of our tooling.

This entry was posted in Uncategorized. Bookmark the permalink.

4 Responses to Using HUTN for T2M transformation

  1. Hi,

    Great works! Is it possible to use your HUTN implementation with UML2 metamodel with profile application?

    Regards,
    Jérôme.

  2. Louis Rose says:

    Hi Jérôme,

    Thanks for your question.

    At the moment, we are concentrating on building the tooling to generate only instances of Ecore metamodels. However, adding support for other modelling technologies should be quite feasible, as the underlying Epsilon platform provides a connectivity layer for communicating with various different technologies.

    For now, I believe it should be possible to convert the Ecore models generated by our HUTN tooling to UML2-based models by using the UML2 tools.

    Interestingly, I don’t believe profiles are mentioned in the HUTN specification. I think it would be interesting to investigate that matter further, thanks!

    Regards,
    Louis.

  3. Louis Rose says:

    In my reply above, I think I misunderstood your question. My apologies!

    I was under the impression that the UML2 tooling was an orthogonal modelling technology.

    In fact, it is possible to use our HUTN tooling with the UML2 metamodel. Some example HUTN source:

    @Spec {
      MetaModel "uml" {
        nsUri = "http://www.eclipse.org/uml2/2.1.0/UML"
      }
    }

    Packages {
      Package "Pk" {
        name: "package"
        nestedPackage: Profile "Pr" { name: "profile" }
        ownedType: Class "C" { name: "class" }
      }
    }

  4. Pau Giner says:

    The UML example does not work.

    UML metamodel uses its own dataTypes. So HUTN cannot convert strings to the UML-defined String datatype.

    This is the error I got:

    [Line: 9, Column: 5, Reason: Expected String for: name, Line: 10, Column: 35, Reason: Expected String for: name, Line: 11, Column: 28, Reason: Expected String for: name]

Leave a reply to Jérôme BENOIS Cancel reply