System Verification by Model Checking