A Logic Programming Framework for Component-Based Software Prototyping