A computing system for applying a rule to data from one or more data sources, the computing system including: an input device or port configured to receive data from a first data source and at least one processor configured to process a plurality of data units (450, 552, 654, 754, 850, 952) derived at least in part from the data received from the first data source in a selected one of at least two different modes of applying the rule, the modes including: a first mode in which the data units (450, 552, 654) are received in a particular order and processing the data units includes, for each of at least some of the data units, writing an updated value to at least one state variable based on a result of applying the rule to the data unit and a second mode in which a selection of a particular data unit of the plurality of data units is received and processing the particular data unit includes: determining a first set of data units (850, 952) that includes an ordered subset of data units from the plurality of data units, each data unit included in the ordered subset occurring before the particular data unit in the plurality of data units, prior to applying the rule to the particular data unit, updating at least one state variable to a state that would result from processing the first set, which includes the ordered subset of data units from the plurality of data units, in the first mode, and applying the rule to the particular data unit, wherein an updated value of the state variable is used in the application of the rule to the particular data unit. an input device or port configured to receive data from a first data source and at least one processor configured to process a plurality of data units (450, 552, 654, 754, 850, 952) derived at least in part from the data received from the first data source in a selected one of at least two different modes of applying the rule, the modes including: a first mode in which the data units (450, 552, 654) are received in a particular order and processing the data units includes, for each of at least some of the data units, writing an updated value to at least one state variable based on a result of applying the rule to the data unit and a second mode in which a selection of a particular data unit of the plurality of data units is received and processing the particular data unit includes: determining a first set of data units (850, 952) that includes an ordered subset of data units from the plurality of data units, each data unit included in the ordered subset occurring before the particular data unit in the plurality of data units, prior to applying the rule to the particular data unit, updating at least one state variable to a state that would result from processing the first set, which includes the ordered subset of data units from the plurality of data units, in the first mode, and applying the rule to the particular data unit, wherein an updated value of the state variable is used in the application of the rule to the particular data unit. a first mode in which the data units (450, 552, 654) are received in a particular order and processing the data units includes, for each of at least some of the data units, writing an updated value to at least one state variable based on a result of applying the rule to the data unit and a second mode in which a selection of a particular data unit of the plurality of data units is received and processing the particular data unit includes: determining a first set of data units (850, 952) that includes an ordered subset of data units from the plurality of data units, each data unit included in the ordered subset occurring before the particular data unit in the plurality of data units, prior to applying the rule to the particular data unit, updating at least one state variable to a state that would result from processing the first set, which includes the ordered subset of data units from the plurality of data units, in the first mode, and applying the rule to the particular data unit, wherein an updated value of the state variable is used in the application of the rule to the particular data unit. determining a first set of data units (850, 952) that includes an ordered subset of data units from the plurality of data units, each data unit included in the ordered subset occurring before the particular data unit in the plurality of data units, prior to applying the rule to the particular data unit, updating at least one state variable to a state that would result from processing the first set, which includes the ordered subset of data units from the plurality of data units, in the first mode, and applying the rule to the particular data unit, wherein an updated value of the state variable is used in the application of the rule to the particular data unit.