Assume Guarantee Contracts