Representing and monitoring social commitments using the event calculus