Modern Industrial Automation Software Design