Patent ID: 8122431

Claim:
A data processing device comprising: a processing unit configured to cooperate with a database, the database including data tables; and a graphical user interface configured to allow a user to input a mathematical expression, wherein the processing unit includes, a mathematical expression editor configured to establish a current software representation of the mathematical expression in interaction with the graphical user interface, the mathematical expression being in natural mathematical language and including at least one multi-valued mathematical variable symbol having an index and/or an exponent, and a mathematical aggregative symbol for operation with the at least one multi-valued mathematical variable symbol, a symbol dictionary configured to store first metadata related to the at least one multi-valued mathematical variable symbol, and comprising information as to a structure of tables in the database, a condition editor configured to produce a condition expression, associated to the at least one multi-valued mathematical variable symbol, the condition expression being operable in conjunction with the first metadata for selecting a subset of data in the database, and a request generator configured to process the current software representation to produce a code sequence executing the mathematical expression according to rules of the natural mathematical language and, upon recognition of the mathematical aggregative symbol and the at least one multi-valued variable symbol with which it operates, to use the condition editor to produce a current condition expression, to use the first metadata to produce code capable of using the current condition expression to fill a working data array with said subset of data, and to combine an operator corresponding to the mathematical aggregative symbol with the working data array.