DozyWannabe,
The way the A320's computers were developed is not the same as what we mean here by diversity. In the stricter sense this means identical functionality, fulfilling the same requirements is implemented by different teams of developers.
The paradigm for the A320 was two-fold, but both aspects are different from diversity:
- There are different types of computers that perfom different, but partially overlapping functions. These may or may not be made by different developers or even different companies. E. g. there are the ELACs performing elevator and aileron control in normal and alternate laws, and the SECs, which could also perform elevator control, but in degraded laws. So both types were not developed to the same requirements, but to different ones.
- The other idea was hardware-diversity, in that all computers have independent command and monitor channels, that perform the same functions, and according to the same requirements, but run on different hardware, in case of the ELACs Motorola 68000 for the command channel and Intel 80186 for the monitor channel, if I recall correctly. If command and monitor channel disagree, the computer considers itself failed and shuts down.
In large parts already for the A320, and more so for later models, automatic code generation was used from formal specifications. Still not sure about different teams for command and monitor channel.
See, e. g.
Chapter 12 of The Avionics Handbook.
(I just saw this crosses with Chris Scott's post ...)
Bernd