Have you ever played the game “telephone”? It’s where you have a line of people and starting on one end someone whispers something into someone’s ear. That message is then passed on to the next person and so on and so on. Once it reaches the final person, you may find out that the message was misinterpreted. “Big dog” may have changed to “bed bug”. This is one of the major problems that have plagued software design and something I see on a regular basis. Engineers receive requirements that were already passed down through other people, so the engineer is left to interpret them the best they can. Unfortunately this may not always match up to what was originally needed.
A solution to this problem is to bridge the gap between the engineers and requirement owners. Simulink dashboard testing provides that bridge by giving requirement owners something to easily manipulate which closely resembles the final product. These tests connect directly to reference models so whenever there has been an update to the code, the tests automatically function with the latest changes. These tests can be as complex as adding plant models for things such as an engine or actuator to give realistic results. By having realistic plants communicating with the code and testing with people in different areas of the company we reduce the opportunity for bugs and misinterpretations later on in the design cycle.
The image at the bottom of this post is an example of a Dashboard test. To the left is the model that encases all of the logic done by the engineers. To the right is a dashboard that the engineer put together so that requirement owners can adjust anything they want to make sure the product matches their expectations. To aid in testing the engineers’ models, there are many different blocks that can be used for interaction. The top box of the dashboard shows the various switches – rotary, slider and toggle just to name a few. The output box on the bottom of the dashboard gives requirement owners an easily readable interface that closely resembles gauges on the final product and graphs various outputs.
Simulink dashboards can lower development costs and reduce defects during development by catching them early, as early as the requirements phase.