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

Joeri Exelmans 1d03337a61 update readme 6 mēneši atpakaļ
api 3ddfc96532 add renderer for Port + Petri Net + traceability 8 mēneši atpakaļ
bootstrap 1eb8a84553 (WIP) implementing CBD language... Meta-meta-model: Association inherits from Class. Matcher accepts pivot. Add generic graphviz renderer. 9 mēneši atpakaļ
concrete_syntax 200f2a3ede add jinja2-based renderer for object diagrams 7 mēneši atpakaļ
examples 200f2a3ede add jinja2-based renderer for object diagrams 7 mēneši atpakaļ
framework 9c68b288c1 Make OD-API for consistent for constraints, LHS patterns, RHS actions. 9 mēneši atpakaļ
services 9883e09ac2 merging (meta-)models works (but it's dirty!) 8 mēneši atpakaļ
state 9883e09ac2 merging (meta-)models works (but it's dirty!) 8 mēneši atpakaļ
transformation 6aa5302e36 rewriter: extra check to see if produced names are valid (meaning: serializable/parseable) 8 mēneši atpakaļ
util 6314506ac0 parser prints line numbers AND gives an error if you use anonymous objects/links in LHS of a rule 8 mēneši atpakaļ
.gitignore 5240c7e21a Add petrinet language 8 mēneši atpakaļ
README.md 1d03337a61 update readme 6 mēneši atpakaļ
requirements.txt 200f2a3ede add jinja2-based renderer for object diagrams 7 mēneši atpakaļ

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)