All the articles pointed me that this is possible in sequential workflow.
Here is the thread which explains the problem, I would no be investing much time to explain the problem http://groups.google.com/group/microsoft.public.sharepoint.portalserver.development/browse_thread/thread/e0beac08110f6135
I downloaded the code sample available at Microsoft site which is basic state machine workflow. Following is the link. http://code.msdn.microsoft.com/SharePoint-2010-Creating-39ac75ea
Modifications to the code are as follows:
- Add a new state at level 2.
- In the state initialization, create two tasks with different Correlation token, task ids and task properties.
- Now add two event driven activity.
- Keep flags for each parallel task
- Added OnTaskChanged event driven activity, On Invoked event updated the associated flag to true.
- Put an IF block and check if all the flags are true, then set state workflow to next state.
I found this easy to implement, though manual code is involved which should be done via a parallel activity.
Code can be downloaded from here.