Model Based Design: From Requirements to Testing on Hardware