1. A method for creating and executing a computer workflow, comprising the steps of: (a) defining a plurality of executable components based on an input, an output, metadata and a sub-interpreter, each of said executable components representing a computer-implemented computational process that is performed on one or more inputs to the executable component and that generates one or more outputs based on a predefined computational algorithm; and (b) providing a graphical user interface that allows a user to visually create the computer workflow on a user display by selecting from a library of said executable components, and graphically connecting one or more input terminals of selected executable components with one or more output terminals of second selected executable components; wherein, for each selected executable component, the one or more input terminals graphically correspond to the one or more inputs to the predefined computational algorithm associated with the executable component, and the one or more output terminals graphically correspond to the one or more outputs generated by the predefined computational algorithm associated with the executable component; wherein at least one selected executable component comprises a splitter component having one or more splitter input terminals that graphically correspond to a splitter input to a splitter algorithm associated with the one splitter component, each splitter input terminal receiving its splitter input at a single splitter input time, and one or more splitter output terminals that graphically correspond to a splitter output generated by the splitter algorithm associated with the splitter component, said splitter output terminals producing splitter output at a plurality of splitter output times; said splitter output comprising a plurality of consistent splitter output sets, wherein each splitter output terminal produces a splitter output; said splitter algorithm associated with the splitter component generating the consistent splitter output sets in a specific order by operating on the splitter input, wherein each consistent splitter output set flows separately downstream to one or more other selected executable components; wherein, for each of the splitter components, there is at least one joiner component associated with the splitter component having one or more joiner input terminals that graphically correspond to a joiner input to a joiner algorithm associated with the joiner component, each joiner input terminal receiving joiner input at a plurality of joiner input times, and one or more joiner output terminals that graphically correspond to a joiner output generated by the joiner algorithm associated with the joiner component, said joiner input comprising a plurality of consistent joiner input sets, wherein each joiner input terminal receives a joiner input; wherein, for each of the consistent splitter output sets generated by the splitter algorithm associated with the associated splitter component, exactly one consistent joiner input set arrives at the joiner input terminals of the joiner component; and wherein, the joiner algorithm associated with the joiner component produces a single joiner output at its joiner output terminals upon completed execution of said joiner algorithm, the joiner output terminals producing the joiner output at a single joiner output time.