Runtime Monitoring for Executable DSLs

Dorian Leroy, Pierre Jeanjean, Erwan Bousse, Manuel Wimmer, Benoit Combemale

Research output: Contribution to journalArticlepeer-review

Abstract

Runtime monitoring is a fundamental technique used throughout the lifecycle of a system for many purposes, such as debugging, testing, or live analytics. While runtime monitoring for general purpose programming languages has seen a great amount of research, developing such complex facilities for any executable Domain Specific Language (DSL) remains a challenging, reoccurring and error prone task. A generic solution must both support a wide range of executable DSLs (xDSLs) and induce as little execution time overhead as possible. Our contribution is a fully generic approach based on a temporal property language with a semantics tailored for runtime verification. Properties can be compiled to efficient runtime monitors that can be attached to any kind of executable discrete event model within an integrated development environment. Efficiency is bolstered using a novel combination of structural model queries and complex event processing. Our evaluation on 3 xDSLs shows that the approach is applicable with an execution time overhead of 121% (on executions shorter than 1s), to 79% (on executions shorter than 20s) making it suitable for model testing and debugging.
Original languageEnglish
Pages (from-to)1-23
Number of pages24
JournalJournal of Object Technology (JOT)
Volume19
Issue number2
DOIs
Publication statusPublished - 2020

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