Synthesizing Visual and Action Routines Using Constraint Programming

A diagrammatic problem-solver requires a library of visual routines (VRs) and action routines (ARs) - the VRs are used to obtain information of specified types from the diagram and ARs to modify the diagram in specified ways. The VRs/ARs required are unbounded - a new domain may call for new perceptions and actions. We report on progress on our research in building an automated VR/AR synthesis system that would take as input the definition of a new routine in terms of existing routines in the library and well-defined mathematical/logical constraints and synthesize the program for the desired routine using constraint programming. We illustrate the ideas by means of an example.