Ability and knowing how in the situation calculusFoundations of a logical approach to agent programmingModeling dynamic domains with ConGologSpecifying communicative multi-agent systems