1. A method for distributed redundant execution of program modules in a distributed system which has at least two processors connected by transmission medium and in which only one version of a program module is present and stored in each of at least two processors, said method comprising the steps of: asynchronously executing, in each of said at least two processors, said program module to produce result data, after receiving an input data message containing input data necessary for the execution; sending, by each of said at least two processors which executed said program module, to at least one destination processor an information message which contains at least both a result data produced by said execution of said program module and said input data utilized during said program module execution, through the transmission medium; and receiving, in said at least one destination processor, said information messages and selecting one of the received information messages as a new input data message based upon both the result data and the input data contained in said received information messages.