Cyber Physical Systems: features, Applications and Challenges