**5.2 Design with simulation**

When designing the executable specification, the system engineer generally does not keep the implementation details in mind, but rather designs the algorithm to match the behavioral requirements for the system. Once the system engineer submits the executable specification to the development team, the team may need to make modifications to it in order to fit the design into a real world that may have limited resources, such as memory or processing power. These modifications may cause the output of the new design to deviate from the original design. Design engineers should decide if the deviation is acceptable. In this section, modifications in the controlling algorithms will be done to make it suitable for hardware implementation and demonstrate how to continuously verify the design against the executable specifications. For example, if the designers need to change the controlling algorithm to meet the requirements, MBD method provides an environment where the designer can redesign the control algorithms and validate it in very short time comparing to traditional method of design (Ming-Shan, 2007).
