Empirical evaluation of uml-based model-driven techniques