Primmel is the public successor to MMEL (Multi-Modal Modelling Language), a domain-specific modelling language developed jointly by Ribose and BSI for the BSI SMART programme and now adopted as the basis of OIML SMART for legal metrology certification.
Primmel unifies data modelling, process modelling, compliance tracking, quantitative measurement, and cross-model mapping into a single executable notation. The same model serves as a referenceable standard, an executable programme, and an audit target.
| Part | Covers |
|---|---|
| Specification | Core language reference: identifiers, file types, syntax, formal grammar |
| Data model | Classes, enumerations, data registries, field types, cardinality |
| Process model | Processes, events, gateways, subprocesses, approvals |
| Compliance | Provisions, modality keywords, references, notes |
| Measurement | NUMERIC, DATALIST, DERIVED, TABLE_REFERENCE; validation expressions |
| Mapping | Cross-model alignment,
.map
files, coverage |
| Documentation | Tables, figures, multimedia, term entries |
| Terminology | Multilingual term definitions |
| Workspace and runtime | Workspace state files (
.sws
), runtime data flow |
| Authoring guide | How to author Primmel models |
| Methodology guide | How to model standards with Primmel |
The
examples/
directory in the source repository holds fictional, anonymised
Primmel artifacts that demonstrate each language primitive. The reading order
and per-example explanations are in
examples/README.adoc
.
This specification is developed in the open at github.com/primmel/spec .