1. A non-transitory computer readable storage medium to tangibly store instructions, which when executed by a computer, cause the computer to: receive a selection of a process component to connect to a process flow; determine that a graphical editor includes process components associated with the process flow; identify a preferred process component from the process components based on a type of selection of the selected process component, wherein the preferred process component is one of: a process component from the process components within a vicinity of the selected process component; a process component from the process components chosen as the preferred process component; and a previous process component connected to the process flow; determine a type of the selected process component and a type of the preferred process component; determine compatibility of the selected process component with the preferred process component in the graphical editor based on a cardinality of the selected process component, a cardinality of the preferred process component, the determined type of the selected process component and the determined type of the preferred process component; connect the selected process component to the preferred process component on the graphical editor based on the determined compatibility, wherein at least one of the process components and the selected process component comprises upper portions to graphically indicate types selected from a group consisting of data source components, pre-processing components, algorithm components, data preparation components, data writer components and data visualization components, and lower portions to graphically indicate statuses by different shapes and colors on the graphical editor.