A cloud-based cyber-physical system for adaptive shop-floor scheduling and condition-based maintenance. (April 2018)