ABSTRACT
Domain specific languages allow users to directly express domain concepts in their programs and thereby eliminate the accidental complexity resulting from implementation details irrelevant to the domain. Cleaner programs, written in DSLs are much easier to analyze formally. However, domain specific analyses need to be implemented over and over again for each new domain specific language. In this paper we show that the use of language engineering techniques for modularizing languages can drastically improve on this situation. Language fragments (aka. language modules) together with a set of analyses defined for them can be reused between different DSLs, making the implementation of analyses significantly easier. This paper presents our approach for using the Meta-Programming System to implement domain specific languages and analyses both as extensions of C and in the domain of intelligent buildings. The main lesson learned is that modularization at language and analysis level allows rapid instantiation of advanced DSLs and their corresponding analyses.
- G. Edwards, Y. Brun, and N. Medvidovic. Automated analysis and code generation for domain-specific models. In WICSA/ECSA, 2012. Google ScholarDigital Library
- S. Erdweg, P. G. Giarrusso, and T. Rendel. Language composition untangled. In Proceedings of LDTA, 2012. to appear. Google ScholarDigital Library
- E. Evans. Domain-driven design: tackling complexity in the heart of software. Addison-Wesley, 2004. Google ScholarDigital Library
- R. Janicki, D. L. Parnas, and J. Zucker. Tabular representations in relational documents, pages 184--196. Springer-Verlag New York, Inc., 1997. Google ScholarDigital Library
- D. Koss, F. Sellmayr, S. Bauereiss, D. Bytschkow, P. Gupta, and B. Schätz. Stablishing a smart grid node architecture and demonstrator in an office environment using the soa approach. In First International ICSE Workshop on Software Engineering Challenges for the Smart Grid. I, 2012.Google ScholarDigital Library
- J. Merilinna and J. Pärssinen. Verification and validation in the context of domain-specific modelling. In Proceedings of DSM, DSM '10. ACM, 2010. Google ScholarDigital Library
- M. Mernik, J. Heering, and A. M. Sloane. When and how to develop domain-specific languages. ACM Computing Surveys, 37(4):316--344, 2005. Google ScholarDigital Library
- M. R. Phillip James. Designing domain specific languages for verification: First steps. In ATE, 2011.Google Scholar
- M. Voelter. Language and ide modularization, extension and composition with mps. In Summer School GTTSE, 2011.Google Scholar
- M. Voelter, D. Ratiu, B. Schaetz, and B. Kolb. mbeddr: an Extensible C-based Programming Language and IDE for Embedded Systems. In Proceedings of SPLASH Wavefront 2012, 2012. Google ScholarDigital Library
Index Terms
- Implementing modular domain specific languages and analyses
Recommendations
Rapidly prototyping implementation infrastructure of domain specific languages: a semantics-based approach
SAC '05: Proceedings of the 2005 ACM symposium on Applied computingDomain Specific Languages (DSLs) are high level languages designed for solving problems in a particular domain, and have been suggested as means for developing reliable software systems. However, designing of a domain specific language is a difficult ...
Are there Domain Specific Languages?
RWDSL '16: Proceedings of the 1st International Workshop on Real World Domain Specific LanguagesTuring complete languages can express unbounded computations over unbounded structures, either directly or by a suitable encoding. In contrast, Domain Specific Languages (DSLs) are intended to simplify the expression of computations over structures in ...
Teaching compiler construction using a domain specific language
Building a compiler for a domain specific language (a language designed for a specific problem domain) can engage students more than traditional compiler course projects. Most students feel that compiler courses are irrelevant because they are not ...
Comments