One of the most common objections to adoption of Model-Based Design is “I can write that code more efficiently.” My answer to that statement has been the same for 20+ years:
- An exceptional programer can write more efficient code
- The average programer will not
- There is an opportunity cost when your best programers are working on “day-to-day” tasks.
On average, the generated code will be better then the handwritten code and your controls and software engineers will have more time for the tasks beyond coding.
Consistency is the key
When I wrote the last header I had an “off-by-one error”;(1) my fingers were shifted over on the keyboard and I wrote: “cpsostemceu os ,pmarcj.” This error was easy to spot, but an actual “off-by-one” can be hard to see.
This is where Model-Based Design shines; automated code generation will not make typological errors and it provides a simulation environment in which to see design errors.
Training and patterns (guidelines) for success
It is still possible to have design errors when working in the Model-Based Design environment; these arise from developers incorrectly using a block or having incorrect settings for the model. These errors can be avoided through the use of modeling guidelines (MAAB) and detected through he use of Simulation. In the meantime consider taking a course to better understand the MBD workflows.
- Off by one errors explained: