Toolkit for developing constraint-based systems and applications