36 lines
1.1 KiB
Markdown
36 lines
1.1 KiB
Markdown
# 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
|
|
- [Repotting the Geraniums](https://ris.utwente.nl/ws/portalfiles/portal/5312315/gtvmt2009.pdf)
|
|
|
|
## 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:
|
|
|
|
* `development` - in this branch, new development will occur, primarily cleaning up the code to prepare for next year's MDE classes.
|
|
* `mde2425` - contains a snapshot of the repo used for the MDE assignments 24-25. This branch should remain frozen.
|
|
|
|
|
|
## 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).
|