model driven development separation of concerns 3878190