Compositional design and implementation of domain-specific languages
The design and implementation of languages for a specific domain can be done on a very high level of abstraction by selecting combinable language specification components and feeding them into a language implementation system. This paper presents the LaCon idea that allows domain experts to compose elements and properties of a language by simple yes/no decisions. A LaCon (Language Constructor) automatically checks consistency of user decisions, computes consequences of decisions, and provides design style advice. An implementation of the composed language is obtained by selecting combinable specification components according to the user decisions and then feeding them into the Eli language implementation system.
A LaCon is constructed by an expert in the field of computer languages and their implementation. He provides composable formal specification parts for the underlying language implementation system and describes their logical relationship. These specifications are transformed into the GUI-based LaCon by our LaCon generator.
The LaCon approach is especially useful for designers of domain specific languages who usually have to deal with languages that have to be revised quite frequently and who normally do not have deep knowledge in the field of language design and implementation.
KeywordsDomain specific languages language design compilers
- Abu-Hamdeh, R., Cordy, J. & Martin, P. , Schema translation using structural transformation, in ‘Proceedings of CASCON’94-Integrated Solutions’, IBM Centre for Advanced Studies, Toronto, Ontario, pp. 202–215.Google Scholar
- Bjarnason, E. [ 1996 ], APPLAB-A Laboratory for Application Languages, Technical Report LU-CS-TR:96–177, Lund Institute of Technology, Lund, Sweden.Google Scholar
- Bosch, J. & Hedin, G. , Editors’s Introduction, in ‘Proceedings ALEL’96 Workshop on Compiler Techniques for Application Domain Languages and Extensible Language Models’, Technical Report LU-CS-TR:96173, Lund University, Sweden.Google Scholar
- Chen, P. P. , ‘The entity relationship model-toward an unified view of data’, ACM Trans. on Database Sys. 1(1), 9. Reprinted in M. Stonebraker, Readings in Database Sys., Morgan Kaufmann, San Mateo, CA, 1988.Google Scholar
- Cleaveland, J. , ‘Building Application Generators’, IEEE Software pp. 25–33.Google Scholar
- Eli Development Team , ‘The Eli Home Page’, http://www.uni-paderborn.de/fachbereich/AG/agkastens/elLhomeE.html.Google Scholar
- Feiler, P. H., Jalili, F. & Schlichter, J. H. , An Interactive Prototyping Environment for Language Design, in ‘19th Annual Haiwaii International Conference on System Sciences, HICSS-19’.Google Scholar
- Horowitz, E., Kemper, A. & Narasimhan, B. , ‘A Survey of Application Generators’, IEEE Software pp. 44–50.Google Scholar
- Järnvall, E., Koskimies, K. & Niittymäki, M. [ 1995 ], ‘Object-oriented language engineering with TaLE’, Object Oriented Systems 2, 77–98.Google Scholar
- Kastens, U. , Construction of Application Generators using Eli, in ‘Proceedings ALEL’96 Workshop on Compiler Techniques for Application Domain Languages and Extensible Language Models’, Technical Report LU-CS-TR:96–173, Lund University, Sweden.Google Scholar
- Markowits, V. M. & Shoshani, A. , An Overview of the Lawrence Berkeley Laboratory Extended Entity-Relationship Database Tools, in P. Loucopoulos, ed.,‘Proceedings of the 13th International Conference on the Entity-Relationship Approach’, Vol. 881 of Lecture Notes in Computer Science, Springer-Verlag, Manchester, United Kingdom, pp. 333–350.Google Scholar
- Meyer, J. , Ein Werkzeug zur wissensbasierten Konfiguration bereichsspezifischer Sprachen, Diploma thesis, Universität-GH Paderborn, Fachbereich Mathematik-Informatik.Google Scholar
- Minör, S. & Magnusson, B. , Using Mjølner Orm as a Structure-Based Meta Environment, Technical report, Department of Computer Science Lund University.Google Scholar
- Pfahler, P. & Kastens, U. , Language Design and Implementation by Selection, in ‘Proceedings of the First ACM SIGPLAN Workshop on Domain-Specific Languages, DSL’97, Paris, France’, Computer Science Report, University of Illinois, pp. 97–108.Google Scholar
- van Deursen, A. & Klint, P. , Little Languages: Little Maintenance?, in ‘Proceedings of the First ACM SIGPLAN Workshop on Domain-Specific Languages, DSL’97, Paris, France’, Computer Science Report, University of Illinois, pp. 109–127.Google Scholar
- Watt, D. A. , Programming Language Concepts and Paradigms, Prentice Hall, New York.Google Scholar