MATLAB Answers

Want to remove unused data/event from Stateflow

24 views (last 30 days)
Vivek
Vivek on 14 Feb 2017
Edited: Vivek on 17 Feb 2017
Hi Friends,
I want to remove the data/events declared in Stateflow in model properties (data dictionary) but not used in the logic. I know the M script command to get all the data/event declared in data dictionary but don't know how to find out whether it is used in Stateflow or not.
Is there any particular property to find it out. Please provide your suggestion on how to automate it.

  0 Comments

Sign in to comment.

Answers (1)

Michelle Wu
Michelle Wu on 16 Feb 2017
Stateflow can detect unused data, events, messages, and functions when the corresponding diagnostic is set to 'warning' or 'error'. However, please note that the diagnostic is only performed during a model update of the Stateflow Chart. If a Chart has not changed since a previous model update, the Chart will not be analyzed again, and as such the diagnostics are not shown. Please refer to the following documentation for more information:
It seems that the Stateflow API is not capable of directly removing these unused data or events. The only possible workaround you could try is to first let Simulink detect unused data and events, and then report the diagnostic messages programmatically. Afterwards, you might parse the error messages and remove those accordingly. The following documentation could be helpful:

  1 Comment

Vivek
Vivek on 17 Feb 2017
Thanks. Actually it can be done by obtaining LabelString of all transitions and check the variable name against it. But I'm looking for some simpler solution.

Sign in to comment.

Sign in to answer this question.