Abstract:
Automatically generating a rule set implementation is disclosed. A set of rules is accessed. For each non-const rule in the set of rules, one or more implication directed acyclic graphs (DAGs) are constructed. The non-const rule directly causes at least one external output or at least one external action. The one or more implication DAGs specify rule conditions, including one or more observable rule conditions. Implication DAGs that are constructed for the set of rules are compiled to obtain a compiled result that is configured to evaluate rule conditions associated with the set of rules and determine one or more actions when at least one of the rule conditions evaluates to true. The compiled result is output.
Abstract:
A plurality of potential fault scenarios are accessed, wherein a given potential fault scenario of the plurality of potential fault scenarios has at least one corresponding root cause, and a representation of the given potential fault scenario comprises a don't care value. An actual fault scenario from telemetry received from a monitored system is generated. The actual fault scenario is matched against the plurality of potential fault scenarios. One or more matched causes are output as one or more probable root cause failures of the monitored system.
Abstract:
Specifications are input, comprising: a plurality of lanes in an environment for a controlled system; a plurality of lane maneuvers associated with the plurality of lanes; a plurality of lane subconditions associated with the controlled system; and a rule set comprising a plurality of rules, wherein a rule in the rule set specifies a rule condition and a rule action to take when the rule condition is satisfied, wherein the rule condition comprises a corresponding set of lane subconditions, and wherein the rule action comprises a corresponding lane maneuver. The controlled system is automatically navigated dynamically, at least in part by: monitoring the plurality of lane subconditions; evaluating rule conditions associated with the plurality of rules in the rule set to determine one or more rules whose corresponding rule conditions has been met; and executing one or more lane maneuvers that correspond to the one or more determined rules.
Abstract:
A first set of subconditions is obtained. Approximate matching of the first set of subconditions against a plurality of sets of subconditions is performed. A second set of subconditions among the plurality of sets of subconditions is accessed, wherein a representation of a subcondition in the first set and/or the second set of subconditions comprises a value having one of a plurality of states, and wherein the plurality of states comprises a state of “don't care”. The first set of subconditions is approximately matched against the second set of subconditions. The first set of subconditions is compared against the second set of subconditions. A matching criterion is determined to be met based on a result of the matching. Information indicating that the second set of subconditions is at least an approximate match for the first set of subconditions is output.
Abstract:
Possible input value combinations of a prediction of an engineered system are iterated over, comprising, for a possible input value combination: selecting an action to perform on the engineered system for the possible input value combination, comprising: performing a plurality of predictions of the engineered system scored by evaluating an objective function associated with the engineered system and using the possible input value combination and a corresponding plurality of actions. The action is selected from the corresponding plurality of actions, the selection being based at least in part on scores of the plurality of predictions. A rule specifying a corresponding set of one or more rule conditions that is met when the possible input value combination is matched and a corresponding action associated with the rule as a selected action is generated. The generated set of rules to be stored or further processed is output.
Abstract:
A programming language is extended to have embedded interpretive types (EIT) that define objects and variables to be resolved at translation time. A variable or data element having a type that is one of the EITs is referred to as an embedded interpretive variable (EIV). A control construct containing an EIV is interpreted (i.e. executed) at translation time.
Abstract:
A method is provided for translating sets of constraint declarations to imperative code sequences based on defining an instantiatable object per set, inserting calls to a notification callback mechanism on state modification and defining calls in the constraint context as imperative code sequences that, in response to these callbacks, take actions to maintain these constraints.
Abstract:
A model comprising a plurality of objects and expected behaviors of the plurality of objects is accessed. Observed behaviors of one or more objects in the model are received, the observed behaviors being obtained by a sensor configured to collect observed behaviors. One or more relationships between at least two of the objects in the model are determined, at least in part by use of a matching mechanism based at least on one or more observed behaviors and one or more expected behaviors. The one or more relationships are output to an actuator configured to take suitable application action.
Abstract:
An inverse mapping rule is generated from a set of forward mapping rules. The set of forward mapping rules is input. A set of output parameters for the inverse mapping rule is determined based at least in part on limiting the set of output parameters to be a subset of parameters for the set of forward mapping rules. A set of input parameters for the inverse mapping rule is determined based at least in part on limiting the set of input parameters to be: output parameters and input parameters of the set of forward mapping rules. The inverse mapping rule is generated for an input value combination. Values of output parameters of the set of forward mapping rules are determined based at least in part on the input value combination and the set of forward mapping rules. A rule consequent of the inverse mapping rule is determined at least in part by resolving values of a specified output parameter from the set of output parameters for the inverse mapping rule from the input value combination. A rule antecedent of the inverse mapping rule is determined at least in part by resolving values of a specified input parameter from the set of input parameters for the inverse mapping rule from the determined values of output parameters of the set of forward mapping rules. The inverse mapping rule is output. Input is received from a sensor. A physical actuator is controlled based at least in part on the inverse mapping rule and the input from the sensor.
Abstract:
A set of input conditions is obtained. A plurality of potential decisions is obtained based at least in part on the set of input conditions. A rule-based system is used to process the plurality of potential decisions and obtain a set of one or more updated potential decisions, wherein: the rule-based system specifies a plurality of rules; a rule specifies a rule condition and a corresponding action, wherein when the rule condition is met, the corresponding action is to be performed; and using the rule-based system to process the plurality of potential decisions includes: for a selected potential decision in the plurality of potential decisions, determining whether the rule condition is met for a selected rule among the plurality of rules, wherein the selected rule condition is dependent on, at least in part, the selected potential decision; and in response to the selected rule condition being met, performing the corresponding action. The set of one or more updated potential decisions to be executed is output.