For fifty years, concepts and techniques have been developed in the field of fault tolerance (FT) that can be usefully applied to the compositional design and performance of interactive music. Any activity in which system failure leads to undesirable consequences can benefit from FT, and interactive music fits this description. By incorporating practical elements of FT into the process, the experience of interactive music can be improved for composers, performers, and audiences alike.
Specific techniques for applying FT to interactive music performance will be discussed, as well as analysis of the FT implications of common systems models involved in interactive music.
The key principles of FT are defined system requirements, informed system design, rigorous system evaluation, preemptive fault avoidance, and operational fault tolerance. In the terminology of FT, a "fault" is a hardware or software flaw that leads to an "error," a deviation from optimal operation, which if not corrected, can result in "failure," or improper results.
In defining system requirements, our emphasis is on the "performability" of interactive music. This term includes the comfort level of performers in rehearsal as well as live situations. Audience expectations should be considered in determining standards for success versus failure. Balance of such requirements facilitates the "magic" that occurs in a great performance.
Informed system design begins in the compositional process and follows established FT guidelines. These focus on reducing system complexity, "freezing" a work well in advance of performance, and weighing exposure of elements against their reliability. This phase also involves consideration of possible conflicts between artistic intent and goals of FT.
Rigorous system evaluation must comprehensively test all aspects of an interactive work. This requirement should influence system design to minimize the burden of testing. Evaluation includes identifying the relative likelihood of potential points of failure, assessing environmental factors of the venue, simulating real performance with both normal and unexpected data, and establishing "live" tests that are transparent to the audience.
Preemptive fault avoidance involves minimizing opportunities for faults to arise. These techniques include selection of reliable hardware and software, use of empirically proven tools, documenting standard and recovery procedures, monitoring system health in realtime, and effective communication among everyone responsible for performance success. This phase even covers larger issues of educating composers and performers in FT, and giving feedback to hardware and software developers on dependability of their systems.
Operational FT includes predictably compensating for faults when they occur. This flexibility begins with detecting the occurrence of a fault. Responses may range from reliance on automatic redundant systems to graceful degradation of performance level to manual intervention. FT can also encompass improvisation, which demands good feedback to a performer about the health of his/her resources. Multiple levels of failure modes should be anticipated and implemented, including "worst case" scenarios.