1. A method of preventing and detecting conflicts and errors through prognostics and diagnostics, comprising: at least one control unit; receiving a list of parameters associated with a system of cooperative units and interactions between the cooperative units by at least one control unit; performing detection, including: a) providing a list of at least two constraints, each constraint defining a task to be accomplished or a requirement to be satisfied by one or more cooperative units by a first time; b) identifying one or more constraints from the list, which need to be satisfied by a defined time; c) identifying for each identified constraint whether any conflict or error exists; where a conflict occurs whenever an inconsistency between two or more cooperative units occurs, and an error is associated with any condition that is inconsistent with the list of parameters; d) marking the constraints for which an error or conflict has been identified; e) incrementing a mark count for each cooperative unit associated with each marked constraint; performing at least one of diagnosis and prognosis in the at least one control unit based at least in part on the marked constraints.