Patent ID: 7644412

Claim:
A method of executing a computer algorithm in an execution environment, comprising: executing an algorithm module encapsulating said computer algorithm except at least one execution environment dependent communication operation of said algorithm in said execution environment; executing a communication module encapsulating said at least one execution environment dependent communication operation of said algorithm in said execution environment, such that said at least one execution environment dependent communication operation is available to said algorithm module; providing a different communication module encapsulating another execution environment dependent communication operation of said algorithm suitable for a second execution environment while maintaining said algorithm module when said algorithm is being executed in said second execution environment; and instantiating at least one data object for encapsulating data communicated between said algorithm module and a communicating partner via said communication module or said different communication module during execution of said algorithm, wherein said at least one execution environment dependent communication operation or said another execution environment dependent communication operation is executed on at least one of the instantiated data object, each one of said at least one data object being an instance of a data class.