How To Simulate Software