Abstract:
Techniques and tools for generating test cases for methods or programs with input preconditions are described. For example, after finding feasible control flow paths for a tested method along with each path's associated input conditions, a new program is created which tests these conditions along with the precondition. By analyzing this new program's control flow graph, a class of test cases is found while avoiding inefficiencies created by doing complete searches of paths through the combined control flow graph of the precondition and the method. Additional efficiencies are introduced by partitioning a control flow graph for the precondition into branched and straight sections.
Abstract:
Techniques and tools for generating finite state machines (“FSMs”) for a software system with asynchronous callbacks are described. For example, method invocations in a model of the software system are partitioned into observable and controlled method invocations. The controlled method invocations are those which can be run from a test harness while the observed method invocations are those which are observed asynchronously as they are invoked in the system. An FSM is created with observation and control nodes such that observable transitions are found from observation nodes and controlled transitions are found from control nodes. If a state of the model contains both controlled and observable invocations, a timeout transition is added to the FSM to give an implementation time to come up with an observed method invocation before continuing to controlled invocations.
Abstract:
Methods and apparatus for efficiently implementing a rake receiver which allows for rake receiver elements, e.g., fingers, to be dynamically assigned to antenna elements are described. In at least some embodiments multiple antennas are used. Rake elements are allocated to antennas in a dynamic manner with sets of weights also being assigned dynamically, e.g., based on channel estimates. Rake finger assignment to antenna's is made, in some embodiments, to maximize signal recovery taking into consideration the channel conditions detected by each antenna for the various delays that may be supported. Through the dynamic assignment of rake finger's to antenna's, a single rake finger may be coupled to different antennas at different times allowing for more efficient use as compared to systems where rake fingers are dedicated on a fixed basis to an individual antenna.
Abstract:
An optical navigation device for use with mobile telephones and the like is disclosed, which has a reduced height as compared with current designs. The navigation device comprises a laser such as a VCSEL laser, an exposed user surface and two other surfaces that provide for total internal reflection of the incident laser beam. The surfaces are constructed with shallower than normal angles, preserving the basic functionality of the device while reducing the height.
Abstract:
An apparatus includes an inverter including a high-side switch coupled to a low-side switch, the inverter generating a time-varying drive current from a plurality of drive control signals, a positive rail voltage, and a negative rail voltage wherein controlling the switches to generate the time-varying drive current produces a potential transitory overshoot condition for one of the switches of the inverter; a drive control, coupled to the inverter, to generate the drive control signals and to set a level of each of the rail voltages responsive to a plurality of controller signals; and a controller monitoring one or more parameters indicative of the potential transitory voltage overshoot condition, the controller dynamically adjusting, responsive to the monitored parameters, the controller signals to reduce a risk of occurrence of the potential transitory voltage overshoot condition.
Abstract:
An apparatus includes an inverter including a high-side switch coupled to a low-side switch, the inverter generating a time-varying drive current from a plurality of drive control signals, a positive rail voltage, and a negative rail voltage wherein controlling the switches to generate the time-varying drive current produces a potential transitory overshoot condition for one of the switches of the inverter; a drive control, coupled to the inverter, to generate the drive control signals and to set a level of each of the rail voltages responsive to a plurality of controller signals; and a controller monitoring one or more parameters indicative of the potential transitory voltage overshoot condition, the controller dynamically adjusting, responsive to the monitored parameters, the controller signals to reduce a risk of occurrence of the potential transitory voltage overshoot condition.
Abstract:
There is provided a method of nucleic acid analysis which allows analysis of genetic diversity in multiple populations to be performed rapidly and simultaneously. The method comprises (a) isolating nucleic acid from said sample; (b) providing at least two pairs of labelled primers, wherein each said primer pair is complementary to a marker sequence in a nucleic acid of at least one member; (c) amplifying the nucleic acid; (d) digesting the labelled amplified nucleic acid with at least one restriction enzyme to produce restriction fragments, and size sorting said fragments to produce a restriction fragment length profile, and (e) analysing said restriction fragment length profile so obtained; wherein the primer pairs provided for each marker have a different sequence to the sequence of the primer pairs for each other marker, and wherein each said primer pair is uniquely labelled relative to the other primer pair(s). In one embodiment each primer pair is uniquely labelled at the 5′ end with a fluorophore. The restriction fragments can be conveniently analysed by a DNA sequencer. The method of the invention has the advantage that it allows nucleic acid amplified using multiple marker sequences to be simultaneously analysed.
Abstract:
Novel tools and techniques to optimize, from a merchant's perspective, the outcomes of interactions between the merchant and its customers (whether existing, new, or potential customers). In an aspect, certain embodiments allow for multiple variations of options (multivariate or A/B testing) and outcomes which can be statistically applied and then measured and analyzed for best economic impact or preferred outcome.
Abstract:
Modeling protocols. A method includes accessing a number of model programs. Each model program includes computer-executable instructions. The computer-executable instructions describe the behavior of at least one of another program, system, or component. Model programs may be disjointed in that they have independent meaning or dependent in that they include at least one of a state variable, action, or precondition that is dependent on another model program to impart meaning to the model program. An output model program is composed by unification including substituting state variables into another of the model programs without executing the model programs. Traces are generated from the output model program. Each of the traces includes a path of labels. The labels describe actions of the output model program from an initial state to an accepting state where a run is allowed to stop. The traces are output to a user.
Abstract:
Provided is a method of attaching a substance to a surface, which method comprises contacting a surface comprising amine reactive groups with a substance labelled with a peptide tag such that the substance is covalently attached to the surface via the peptide tag, wherein the peptide tag comprises one or more histidine residues, one of which is a terminal histidine residue having a free N-terminal amino group. Also provided is a method of processing or analysis which comprises a method of attaching a substance to a surface as detailed above and comprises one or more further steps of processing or analysing the substance. The present invention further provides a method of processing or analysis comprising the steps of: a) attaching a substance to a surface by a method as defined above b) contacting the surface with a sample comprising an analyte in order that the analyte in the sample binds to the substance attached to the surface; and c) processing and/or analysing the analyte