1. A computer-readable medium encoded with a computer program comprising instructions that, when executed, operate to cause a computer to perform operations comprising: providing a first workflow associated with only a first party, the first workflow including a first plurality of actual tasks; generating a first workflow view representing an abstracted first workflow different from and based on the first workflow, the first workflow view including a first virtual task as an abstraction of the first plurality of actual tasks, and expressing the first virtual task as a first vertex within a first workflow view matrix; providing a second workflow associated with only a second party, the second workflow including a second plurality of actual tasks; generating a second workflow view representing an abstracted second workflow different from and based on the second workflow, the second workflow view including a second virtual task as an abstraction of the second plurality of actual tasks, and expressing the second virtual task as a second vertex within a second workflow view matrix; generating a third workflow view based on the second workflow and including a third virtual task as an abstraction of the second plurality of actual tasks, the third virtual task being different than the second virtual task; generating a first coalition workflow view referencing the first workflow view and the second workflow view to provide a first collaborative workflow, the first collaborative workflow specifying tasks that the first party and the second party are required to perform; and generating a second coalition workflow view referencing the third workflow view to provide a second collaborative workflow view, the second collaborative workflow specifying tasks that the second party is required to perform wherein generating the first workflow view further comprises: receiving a first user input selecting one of the first plurality of actual tasks that the user intends to be maintained as private; when the selected actual task comprises a type split task, traversing the first workflow in two directions to find two type join tasks one task in each direction; when the selected actual task comprises a type activity task, traversing the first workflow in two directions to find two adjacent tasks, one task in each direction; identifying a respective path from the selected actual task to each of the type join tasks or each of the adjacent tasks; providing one or more of the paths as possible user selections; receiving a second user input selecting one of the paths, the selected path including at least the selected one of the first plurality of actual tasks; and abstracting the selected path in the first workflow view.