Extending Social Logic Programming To Represent Cooperative Work With Flexible Requirements