A Module-System Discipline for Model-Driven Software Development