Text this: Constraint satisfaction techniques for agent-based reasoning