Tiny (meta-)modeling framework
Find a file
2025-07-23 16:00:42 +02:00
api cleanup the od api interface 2025-06-27 12:15:19 +02:00
benchmark Merge with Robbe's scheduling language 2025-07-23 15:30:32 +02:00
bootstrap commit some long outstanding changes 2025-07-23 13:57:25 +02:00
concrete_syntax Merge with Robbe's scheduling language 2025-07-23 15:30:32 +02:00
examples get rid of outdated examples 2025-07-23 16:00:42 +02:00
framework Merge with Robbe's scheduling language 2025-07-23 15:30:32 +02:00
services fix bytes extraction + give created objects also a name when None is provided (same as links) 2025-02-19 10:45:46 +01:00
state Add test for bytes type 2025-02-05 16:26:30 +01:00
transformation Merge with Robbe's scheduling language 2025-07-23 15:30:32 +02:00
tutorial get rid of outdated examples 2025-07-23 16:00:42 +02:00
util Merge remote-tracking branch 'github/master' into development 2025-07-23 13:59:00 +02:00
.gitignore Add petrinet language 2024-11-21 12:10:28 +01:00
README.md add tutorial on model transformation with pivots 2025-07-23 13:41:28 +02:00
requirements.txt A fully working version of the scheduling language with added examples 2025-06-27 12:21:41 +02:00
TODO.txt add a todo thingy 2025-01-29 16:16:47 +01:00

muMLE

Tiny (meta-)modeling framework.

Features:

  • mostly textual concrete syntax
  • meta-modeling & constraint writing
  • conformance checking
  • model transformation primitives (match and rewrite)
  • rule-based model transformation
  • examples included:
    • Class Diagrams (self-conforming)
    • Causal Block Diagrams language
    • Petri Net language

Dependencies

  • Python 3.?
  • Python libraries:
    • Lark (for textual parsing)
    • Jinja2 (not a hard requirement, only for model-to-text transformation)

Development

The following branches exist:

  • mde2425 - the branch containing a snapshot of the repo used for the MDE assignments 24-25. No breaking changes will be pushed here. After the re-exams (Sep 2025), this branch will be frozen.
  • master - currently equivalent to mde2425 (this is the branch that was cloned by the students). This branch will be deleted after Sep 2025, because the name is too vague.
  • development - in this branch, new development will occur, primarily cleaning up the code to prepare for next year's MDE classes.

Tutorial

A good place to learn how to use muMLE is the tutorial directory. Each file is an executable Python script that explains muMLE step-by-step (read the comments).