Hardware In the Loop Implementation and Challenges