Domain-Level Observation and Control for Compiled Executable DSLs

Erwan Bousse, Manuel Wimmer

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

Executable Domain-Specific Languages (DSLs) are commonly defined with either operational semantics (i.e., interpretation) or translational semantics (i.e., compilation). An interpreted DSL relies on domain concepts to specify the possible execution states and steps, which enables the observation and control of executions using the very same domain concepts. In contrast, a compiled DSL relies on a transformation to an arbitrarily different target language. This creates a conceptual gap, where the execution can only be observed and controlled through target domain concepts, to the detriment of experts or tools that only understand the source domain. To address this problem, we propose a language engineering architecture for compiled DSLs that enables the observation and control of executions using source domain concepts. The architecture requires the definition of the source domain execution steps and states, along with a feedback manager that translates steps and states of the target domain back to the source domain. We evaluate the architecture with two different compiled DSLs, and show that it does enable domain-level observation and control while increasing execution time by 2× in the worst observed.
Original languageEnglish
Title of host publication22nd ACM/IEEE International Conference on Model Driven Engineering, Languages and Systems, (MODELS 2019), Munich, Germany, September 15-20, 2019
Pages150-160
Number of pages11
DOIs
Publication statusPublished - 2019

Fields of science

  • 202005 Computer architecture
  • 202017 Embedded systems
  • 102 Computer Sciences
  • 102002 Augmented reality
  • 102006 Computer supported cooperative work (CSCW)
  • 102015 Information systems
  • 102020 Medical informatics
  • 102022 Software development
  • 102034 Cyber-physical systems
  • 201132 Computational engineering
  • 201305 Traffic engineering
  • 207409 Navigation systems
  • 502032 Quality management
  • 502050 Business informatics

JKU Focus areas

  • Digital Transformation

Cite this