Agent-Oriented Programming: From Prolog to Guarded Definite Clauses (Lecture Notes in Artificial Intelligence)