Functional Requirements Validation by Transforming Use Case Models Into Abstract State Machines