In this paper, we consider the problem of analyzing data flow programs with the property that actor production and consumption rates are not constant and fixed, but limited by intervals. Such interval ranges may result from uncertainty in the specification of an actor or as a design freedom of the model. Major questions such as consistency and buffer memory requirements for singleprocessor schedules will be analyzed here for such specifications for the first time.
MotivationThe role of data flow models of computation is becoming increasingly important for modeling and synthesis of digital processing applications. Our paper is concerned with analyzing dataflow graphs whose component data rates are not known precisely in advance. Such models are often given due to imprecise specifications or due to uncertainties in the implementation. Examples of imprecise specifications include unknown execution times of tasks, unknown data rates, unknown consumption and production behavior of modules and many more. For example, a speech compression system may have a fixed overall structure. However, the subsystem data rates are typically influenced by the size of the speech segment that is to be processed [1]. Here, we will propose a data flow model of computation that is able to model such uncertain behavior.To understand such models, it useful to first review principles of the synchronous data flow (SDF) model of computation, where production and consumption rates of data flow actors, representing computational blocks, consume fixed, known amounts of data (tokens) upon each invocation. For such graph models, often represented by a graph in which actors are connected by directed arcs that transport tokens, many interesting results have been shown such as 1) consistency, 2) memory bounds and memory analysis, and 3) scheduling algorithms. Consistency, e.g., is a static property of an SDF-graph specification which is necessary in order to guarantee the existence of a finite sequence of actor firings, also called a schedule. Typically, an SDF specification is compiled by constructing a valid schedule, i.e., a schedule that fires each actor at least once, does not deadlock, and produces no net change in the number of tokens queued on each edge. For each actor firing, a corresponding code block is instantiated from a library to produce machine code.In [5], efficient algorithms are presented to determine whether or not a given SDF graph is consistent or not and to determine the minimum number of firings of each actor §