A method for situation management includes specifying a composite event as a combination of two or more predefined component events and defining a rule, which causes a reaction to be invoked upon an occurrence of the composite event subject to a given condition. When at least first and second instances of the component events are received before invoking the reaction, the first instance is evaluated subject to the condition, so as to determine whether the first instance can satisfy the rule, before evaluating the second instance. Responsive to evaluating the first instance subject to the condition, it is determined that the composite event has occurred, and the reaction is invoked.
A method and system for scheduling event transactions each having a respective time stamp, for use in an event-driven application. Possible time dependencies among events are resolved according to predetermined event rules associated with the events so as to allow determination as to when the event transactions may be processed. This allows the event transactions to be dispatched to distributed processors for concurrent processing.
A method for managing expressions includes receiving a first query that includes a first conditional expression. The first expression is then represented as data in a column of a table. A second query is received that specifies a first set of criteria, and the second query is executed to select data based at least on whether expressions in the column satisfy the first set of criteria. In an embodiment, the second query further specifies a second set of criteria, wherein executing the second query includes selecting data based on whether data in columns other than the expression column satisfy the second criteria. A special index is defined, which can be created on the column that stores the expressions as data, to filter large sets of expressions efficiently. A method of evaluating an expression set stored as data in a table classifies each predicate from each expression, and filters the expression set based on the predicate classification.
A method of comparing products is disclosed. The method includes selecting a first configuration representing a first product with a first attribute, selecting a second configuration representing a second product with a second attribute, and displaying the first attribute and the second attribute. As will be noted, the first attribute is defined in the first configuration, and the second attribute is defined in the second configuration.
First data that represents a level associated with an element within an expression, such as an XPath expression, is generated from the expression, and stored in one or more columns of a table. Second data that represents a condition on an attribute of the element is generated from the expression, and stored in one or more columns of the same or a different table. A plurality of expressions can be processed as such, and a determination made whether any of the expressions match with a given hierarchical data item, such as an XML document, that includes a value that corresponds to an attribute that is associated with an element that resides at a particular level within the data item. Such determination is made based on whether the particular level matches the first data and the value satisfies the second data associated with a given expression.
A computer system provides product selections to a user according to a needs analysis. A database stores pre-generated product configurations and product configuration information. The product configuration information includes product features and product rules governing allowable combinations of the product features. Received product related data can include different types of information such as attribute information and product identifier information. The received product related data is processed to determine the type of received information. If the type is attribute information, the received product related data is filtered in accordance with the product configuration information and one or more product configurations that meet requirements of the received attribute information is identified. If the type is product identifier information, one or more of the pre-generated product configurations that corresponds to the received product related data is identified. Each identified product configuration and each identified pre-generated product configuration is provided to the user.