A mediation system for processing event records according to a predefined logic, wherein an event record is a data record that indicates that an event has occurred and contains detailed information about the event, the event being a transaction occurring in a communications network, the mediation system comprising interfaces with network elements of the communication network for collecting usage data from the communication network, means for delivering usage data to an operation and business support system of an operator, and at least one node comprising a system for processing event records that is adapted to aggregate, correlate, enrich, validate, format, and/or rate the data in the event records so that the data is readable by the operation and business support system of the operator, characterized by the system for processing event records comprising: data field arrays for storing data under processing in the system, the data field arrays containing data fields for storing values of the parameters needed in the predefined logic, data fields for storing values read from a data record under processing, and data fields for writing output of functions needed in the predefined logic, wherein the data fields are stored into a first and second array, the first array containing integers and the second array containing strings, a logic definition structure comprising: - a parameter array containing pointers to the data fields for storing values of the parameters needed in the predefined logic, - a function code set containing program codes for performing the functions needed in the predefined logic, and - a series of byte code instructions built by a compiler from a file containing the predefined logic, wherein each byte code instruction contains: - a function pointer pointing to a function code (10, 11, 12) in the function code set to be used in the execution of the instruction, - a number of parameters, and - a pointer-to-parameters that points to a first of a sequence of parameter pointers in the parameter array that are needed in the execution of the instruction, and a logic execution means configured to process event records according to the predefined logic by executing a sequence of byte code instructions contained in the logic definition structure, each byte code instruction being executed by calling the respective function code (10, 11, 12) in the function code set by means of the respective function pointer and using the respective number of parameters and the respective pointer-to-parameters as function parameters. data field arrays for storing data under processing in the system, the data field arrays containing data fields for storing values of the parameters needed in the predefined logic, data fields for storing values read from a data record under processing, and data fields for writing output of functions needed in the predefined logic, wherein the data fields are stored into a first and second array, the first array containing integers and the second array containing strings, a logic definition structure comprising: - a parameter array containing pointers to the data fields for storing values of the parameters needed in the predefined logic, - a function code set containing program codes for performing the functions needed in the predefined logic, and - a series of byte code instructions built by a compiler from a file containing the predefined logic, wherein each byte code instruction contains: - a function pointer pointing to a function code (10, 11, 12) in the function code set to be used in the execution of the instruction, - a number of parameters, and - a pointer-to-parameters that points to a first of a sequence of parameter pointers in the parameter array that are needed in the execution of the instruction, - a parameter array containing pointers to the data fields for storing values of the parameters needed in the predefined logic, - a function code set containing program codes for performing the functions needed in the predefined logic, and - a series of byte code instructions built by a compiler from a file containing the predefined logic, wherein each byte code instruction contains: - a function pointer pointing to a function code (10, 11, 12) in the function code set to be used in the execution of the instruction, - a number of parameters, and - a pointer-to-parameters that points to a first of a sequence of parameter pointers in the parameter array that are needed in the execution of the instruction, - a function pointer pointing to a function code (10, 11, 12) in the function code set to be used in the execution of the instruction, - a number of parameters, and - a pointer-to-parameters that points to a first of a sequence of parameter pointers in the parameter array that are needed in the execution of the instruction, and a logic execution means configured to process event records according to the predefined logic by executing a sequence of byte code instructions contained in the logic definition structure, each byte code instruction being executed by calling the respective function code (10, 11, 12) in the function code set by means of the respective function pointer and using the respective number of parameters and the respective pointer-to-parameters as function parameters.