Spidle: a DSL approach to specifying streaming applications

  • Authors:
  • Charles Consel;Hedi Hamdi;Laurent Réveillère;Lenin Singaravelu;Haiyan Yu;Calton Pu

  • Affiliations:
  • INRIA/LaBRI, ENSEIRB 1, avenue du docteur Albert Schweitzer, Domaine universitaire - BP 99, F-33402 Talence Cedex, France;INRIA/LaBRI, ENSEIRB 1, avenue du docteur Albert Schweitzer, Domaine universitaire - BP 99, F-33402 Talence Cedex, France;INRIA/LaBRI, ENSEIRB 1, avenue du docteur Albert Schweitzer, Domaine universitaire - BP 99, F-33402 Talence Cedex, France;College of Computing, Georgia Institute of Technology, 801 Atlantic Drive, NW, Atlanta, GA;Institute of Computing Technology, Chinese Academy of Sciences, P. O. Box 2704, 100080, Beijing, China;College of Computing, Georgia Institute of Technology, 801 Atlantic Drive, NW, Atlanta, GA

  • Venue:
  • Proceedings of the 2nd international conference on Generative programming and component engineering
  • Year:
  • 2003

Quantified Score

Hi-index 0.01

Visualization

Abstract

Multimedia stream processing is a rapidly evolving domain which requires much software development and expects high performance. Developing a streaming application often involves low-level programming, critical memory management, and finely tuned scheduling of processing steps.To address these problems, we present a domain-specific language (DSL) named Spidle, for specifying streaming applications. Spidle offers high-level and declarative constructs; compared to general-purpose languages (GPL), it improves robustness by enabling a variety of verifications to be performed.To assess the expressiveness of Spidle in practice, we have used it to specify a number of standardized and special-purpose streaming applications. These specifications are up to 2 times smaller than equivalent programs written in a GPL such as C.We have implemented a compiler for Spidle. Preliminary results show that compiled Spidle programs are roughly as efficient as the compiled, equivalent C programs.