Computational Logic: Logic Programming and Beyond