A Perspective of Constraint-Based Reasoning