.NET Modeling Framework (NMF)

The .Net Modeling Framework (NMF) is a framework to support model-driven engineering using .NET technologies. It consists of several subprojects that ease various model-driven tasks, such as generating code for model representation, or languages to support model transformation, synchronization and optimization.

If the video above does not work, here is a direct link to a tutorial how to use NMF.

NuGet Packages

There are a range of NuGet-packages available that bundle some of the functionality of NMF. These packages are potentially more stable than the source code, but may not contain the latest features of NMF. The packages are:

  • NMF-Expressions Downloads: Contains the NMF library for incremental computation. This package has no other dependencies and can even be used independently of the modeling framework.
  • NMF-Repository Downloads: Conatins the repository management of NMF (depends on NMF-Expressions)
  • NMF-Basics Downloads: Contains the latter two plus a code generator to generate model representation code from any Ecore or NMeta metamodel. The code generator integrates with the Nuget Package Console.
  • NMF-Expressions-Utilities Downloads: Contains some utility classes for NMF Expressions such as dictionary of incremental values
  • NMF-Transformations Downloads: Contains the model transformation language NTL used in NMF
  • NMF-Synchronizations Downloads: Contains the incremental, uni- and bidirectional model transformation language NMF Synchronizations

Tutorials

  • NMF Introductory video
  • NMF Transformations
  • NMF Synchronizations

Besides, there is a range of solutions to various cases of the Transformation Tool Contest (TTC). They can serve to describe how to solve specific problems using NMF and each come with a GitHub repository that includes the code. Further, the journal publications contain rich documentation on select topics. Lastly, the PhD thesis of Georg Hinkel is probably the richest documentation available.

Detailed Project information

Detailed project information to the sub-projects of NMF can be found on the wiki pages to these projects:

  • Models
  • Transformations
  • Expressions
  • Synchronizations
  • Optimizations
  • Interop
  • Collections

Publications

The publications about NMF are available on a separate section

Roadmap

At the moment, the lack of documentation is the biggest hurdle, so work in the near future will go either into resolving issues or adding documentation. Any help here is welcome! Further points of development will be a benchmark of the parallel change propagation and testing of dynamic deep modelling support.

NMF has been the PhD project of Georg Hinkel. Further development is done at the moment rather as kind of a hobby.

Contribute

Developers are dear welcome to contribute to NMF in various ways. Please just write an Email to Georg Hinkel.

  • Edit this page
In this article
Back to top Generated by DocFX