A critical review on system architecture, techniques, trends and challenges in intelligent predictive maintenance