Model Checking Concurrent and Real-Time Systems: The PAT Approach