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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: An annotated bibliography. ACM SIGPLAN Notices 35(6), 26–36 (2000)
Earwax effect., http://www.geocities.com/beinges/works.htm
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)
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)
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)
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)
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
Koster, R., et al.: Infopipes for composing distributed information flows. In: Proceedings of the ACM Multimedia Workshop on Multimedia Middleware (October 2001)
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)
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)
Rizzo, L.: On the feasibility of software FEC. Technical Report LR-970131, Dip. di Ingegneria dell’Informzione, Universit‘a di Pisa (January 1997)
Sox sound exchange, http://www.spies.com/Sox
Spidle home page, http://compose.labri.fr/prototypes/spidle
Stephens, R.: A survey of stream processing. Acta Informatica 34(7), 491–541 (1997)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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