Skip to main content

Spidle: A DSL Approach to Specifying Streaming Applications

  • Conference paper
Generative Programming and Component Engineering (GPCE 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2830))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Consel, C., Marlet, R.: Architecturing software using a methodology for language development. In: Palamidessi, C., Meinke, K., Glaser, H. (eds.) ALP 1998 and PLILP 1998. LNCS, vol. 1490, pp. 170–194. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  2. Van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: An annotated bibliography. ACM SIGPLAN Notices 35(6), 26–36 (2000)

    Article  Google Scholar 

  3. Earwax effect., http://www.geocities.com/beinges/works.htm

  4. European Telecommunications Standards Institute, 650, route des Lucioles F- 06921 Sophia-Antipolis Cedex – France. GSM full speech transcoding 06.10, REN/SMG-110610Q8R1 (Nov 2000)

    Google Scholar 

  5. Gokhale, M., Stone, J., Arnold, J., Kalinowski, M.: Stream-oriented FPGA computing in the Streams-C high level language. In: IEEE Symposium on Field Programmable Custom Computing Machines, pp. 49–59 (April 2000)

    Google Scholar 

  6. Hammes, J.P., Draper, B.A., Willem Boehm, A.P.: Sassy: A language and optimizing compiler for image processing on reconfigurable computing systems. In: Christensen, H.I. (ed.) ICVS 1999. LNCS, vol. 1542, pp. 83–97. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  7. International Organisation for Standardisation, 1, rue de Varembé, Case postale 56 CH-1211 Geneva 20, Switzerland. Moving Picture Experts Group (MPEG-1 audio) Specifications, 1993. ISO/IEC 11172-3 (1993)

    Google Scholar 

  8. Jutta, D., Carsten, B.: C implementation of GSM 06.10 RPELTP coder and decoder (November 1994), http://kbs.cs.tu-berlin.de/jutta/toast.html

  9. Koster, R., et al.: Infopipes for composing distributed information flows. In: Proceedings of the ACM Multimedia Workshop on Multimedia Middleware (October 2001)

    Google Scholar 

  10. Mérillon, F., Réveill‘ere, L., Consel, C., Marlet, R., Muller, G.: Devil: An IDL for Hardware Programming. In: 4th Symposium on Operating Systems Design and Implementation (OSDI 2000), San Diego, California, October 2000, pp. 17–30 (2000)

    Google Scholar 

  11. Réveill‘ere, L., Mérillon, F., Consel, C., Marlet, R., Muller, G.: A DSL approach to improve productivity and safety in device drivers development. In: Proceedings of the 15th IEEE International Conference on Automated Software Engineering (ASE 2000), Grenoble, France, pp. 101–109. IEEE Computer Society Press, Los Alamitos (2000)

    Google Scholar 

  12. Rizzo, L.: On the feasibility of software FEC. Technical Report LR-970131, Dip. di Ingegneria dell’Informzione, Universit‘a di Pisa (January 1997)

    Google Scholar 

  13. Sox sound exchange, http://www.spies.com/Sox

  14. Spidle home page, http://compose.labri.fr/prototypes/spidle

  15. Stephens, R.: A survey of stream processing. Acta Informatica 34(7), 491–541 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  16. Thibault, S., Consel, C.: A framework of application generator design. In: Harandi, M. (ed.) Proceedings of the Symposium on Software Reusability, Boston, Massachusetts, USA, May 1997, pp. 131–135 (1997); Software Engineering Notes, 22(3)

    Google Scholar 

  17. Thibault, S., Consel, C., Muller, G.: Safe and efficient active network programming. In: 17th IEEE Symposium on Reliable Distributed Systems, West Lafayette, Indiana, October 1998, pp. 135–143 (1998)

    Google Scholar 

  18. Thibault, S., Marlet, R., Consel, C.: A domain-specific language for video device driver: from design to implementation. In: Proceedings of the 1st USENIX Conference on Domain-Specific Languages, Santa Barbara, California (October 1997)

    Google Scholar 

  19. Thies, W., Karczmarek, M., Amarasinghe, S.P.: Streamit: A language for streaming applications. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 179–196. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Consel, C., Hamdi, H., Réveillère, L., Singaravelu, L., Yu, H., Pu, C. (2003). Spidle: A DSL Approach to Specifying Streaming Applications. In: Pfenning, F., Smaragdakis, Y. (eds) Generative Programming and Component Engineering. GPCE 2003. Lecture Notes in Computer Science, vol 2830. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39815-8_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39815-8_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20102-1

  • Online ISBN: 978-3-540-39815-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics