Best practices for Model Handoffs

Handing a model off between developers, or from developer to user, is one most common tasks in Model-Based Design.  So what steps should you follow to insure that the hand-off is successful?

Image result for steps

Step 0: Agree upon the requirements

A few weeks ago I made muffins, lemon poppy-seed; while my wife was happy to receive the muffins she had requested chocolate-chip muffins, a classic requirement error.

Image result for muffins

In the much simpler world of model hand off the following items need to be defined

  • The functional interface: inputs, outputs and rate of execution
  • Behavioral characteristics: what behaviors does the model cover; what are the “corner cases” that it does not cover.
  • Supporting files: most models require models, libraries and data. For parameterized models the same “model” will act  differently with different data.
  • Acceptance criteria: a set of defined metrics that define what is required; these should be derived from the behavioral characteristics.

Step 1: Model validation

Assuming you have acceptance criteria the model validation is the process of validating the model against the criteria.  Ideally the methods for validating the model are established at the start of your project and are run routinely as the model is developed.

Image result for validation coffee
Note: You can be a coffee person and a validation engineer.

Step 2: Wrap it up!

Delivery of the model is important, there is nothing more frustrating then getting your shinny new model only to find out you are missing a library or a data file.  There are several methods for addressing this

  1. Version control software:  If the model is checked in as part of a project the end user can check out the full repository (note: this can result in file bloat)
  2. Use of  Simulink Projects: A tool from the MathWorks that allows for the definition of model projects.  It will analyze the required files for you and create a package for distribution.
Image result for Wrap

If you find this content useful, please consider subscribing

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.