small (mu == micro) collection of software components with which to build Modelling Language Engineering (MLE) tools.

robbe af12f3d524 Added some documentation, fixed test and missing schedule 1 月之前
api 9eea3618d0 cleanup the od api interface 1 月之前
bootstrap 1eb8a84553 (WIP) implementing CBD language... Meta-meta-model: Association inherits from Class. Matcher accepts pivot. Add generic graphviz renderer. 9 月之前
concrete_syntax e4ea9a0410 Added ';' required after a global constraint for concistency 1 月之前
examples af12f3d524 Added some documentation, fixed test and missing schedule 1 月之前
framework ec42f74960 Added an eval_context_decorator to allow user defined functions in rules 1 月之前
services 9883e09ac2 merging (meta-)models works (but it's dirty!) 8 月之前
state 9883e09ac2 merging (meta-)models works (but it's dirty!) 8 月之前
transformation fd6c8b4277 Added some documentation, fixed test and missing schedule 1 月之前
util 5e5865d0d5 base_case of len == 0 added (same as Interactive decisionMaker) 3 月之前
.gitignore 5240c7e21a Add petrinet language 8 月之前
README.md 70c53a9aef rename branch 6 月之前
requirements.txt ebfd85a666 A fully working version of the scheduling language with added examples 1 月之前

README.md

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.