A method of facilitating the development of a computer program for execution on a parallel processing system, each said computer program comprising instances of ones of a predetermined set of program components, each program component being adapted to control said parallel processing system to perform an associated predetermined type of processing operation, from program component prototype information for each of said program components in said predetermined set, said program component prototype information including information for controlling said parallel processing system to perform the associated predetermined type of parallel processing operation and, for at least one of said types of program component, customizable information identifying at least one customizable feature of the associated program component, the computer program development method comprising the steps of:
- A. enabling a user interface adapted to be used by said program developer to select and link together program components from said predetermined set thereby to generate program component instance selection information and program component linking information, thereby to establish a dataflow graph which identifies an order in which processing operations defined by said program components are to be applied to data input thereto,
- B. storing program component instance selection information identifying particular ones of said program components which are instantiated for a computer program and program component linking information identifying the processing order for said program components defined by the dataflow graph, and program component customization information for at least some of said program components which are instantiated, and
- C. a program generating step of (i) generating a program executable by said parallel processing system in response to (a) said program component prototype information from said component information repository, and (b) said program component instance selection information, said program component linking information and said program component customization information in said program object repository, and (ii) performing a program verification operation and generate error information in response to an error indication during said program verification operation.