1. A method for enforcing usage of a canonical model, the method comprising: receiving, by a computing entity, machine-automatable artifacts from a canonical model artifact repository, the machine-automatable artifacts expressing the canonical model using a set of metadata constraints and a set of transformation rules; converting, by the computing entity, the received machine-automatable artifacts into language-specific bindings; and programming, by the computing entity, an application using the language-specific bindings to enforce conformity to the canonical model.