System-Level Predictive Maintenance: Review of Research Literature and Gap Analysis