Condition Class
Provides conditions that can control the exploration of a rule, such as whether the rule is enabled and which parameter values can be generated for the rule.
Namespace: Microsoft.Modeling
Assembly: Microsoft.Xrt.Runtime (in Microsoft.Xrt.Runtime.dll)
Usage
'Usage
Syntax
'Declaration
public static class Condition
Example
The following example contains a rule for an AddJob
action in a model program. The rule is enabled if the time parameter of the AddJob
action is a multiple of 60.
[Rule]
static void AddJob(string name, int time, Frequency frequency)
{
Condition.IsTrue(time % 60 == 0);
// Add state modification code here.
}
Remarks
Spec Explorer evaluates conditions as part of exploration. A rule describes a transition between states for a given action. Spec Explorer does not generate a transition for a rule for the current state and a given parameter combination if it encounters in the execution path of the rule any condition that is not satisfied.
If the context in which this action is explored has caused a state variable or action parameter to have a concrete value, Spec Explorer uses the concrete value in a condition to determine whether a rule should be added as a step in the exploration. If a state variable or action parameter contains a symbolic value, Spec Explorer generates the step and adds a constraint to the symbolic value, based on the condition.
If statements that precede a condition in a rule update state, Spec Explorer evaluates the condition against the updated state. However, Spec Explorer only adds the transition and updated state for a rule if all conditions for the rule are met.
This class contains a number of members for controlling exploration, of which the IsTrue(Boolean) method is the most basic. However, the AssertIsTrue method can be used to mark as an error state the target state of a rule, and is provided to help to identify logic errors in a model.
Inheritance Hierarchy
System.Object
Microsoft.Modeling.Condition
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms
Development Platforms
Microsoft Windows 7, Microsoft Windows Vista, Microsoft Windows XP SP2 or later, Microsoft Windows Server 2008, Microsoft Windows Server 2003
Change History
See Also
Reference
Condition Members
Microsoft.Modeling Namespace
Combination Class