Declarative, Constraint-based, Domain-Governed Data Generation for Education