Space Cruiser Andrea Cameron November 10, 2021 software architecture hypothetical example of software needed to steer a space cruiser to avoid asteroids