Welcome

Modelling is a key element in reducing the complexity of software systems during their development and maintenance. Model transformations are essential for elevating models from documentation elements to first-class artifacts of the development process. Model transformation includes model-to-text transformation to generate code from models, text-to-model transformations to parse textual representations to model representations, model extraction to derive higher-level models from legacy code, and model-to-model transformations to normalize, weave, optimize, simulate and refactor models, as well as to translate between modeling languages.

Model transformation encompasses a variety of technical spaces, including modelware, grammarware, and XML-ware, a variety of transformation representations including graphs, trees, and DAGs, and a variety of transformation paradigms including rule-based graph transformation, term rewriting, and implementations in general-purpose programming languages.

The study of model transformation includes foundations, semantics, structuring mechanisms, and properties (such as modularity, composability, and parameterization) of transformations, transformation languages, techniques and tools. An important goal of the field is the development of high-level declarative model transformation languages, providing model representations of transformations that are amenable to 'higher-order' model transformation. To achieve impact on software engineering practice, tools and methodologies to integrate model transformation into existing development environments and processes are required. ICMT is the premier forum for the presentation of contributions that advance the state-of-the-art in the field of model transformation and aims to bring together researchers from all areas of model transformation.

Topics

Topics of interest include, but are not limited to:

  • Transformation paradigms and languages
    • graph rewriting, tree rewriting, attribute grammars
    • rule-based, declarative, imperative, functional
    • textual, graphical
    • pattern matching
    • transformation by example
    • modularity, reusability, and composition
    • comparison of transformation languages
    • theoretical foundations
  • Transformation algorithms and strategies
    • model representations: graphs, dags, trees
    • bidirectional transformation
    • incremental transformation
    • scalability
    • optimization
    • termination and confluence
    • higher-order transformation
    • evolution of transformations
  • Implementation and tools
    • design of transformations and transformation languages
    • verification, validation and testing of transformations
  • Applications and case studies
    • refactoring
    • aspect weaving
    • model comparison, differencing and merging
    • round-trip engineering/change propagation
    • co-evolution of models and meta-models
    • reverse engineering (code-to-model)
    • code generation by model transformation
  • Industrial experience reports
  • Empirical studies