Array-OL with delays, a domain specific specification language for multidimensional intensive signal processing

  • Calin Glitia
  • Philippe Dumont
  • Pierre BouletEmail author


Intensive signal processing applications appear in many application domains such as video processing or detection systems. These applications handle multidimensional data structures (mainly arrays) to deal with the various dimensions of the data (space, time, frequency). A specification language allowing the direct manipulation of these different dimensions with a high level of abstraction is a key to handling the complexity of these applications and to benefit from their massive potential parallelism. The Array-OL specification language is designed to do just that. We introduce here an extension of Array-OL to deal with states or delays by the way of uniform inter-repetition dependences. We show that this specification language is able to express the main patterns of computation of the intensive signal processing domain.


Multidimensional signal processing Dataflow Synchronous dataflow Array-OL Data parallelism 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Amar, A., Boulet, P., & Dumont, P. (2005). Projection of the Array-OL specification language onto the Kahn process network computation model. In International symposium on parallel architectures, algorithms, and networks, Las Vegas, Nevada, USA.Google Scholar
  2. Attali, I., Caromel, D., Syau Chen, Y., Luc Gaudiot, J., & Wendelborn, A. L. (1995). A formal semantics for sisal arrays. In Proceedings of joint conference on information service.Google Scholar
  3. Bilsen, G., Engels, M., Lauwereins, R., & Peperstraete, J. (1995). Cyclo-static data flow. In International conference on acoustics, speech, and signal processing, Detroit, MI, USA.Google Scholar
  4. Boulet, P. (2008). Formal semantics of Array-OL, a domain specific language for intensive multidimensional signal processing. Research Report RR-6467, INRIA.Google Scholar
  5. Chen, M. J., & Lee, E. A. (1995). Design and implementation of a multidimensional synchronous dataflow environment. In 1995 Proceedings of IEEE Asilomar Conference on Signal, Systems, and Computers.Google Scholar
  6. DaRT Team LIFL/INRIA, Lille, France. (2008). Graphical array specification for parallel and distributed computing (GASPARD2).
  7. Darte A., Robert Y. (1994) Constructive methods for scheduling uniform loop nests. IEEE Transactions on Parallel Distributed Systems 5(8): 814–822CrossRefGoogle Scholar
  8. de Dinechin, F., Quinton, P., & Risset, T. (1995). Structuration of the alpha language. In Programming models for massively parallel computers (pp. 18–24). Berlin, Germany.Google Scholar
  9. Demeure, A., & Del Gallo, Y. (1998). An array approach for signal processing design. In Sophia-Antipolis conference on micro-electronics (SAME 98), France.Google Scholar
  10. Demeure, A., Lafarge, A., Boutillon, E., Rozzonelli, D., Dufourd, J.-C., & Marro, J.-L. (1995). Array-OL: Proposition d’un formalisme tableau pour le traitement de signal multi-dimensionnel. In Gretsi, Juan-Les-Pins, France (In French).Google Scholar
  11. Dumont, P. (2005). Spécification Multidimensionnelle pour le traitement du signal systématique. Thése de doctorat (PhD Thesis), Laboratoire d’informatique fondamentale de Lille, Université des sciences et technologies de Lille.Google Scholar
  12. Dumont, P., & Boulet, P. (2005). Another multidimensional synchronous dataflow: Simulating Array-OL in ptolemy II. Research Report RR-5516, INRIA.Google Scholar
  13. Gamatié, A., Rutten, E., Yu, H., Boulet, P., & Dekeyser, J.-L. (2008). Synchronous modeling and analysis of data intensive aplications. EURASIP Journal on Embedded Systems, Article ID 561863, p. 22.Google Scholar
  14. Gaudiot, J.-L., DeBoni, T., Feo, J., Böhm, W., Najjar, & W., Miller, P. (2001). Compiler optimizations for scalable parallel systems: Languages, compilation techniques, and run time systems. The Sisal project: Real world functional programming (pp. 45–72). NY, USA: Springer-Verlag.Google Scholar
  15. Glitia, C. & Boulet, P. (2008). High level loop transformations for multidimensional signal processing embedded applications. In SAMOS 2008 workshop, Samos, Greece.Google Scholar
  16. Joachim Keinert, J. T., & Haubelt, C. (2005). Windowed synchronous data flow. Technical report co-design-report 02, 2005. Department of Computer Science 12, Hardware-Software-Co-Design, University of Erlangen-Nuremberg, Am Weichselgarten 3, D-91058 Erlangen, Germany.Google Scholar
  17. Karp R.M., Miller R.E., Winograd S. (1967) The organization of computations for uniform recurrence equations. Journal of ACM 14(3): 563–590zbMATHCrossRefMathSciNetGoogle Scholar
  18. Keinert, J., Haubelt, C., & Teich, J. (2006). Modeling and analysis of windowed synchronous algorithms. In International conference on acoustics, speech and signal processing (ICASSP) (pp. III-892– III-895).Google Scholar
  19. Labbani, O., Dekeyser, J.-L., Boulet, P., & Éric Rutten. (2005). Introducing control in the Gaspard2 data-parallel metamodel: Synchronous approach. International workshop MARTES: Modeling and analysis of real-time and embedded systems (in conjunction with 8th international conference on model driven engineering languages and systems, MoDELS/UML 2005).Google Scholar
  20. Labbani, O., Dekeyser, J.-L., Boulet, P., & Rutten, E. (2006). UML2 profile for modeling controlled data parallel applications. In FDL’06: Forum on specification and design languages, Darmstadt, Germany.Google Scholar
  21. Le Beux, S., Marquet, P., & Dekeyser, J.-L. (2007). A design flow to map parallel applications onto FPGAs. In 17th IEEE international conference on field programmable logic and applications, FPL, Amsterdam, Netherlands.Google Scholar
  22. Le Verge H., Mauras C., Quinton P. (1991) The alpha language and its use for the design of systolic arrays. The Journal of VLSI Signal Processing 3(3): 173–182CrossRefGoogle Scholar
  23. Lee, E. A. (1993). Multidimensional streams rooted in dataflow. In Proceedings of the IFIP working conference on architectures and compilation techniques for fine and medium grain parallelism, Orlando, Florida, North-Holland.Google Scholar
  24. Lee, E. A., & Messerschmitt, D. G. (1987a). Static scheduling of synchronous data flow programs for digital signal processing. IEEE Transactions on Computers.Google Scholar
  25. Lee E.A., Messerschmitt D.G. (1987b) Synchronous data flow. Proceedings of the IEEE 75(9): 1235–1245CrossRefGoogle Scholar
  26. Murthy, P., & Lee, E. A. (1995). A generalization of multidimensional synchronous dataflow to arbitrary sampling lattices. Technical report UCB/ERL M95/59, EECS Department, University of California, Berkeley.Google Scholar
  27. Murthy, P. K. (1996). Scheduling techniques for synchronous and multidimensional synchronous dataflow. PhD thesis, University of California: Berkeley, CA.Google Scholar
  28. Murthy P.K., Lee E.A. (2002) Multidimensional synchronous dataflow. IEEE Transactions on Signal Processing 50(8): 2064–2079CrossRefGoogle Scholar
  29. Piel, E., Attitalah, R. B., Marquet, P., Meftali, S., Niar, S., Etien, A., Dekeyser, J.-L., & Boulet, P. (2008). Gaspard2: From MARTE to SystemC simulation. In Modeling and analyzis of real-time and embedded systems with the MARTE UML profile DATE’08 workshop.Google Scholar
  30. ProMarte partners. (2008). UML profile for MARTE, Beta 2.
  31. Le Beux, S., Marquet, P., & Dekeyser, J-.L. (2008). A design space exploration flow for fpga implementation of intensive signal processing applications. In Conference on design and architectures for signal and image processing (DASIP 2008), Bruxelles, Belgium.Google Scholar
  32. Scholz S.-B. (2003) Single assignment c: Efficient support for high-level array operations in a functional setting. J. Funct. Program. 13(6): 1005–1059zbMATHCrossRefMathSciNetGoogle Scholar
  33. Soula, J. (2001). Principe de Compilation d’un Langage de Traitement de Signal. Thèse de doctorat (PhD Thesis), Laboratoire d’informatique fondamentale de Lille, Université des sciences et technologies de Lille (In French).Google Scholar
  34. Soula, J., Marquet, P., Dekeyser, J.-L., & Demeure, A. (2001). Compilation principle of a specification language dedicated to signal processing. In Sixth international conference on parallel computing technologies, PaCT 2001, Novosibirsk, Russia. Lecture Notes in Computer Science (Vol. 2127, pp. 358–370).Google Scholar
  35. Thies, W., Karczmarek, M., & Amarasinghe, S. (2002). StreamIt: A language for streaming applications. In Compiler construction: 11th international conference, CC 2002, held as part of the joint European conferences on theory and practice of software, ETAPS 2002, Grenoble, France, April 8–12, 2002, Proceedings. Volume of 2304/2002 of Lecture Notes in Computer Science (pp. 49–84). Springer Berlin: Heidelberg.Google Scholar
  36. Yu, H., Gamatié, A., Éric Rutten, & Dekeyser, J.-L. (2008). Embedded systems specification and design languages, selected papers from FDL 2007. Model transformations from a data parallel formalism towards synchronous languages. Springer.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  1. 1.INRIA Lille - Nord Europe, Parc Scientifique de la Haute BorneVilleneuve d’AscqFrance
  2. 2.NXP EindhovenEindhovenThe Netherlands
  3. 3.LIFL, Université de Lille 1Villeneuve d’Ascq CedexFrance

Personalised recommendations