making a process tree

How can I make a process tree?
The tree must have X rows and each process must have Y sons.
All the processes must comunicate with their fathers.
Can anyone help me with that?

just more info about my problem:
if i just use some For commands and fork i get a lot of extra (unwanted) sons in my tree. I finally made the tree look correct by stopping alll the sons after they are created by using SigStop but that doesn't help me because i can't get back into those sons in order to make them communicate with each other.
I couldn't find any other way around that so i'm kinda of stuck.