In this workshop we will explore embedded, critical software development techniques in a project-centered, hands-on fashion. We will do this with a whole mess of simulated rockets, a handful of brave Kerbonauts and the ambition of landing a Kerbal on the Mun and returning them safely to Kerbin. Using the computer game Kerbal Space Program as a base and with a mod kOS installed to mimic the Apollo Guidance Computer we'll produce flight software sufficient to automate a flight back and forth to the Mun. We'll start the day with a history of the NASA projects to achieve the Apollo Lunar Landing, a tutorial on orbital mechanics and the basics of rocketry. Through this, we'll cover the programming environment available and then divide up into groups and run a friendly competition to see who can do the best at getting back and forth to the Mun.
This workshop will be a companion to my talk "The Charming Genius of the Apollo Guidance Computer". The hard constraints that the AGC team had--there's limited computation available in a Kerbal rocket, death will be permanent and the code-structuring is archaic--will all be present. This will motivate discussions of embedded design, implementation and testing. Everyone who comes will leave the workshop having learned how modern critical systems are designed and implemented without accidentally setting fire to anything that exists in the real world.
No domain familiarity is needed; all that’s needed is basic programming chops and a willingness to crash-land simulated rockets into simulated planetoids. We’ll cover everything in the workshop.