An interactive transaction model for distributed cooperative tasks