I am working on writing a software based on c#, winform. The target of the software is to allow user to finish a process design. The process must include many steps, like reading data, check data, output graphics. All these sub step is kind like a object. For easy of use and better visualizaiton, I would like to pre-design the sub step as module and allow use to drag the pre-defined modules into a space and connect them and also compile them to check validity and let them finally run the process.
I found a nice software calld rapidminer which is something having similar module concept I described above. 
as you can see that you could drag some nice math module into central white space and connect them togehter to form a complete modeling process.
How could I create similar function in c# winform software by visual studio?
thanks lot in advance!!!
Using Rehosted Designer to do runtime design of workflow from MS. It is perfect and beautiful.