Invia SMS: Knowledge-based program construction