Error Detecting and Correcting Codes

In this chapter, Error Detecting and Correcting Codes (also noted EDC codes) are presented. These codes, which are an illustration of the general theory of redundancy presented in Chapter 8, were originally used for the encoding of information to allow its transmission in noisy environments; for example, a transmission on an electrical line which is subjected to electrical perturbations. Later on, scientists encountered dependability problems whilst realizing projects for computer systems. They, of course, turned their attention towards the solutions that already existed. In certain cases, it was possible to modify the existing codes, but in many other cases, they had to develop new ways of coding. Finally, more general fault tolerance mechanisms were proposed. Error Detecting and Correcting Codes will be introduced in a very general way. First of all, we will explain the underlying principles, and then we will present the fundamental codes. This information will be very useful, since it will help in the understanding of the following chapters. Actually, combined with other detection techniques that stem from the previously encountered functional redundancy (such as assertions), these redundant codes are employed as a way of detecting errors ‘on-line’. Lastly, they are also useful for fault tolerance, being connected to safeguarding and reconfiguration mechanisms.