simulation-driven design