model driven software development excercises