Using selective instrumentation

The Advanced Instrumentation Settings window lets you select the specific model elements and element types to be instrumented for animation or tracing in the given configuration. Using this functionality, you can use partial animation or tracing without changing the properties of the specific model elements.

About this task

When you click the Advanced button in the Instrumentation group, the Advanced Instrumentation Settings window opens.

Using this window, you can easily control whether instrumentation is available for model elements, operations, and classes and packages for each configuration. The base model (stored in the development tree) could be non-instrumented: to validate parts of the model, you would simply change the animation settings in this window to enable or disable instrumentation.

The window contains the following fields:

  • Trace determines whether tracing is available for the different model element types (arguments, operations, attributes, relations, and events). This selection is equivalent to setting the Animate properties for the metaclass for the configuration.

    For example, clearing the Operations check box sets the CG::Operation::Animate property for the configuration to Cleared, so animation/tracing does not check operations. You can override this behavior for a specific element by overriding the property at the element level. For example, to monitor operations in a specific package after clearing the Operations check box, set CG::Operation::Animate to Checked for the specific package.

    By default, all model types are selected for instrumentation.
  • Enable Operation Calls specifies whether you can launch operation calls from the Animation toolbar. The possible values are as follows:
    • None means that operation calls cannot be launched.
    • Public means that only public methods can be started.
    • Protected means that only protected methods can be started.
    • All means that all operation calls can be launched, regardless of visibility.
  • Instrumentation Scope specifies which model elements (classes, packages, and actors) to animate. By default, all model elements are selected.

    When the All Elements radial button is selected, the behavior is as follows:
    • Tree control is disabled. Tree control is available when you click Selected Elements.

      The tree view contains all the classes, actors, and packages in the scope of the component whose <lang>_CG::<Metaclass>::Animate property is set to Checked. External elements (UseAsExternal is Checked) cannot be in the scope of the component. When you select a package in this tree, you also select all its aggregated classes and actors.
    • All the elements in the code generation scope are instrumented, unless their Animate property is set to Cleared.

The following table shows how the instrumentation scope and the Animate property determine whether an element is instrumented.

Table 1. How the instrumentation scope and the Animate property determine whether an element is instrumented
Value of the Animate Property Set in the Instrumentation Scope? Will the Element be Instrumented?
Checked Yes Yes
Checked No No
Cleared Yes No
Cleared No No

Note the following behavior:

  • If the Animate property is set to Cleared, it applies to all configurations, regardless of the instrumentation scope.
  • If you change the instrumentation scope, all the source files of the component are regenerated.
  • When you select a class in the package, it is implied that the entire package is instrumented (including all the events, types, and so on) even if the class does not use them.