APPLYING MODEL DRIVEN TECHNIQUES TO EMBEDDED SYSTEMS