Programming and simulation software