Model Validation

Moxie provides a model validation report to help you identify errors in your opaque expressions before you execute the entire simulation. When you generate this report, Moxie runs a validation process against the state machines in your model and presents you with a list of detected errors and warnings, including the IDs of the offending SysML elements. You can then copy and paste those IDs into Moxie's element locator utility to highlight those elements in the Containment Tree of your No Magic modeling tool. You can find both the Model Validation Report and the Element Locator utility in the Moxie menu in your modeling tool.

Example error

Consider the following block and state, which have an intentional error.

Figure 1: An error in a balloon operator model

Can you spot the error? Feel free to compare the block and state in Figure 1 to their correct versions in the hot air balloon ride example. With a bit of time and effort, you could find it for this small example, but what about for a much more complicated model? You can save yourself the time and effort of scouring your model, or of running a simulation only for it to fail part way through, by simply running a model validation report.

Figure 2: The model validation report for the balloon operator error

The report in Figure 2 shows that the author of the state machine made an error in the name for the isOperating property, incorrectly calling it isOperation. Typos like this, miscommunications between authors of different sections, or changes in design are all common sources of errors. You should use the model validation report early and often to identify such errors, so you can alleviate them before they can cascade into larger problems.