Domain Specific Embedded Languages and Model Driven Engineering