A computer-implemented method of generating executable code for performing desired functionality by implementing a component combination, the component combination being based on the desired functionality and using a combination of components, each component embodying a respective data manipulation service to be performed by a component processing system, such that the component combination defines a sequence of data manipulations, the method including, in a processing system: a) determining from the component combination; i) components to be implemented; and, ii) connections between respective ones of the components; b) for each component, generating a component request, requesting the implementation of the component, the component request including connection data representing any required connections; c) transferring the component requests to component processing systems, each component processing system being adapted to implement one or more respective components, thereby causing at least some of the component processing systems to communicate using the connections between components and generate executable code fragments, at least two of the components communicating to determine a context, one or more of the executable code fragments being generated at least partially based on the determined context, wherein the context includes at least one of: i) a state of at least one of a memory, stack and registers of a processing system; ii) an allocation of at least one of the memory, stack and registers; iii) a location where the generated executable code fragment is to be placed; iv) other components in the defined component combination; v) agreements with other components in the defined component combination; and, vi) random factors; d) receiving the executable code fragments from the component processing systems as a result of the component processing systems performing the sequence of data manipulations defined by the component combination; and, e) concatenating the executable code fragments to form the executable code, which when executed by a suitable processing system causes the processing system to perform the desired functionality; wherein at least two of the components negotiate to determine the context, wherein the context includes one or more common negotiation positions determined as a result of the negotiation. a) determining from the component combination; i) components to be implemented; and, ii) connections between respective ones of the components; i) components to be implemented; and, ii) connections between respective ones of the components; b) for each component, generating a component request, requesting the implementation of the component, the component request including connection data representing any required connections; c) transferring the component requests to component processing systems, each component processing system being adapted to implement one or more respective components, thereby causing at least some of the component processing systems to communicate using the connections between components and generate executable code fragments, at least two of the components communicating to determine a context, one or more of the executable code fragments being generated at least partially based on the determined context, wherein the context includes at least one of: i) a state of at least one of a memory, stack and registers of a processing system; ii) an allocation of at least one of the memory, stack and registers; iii) a location where the generated executable code fragment is to be placed; iv) other components in the defined component combination; v) agreements with other components in the defined component combination; and, vi) random factors; i) a state of at least one of a memory, stack and registers of a processing system; ii) an allocation of at least one of the memory, stack and registers; iii) a location where the generated executable code fragment is to be placed; iv) other components in the defined component combination; v) agreements with other components in the defined component combination; and, vi) random factors; d) receiving the executable code fragments from the component processing systems as a result of the component processing systems performing the sequence of data manipulations defined by the component combination; and, e) concatenating the executable code fragments to form the executable code, which when executed by a suitable processing system causes the processing system to perform the desired functionality;