Abstract
An increasing number of domain-specific languages (DSLs) are being developed and successfully used in a variety of areas including networking, telecommunications and financial products. Yet, the development of a DSL is still an obscure process and its assessment is often partial.
This paper proposes to structure the development of a DSL on the notion of program family. We outline the main steps of such development. Furthermore, we argue that a program family provides a basis to assess a DSL.
The ideas discussed in this paper are directly based on our experience in developing DSLs for various domains and studying existing ones. We illustrate these ideas with various examples of DSLs.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Atkins, D., Ball, T., Baran, T., Benedikt, A., Cox, C., Ladd, D., Mataga, P., Puchol, C., Ramming, J., Rehor, K., Tuckey, C.: Integrated web and telephone service creation. The Bell Labs Technical Journal 2, 18–35 (1997)
Brabrand, C., Møller, A., Schwartzbach, M.: The <bigwig> project. ACM Transactions on Internet Technology 2 (2002)
Czarnecki, K., Eisenecker, U.: Generative Programming. Addison-Wesley, Reading (2000)
Arnold, B., van Deursen, A., Res, M.: An algebraic specification of a language describing financial products. In: IEEE Workshop on Formal Methods Application in Software Engineering, pp. 6–13 (1995)
Consel, C., Réveillère, L.: A DSL paradigm for domains of services: A study of communication services. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 165–179. Springer, Heidelberg (2004)
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)
Weiss, D.: Family-oriented abstraction specification and translation: the FAST process. In: Proceedings of the 11th Annual Conference on Computer Assurance (COMPASS), Gaithersburg, Maryland, pp. 14–22. IEEE Press, Piscataway (1996)
Mérillon, F., Réveillère, L., Consel, C., Marlet, R., Muller, G.: Devil: An IDL for hardware programming. In: Proceedings of the Fourth Symposium on Operating Systems Design and Implementation, San Diego, California, pp. 17–30 (2000)
Réveillère, 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)
Réveillère, L., Muller, G.: Improving driver robustness: an evaluation of the Devil approach. In: The International Conference on Dependable Systems and Networks, Göteborg, Sweden, pp. 131–140. IEEE Computer Society, Los Alamitos (2001)
Sun Microsystem: NFS: Network file system protocol specification. RFC 1094, Sun Microsystem (1989)
Parnas, D.: On the design and development of program families. IEEE Transactions on Software Engineering 2, 1–9 (1976)
Thibault, S., Marlet, R., Consel, C.: Domain-specific languages: from design to implementation – application to video device drivers generation. IEEE Transactions on Software Engineering 25, 363–377 (1999)
Schmidt, D.: Denotational Semantics: a Methodology for Language Development. Allyn and Bacon, Inc. (1986)
Muller, G., Marlet, R., Volanschi, E., Consel, C., Pu, C., Goel, A.: Fast, optimized Sun RPC using automatic program specialization. In: Proceedings of the 18th International Conference on Distributed Computing Systems, Amsterdam, The Netherlands. IEEE Computer Society Press, Los Alamitos (1998)
DeMillo, R.A., Lipton, R.J., Sayward, F.G.: Hints on test data selection: help for the practicing programmer. Computer 11, 34–41 (1978)
Wetherall, D.: Active network vision and reality: lessons from a capsule-based system. In: Proceedings of the 17th ACM Symposium on Operating Systems Principles, Kiawah Island, SC (1999)
Thibault, S., Consel, C., Muller, G.: Safe and efficient active network programming. In: 17th IEEE Symposium on Reliable Distributed Systems, West Lafayette, Indiana, pp. 135–143 (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Consel, C. (2004). From a Program Family to a Domain-Specific Language. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds) Domain-Specific Program Generation. Lecture Notes in Computer Science, vol 3016. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25935-0_2
Download citation
DOI: https://doi.org/10.1007/978-3-540-25935-0_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22119-7
Online ISBN: 978-3-540-25935-0
eBook Packages: Springer Book Archive