Concept of diversity design and its implenment

Diversity design is used to aviod the generic failure and it require independent development of multple version of software or hardware according to an initial specification. Each version works or runs independantly. This system can detect?isolate and locate the failure through comparison monitoring. The theory behind this method is the failure will inpendantly(not generic) happen using indanpantly developed versions. Some typical system developed by using diversity principle are described and some of the systems are further analysed as well.