Re-Engineering Automation Systems as Dynamic Software Product Lines