I. Introduction
Many signal processing systems, particularly in the multimedia and telecom domains, are synthesized to execute mainly data-dominated applications. Their behavior is described in a high-level programming language, where the code is typically organized in sequences of loop nests having as boundaries (usually affine) functions of loop iterators, conditional instructions where the arguments may be data-dependent and/or data-independent (relational and/or logic expressions of affine functions of loop iterators). The data structures are multidimensional arrays; the indices of the array references are affine functions of loop iterators. The specifications with these characteristics are often called affine specifications [3].