Compilation Principle of a Specification Language Dedicated to Signal Processing

ARRAY-OL, developed by Thomson Marconi Sonar, is a programming language dedicated to signal processing. An ARRAY-OL program specifies the dependencies between array elements produced and consumed by tasks. In particular, temporal dependencies may be specified by referencing elements that belong to an infinite dimension of an array. A basic compilation strategy of ARRAY-OL on a workstation has been defined. This basic compilation does not allow the generation of efficient code for any ARRAY-OL application; specifically those defining infinite arrays. We propose to transform such applications to hierarchical ARRAY-OL applications that may be compiled with ARRAY-OL basic strategy. We introduce a formal representation of ARRAY-OL applications, which is a relation between points of Zn spaces; code transformations are applied at this level. In this paper we show how the transformation process is used during the compilation phase of a representative application.