Научная статья на тему 'Distributing signal and real-time image processing applications'

Distributing signal and real-time image processing applications Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
152
61
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Galinec David, Dekeyser Jean-luc, Marquet Philippe

A new synchronous-asynchronous method for complex signal and realtime processing applications is introduced in this paper. Indeed, the synchronous approach corresponds to an ideal formal context for reasoning about complex timing relations which naturally arise between program's signals. From a synchronous specification of complex real-time and signal processing systems, we propose a set of formal tools in order to result in a standard CCS-processes implementation model.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Distributing signal and real-time image processing applications»

Раздел IV Автоматизация проектирования

УДК 658.512

David Galinec, Jean-Luc Dekeyser, Philippe Marquet Distributing signal and real-time image processing applications

Резюме—В этой статье представлен новый синхронно-асинхронный метод решения комплексных задач обработки в реальном времени и сигналов. Синхронный метод представляет собой идеальный формальный контекст позволяющий разрешить комплексные временные отношения, существующие между различными сигналами программы. Исходя от синхронного представления комплексных систем обработки в реальном времени и сигналов, мы предлагаем формальный подход, позволяющий реализовать эти системы посредством CCS-процессов.

Abstract—Л new synchronous-asynchronous method for complex signal and realtime processing applications is introduced in this paper. Indeed, the synchronous approach corresponds to an ideal formal context for reasoning about complex timing relations which naturally arise between program's signals. From a synchronous specification of complex real-time and signal processing systems, we propose a set of formal tools in order to result in a standard CCS-pmcesses implementation model.

I. Introduction

Signal and real-time image processing applications concern very sensitive domains such as: military systems, transportation systems, nuclear power stations, industrial plants, etc ... for which ones major features are:

* An intrinsic parallelism. Indeed, such systems are generally designed as a set of concurrent communicating components.

* Efficiency is a major concern. Because activity rates have to be the closest to realtime performances as possible.

* Safety constraints are severe. Formal tools and models are required to guarantee the existence and uniqueness of solution.

This application area sets very particular problems in terms of design, specification And verification which are not solved by standard asynchronous programming languages (e.g. ADA [I], OCCAM [2]). More specifically, time must be considered as a logical basic constraint instead of a simple performance factor. Besides, safety requirements force to statically prevent run-time systems of failures.

The synchronous programming theory has been recently introduced as a solution to these problems, providing some "ideal" primitives which allow to reason about time, as if Programs instantaneously react to the external events (e.g. LUSTRE [3], SIGNAL [4]). But, till now, the synchronous approach fails to propose efficient distributed Implementations of real-time programs, mainly because of: a much more low-level of instruction granularity, and a heavy clock dependence system to manage at run-time.

On the other hand, the asynchronous approach has been right at the start designed for implementation purposes, and does not set any problem from this point of view:

* Decomposition of application in a set of tasks is a natural and efficient way of solving problems.

* Program specification is not architecture dependent.

Т37

• Existence of a set of tasks to carry out makes the use of concurrency easier.

• These languages provide a set of essential process handling primitives for the natural programming of real-time systems.

In practice, one can say that each style tends to be weak where the other is strong. Then, we propose a new approach that aims at closely combining respective advantages of synchronous and asynchronous models. Real-time systems are designed and verified under the synchronism hypothesis, and a set of formal mechanisms is provided to automatically result in a standard concurrent communicating sequential processes (CCS-processes) implementation model (for further details see also [5]).

2. Design of real-time systems

In our model, complex signal and real-time processing applications are made of a finite set of concurrent processing tasks that exchange possibly infinite sequences of input and output data called signals. These tasks only communicate on their entry and exit, it allows for efficient implementation with relatively little analysis. Besides, a process is not allowed to dynamically spawn another task: this constraint is crucial to guarantee the program ending.

2.1 Synchronism hypothesis

