Glossary
The terms the paper uses, from its Appendix B.
- Aperture
- The level of detail at which a description operates. High aperture covers capabilities, workflows and contracts. Low aperture covers what one specific screen does with what validation.Used in section 8
- Capability SKU
- A priced unit of domain capability that a customer's domain document can use. A composite SKU is a pre-assembled combination of capabilities, priced as a package.Used in section 4
- Compilation target
- The artefact the language compiles into. For an overlay on an existing product this is a configuration, an API call sequence or a data load that the product already accepts.
- Dialect engineering
- The practice of defining a domain language over a product's invariants so that each customer's business rules are written as that customer's own dialect of it, checked by the grammar and functional tests. It governs change above the multi-tenancy line, as semantic engineering governs change below it.
- Grammar
- A formal definition of the valid constructions of a language, which a parser enforces.Used in section 7, section 9, section 10, section 11, section 12, section 13, section 14, section 15, section 16
- Language Server Protocol
- The standard by which an editor obtains completion, diagnostics and navigation for a language. A custom language that publishes one gets editor and agent support without bespoke tooling.Used in section 9, section 10
- Language workbench
- A toolkit for defining a language and generating its parser, validator and editor support. MPS, Xtext, Spoofax, Rascal, Langium.Used in section 9
- Multi-tenancy line
- The layer in a product's stack above which everything varies per customer and below which everything is shared.
- Overlay
- A language layer above a product that compiles to interfaces the product already exposes, requiring no change to the product.Used in section 13