The architecture and design of a malleable object-oriented prolog engine. - Giulio Piancastelli; Alex Benini; Andrea Omicini; Alessandro Ricci (SAC, 2008)