A computing system including: a storage system, a compiler, and one or more computing nodes; wherein the storage system stores a first graph-based program specification; wherein said first graph-based program specification includes components (210A, 210B) and directed links (222A, 224A, 226A) between ports (212A, 214A, 216A, 218A) of the components; wherein each of the components of the first graph-based program specification corresponds to a task; wherein each port has a type, said type being a collection input port, a collection output port, a scalar input port, a scalar output port, a control input port, or a control output port; wherein the first graph-based program specification further includes first and second types of link configuration; wherein a type of a link configuration is defined by the types of ports that said link configuration connects, wherein said first and second types of link configuration differ from each other; wherein said compiler is configured to use the first graph-based program specification to generate a target program specification for execution by a computing platform; wherein said compiler is configured to generate said target program specification by identifying execution sets (570, 571) of the first graph-based program specification and providing, in the target program specification, one or more occurrences of a target primitive for executing a function corresponding to an identified execution set for each occurrence of a data element flowing over a link having the second type of link configuration; wherein a target primitive identifies a function corresponding to a set of one or more tasks and identifies a collection of data elements corresponding to a link having the second type of link configuration; wherein identifying execution sets comprises placing a pair of linked components in the same execution set if the linked components are connected by a link between ports of the same type; and wherein said one or more computing nodes, each including a processor, is configured to initiate execution of the target program specification and to determine at runtime, for one or more components associated with the one or more occurrences of the target primitive, at least one of: an order in which instances of tasks corresponding to the components are to be invoked, and/or a computing node on which instances of tasks corresponding to the components are to be executed. a storage system, a compiler, and one or more computing nodes; wherein the storage system stores a first graph-based program specification; wherein said first graph-based program specification includes components (210A, 210B) and directed links (222A, 224A, 226A) between ports (212A, 214A, 216A, 218A) of the components; wherein each of the components of the first graph-based program specification corresponds to a task; wherein each port has a type, said type being a collection input port, a collection output port, a scalar input port, a scalar output port, a control input port, or a control output port; wherein the first graph-based program specification further includes first and second types of link configuration; wherein a type of a link configuration is defined by the types of ports that said link configuration connects, wherein said first and second types of link configuration differ from each other; wherein said compiler is configured to use the first graph-based program specification to generate a target program specification for execution by a computing platform; wherein said compiler is configured to generate said target program specification by identifying execution sets (570, 571) of the first graph-based program specification and providing, in the target program specification, one or more occurrences of a target primitive for executing a function corresponding to an identified execution set for each occurrence of a data element flowing over a link having the second type of link configuration; wherein a target primitive identifies a function corresponding to a set of one or more tasks and identifies a collection of data elements corresponding to a link having the second type of link configuration; wherein identifying execution sets comprises placing a pair of linked components in the same execution set if the linked components are connected by a link between ports of the same type; and wherein said one or more computing nodes, each including a processor, is configured to initiate execution of the target program specification and to determine at runtime, for one or more components associated with the one or more occurrences of the target primitive, at least one of: an order in which instances of tasks corresponding to the components are to be invoked, and/or a computing node on which instances of tasks corresponding to the components are to be executed.