The synchronism hypothesis is based on two main theoretical concepts: instantaneity and simultaneity (e.g. LUSTRE [3J, ESTEREL [6], SIGNAL [4]).

2.1.1 Instantaneity

Dynamics of synchronous systems are became integrated with a logical time in which one computations and communications are supposed to complete in a null duration (actually in a physically bounded time). In other words, from the synchronous point of view, real-time systems are supposed to produce their outputs synchronously with their inputs, their reaction taking no observable time.

2.1.2 Simultaneity

A clock is implicitly associated to every signal. It defines when a signal is said to be present (notation: T)or not (notation: J_ ).

Therefore, many different logical times may coexist, but precise instants when these times coincide are well known. If a given pair of instants coincide, then they are said to be simultaneous.

In other words, for a pair (x, y) of signals, at any given time occurrence denoted t, possible events are: (x< yt) both signals are simultaneously present, (xt, J_) the signal xt is present and yt is not, (± ,yt) the signal yt is present and x( is not.

By the way of this logical time abstraction, concepts of simultaneity and instantaneity are defined. The run-time system is then made deterministic, and it becomes possible to provide automatic proofs of programs.

2.2 Synchronous skeleton

At the higher-level, programs are structured as a mathematical set of signal definition expressions such as xi = Et, where the signal xi and the expression Ei have same sequence of values and clock. The way of tasks are logically connected is specified through this set of equations. In practice, the result of such a program structuring that:

• any signal can be substituted for its definition expression, and conversely, in any equation.

• every signal is wholly defined by the equation in which one it appears as a left-hand member.

Following these principles, expressions can be defined in any order, and the use of intermediate variables is without repercussions. Then it becomes easier to formally reason about programs, what allows of automatic conversion of programs with a view to efficiently implement and optimise them.

Complex timing relations which naturally arise in real-time systems are specified in the synchronous skeleton through a minimal set of "ideal" signal processing operators: signal extraction, signal interleaving, and delay.

3. Solving timing constraints

In the synchronous skeleton, the 'way of tasks are logically connected as well as complex timing relations are specified. A formal resolution process, called clock calculus provided by the SIGNAL synchronous programming language is used to guarantee the existence and uniqueness of solution. It works on the mathematical representation of programs given by the synchronous skeleton, and results in a new system of equations.

In practice, complex expressions are broken down into elementary equations by introducing intermediate variables. Clocks are combined with data dependences in order to validate them: at any given time, a data dependence is valid if its clock has a T value. Clock values are dynamically computed by additional clock expressions.

4. Towards CCS-processes implementation

The core of our work is based on a set of formal transformations: clock normalisation process — graph reduction process.

4.1 Clock normalisation process

A clock may be defined either by a boolean expression on program's signals, or recursively from other clocks. In order to free the run-time system from handling and computing clocks, all recursive clocks equations are changed into .boolean expressions (see [7] for further details).

4.2 Graph reduction

Clock calculus introduces numerous intermediate signals, and clock computation expressions. The graph reduction process aims at suppressing intermediate signals and clock computation expressions, then merging signal processing nodes into macro-expressions.

4.3 I/O interfaces

Normal clock equations and macro-expressions describe in mathematical from a new dependence graph, in which one boolean expressions on program's signals affect computing dependences. These boolean expressions may have effect on sending upstream data as well as getting downstream data. The way of conditional expressions are 'niplemented in the communication interfaces of tasks depends on a set of heuristics. Our ^ajor concern is to limit the number of wide data structures that communicate between tasks as far as possible.

материалы всероссийской конференции “Интеллектуальные САПР-96"

4.4 Bounding data edges

Bounding data edges is a standard problem in data-flow computing. A set of acknowledgement edges is generated to solve it. These new dependences are determined with the help of an extra computation phase, because they are also affected by conditional expressions.

S. Conclusion

Work presented in this paper aims at combining the respective advantages of the synchronous and asynchronous approaches in order to propose an implementation model which not depends on a specific architecture. We validated our approach by generating PVM_ code and running programs (e.g. [8]) on networks of heterogeneous Unix computers.

References

1. B. Raithier, J-.F. Caillet, and P. De Seze. IDEFIX: A tool for debugging ada tasks in a real-time environment. Technique el Science Informatiques, 9(2): 150-156,1990.

2. INMOS LTD, editor, occam 2 Reference Manual. International series in computer science. Prentice Hall, 1988.

3. N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous data flow programming language lustre. Proceedings of the IEEE, 79(9): 1305-1319, September 1991.

4. Albert Benveniste and Paul Le Guemic. Hybrid Dynamical Systems Theory and the SIGNAL Language. IEEE Transactions on Automatic Control, 35(5):535-546, May 1990.

5. D. Galinec, F. Battini, J.-L. Dekeyser, and P. Marquet. An asynchronous runtime model for a synchronous approach of distributed real-time problems. In Proceedings of the Telecommunication, Distribution and Parallelism International Conference, June 1996.

6. F. Boussinot and R. De Simone. The ESTEREL language. Proceedings of the IEEE, 79(9): 1293-1304, September 1991.

7. D. Galinec, J.-L. Dekeyser, and P. Marquet. A mixed synchronous-asynchronous approach for digital signal processing. In Proceedings of the Third International Conference on Signal Processing, Beijing, China, October 1996. IEEE/CIE.

8. D. Galinec, J.-L. Dekeyser, and P. Marquet. Mixed synchronous-asynchronous approach for real-time processing: A MPEG-like coder. In Proceedings of the IEEE International Conference on Image Processing, Lausanne, Switzerland, September 1996. IEEE Signal Processing Society. (To Appear).

i Надоели баннеры? Вы всегда можете отключить рекламу.