Development Automation of Real-Time Java: Model-Driven Transformation and Synthesis

Research output: Contribution to journalArticlepeer-review


Many applications in emerging scenarios, such as autonomous vehicles, intelligent robots, and industrial automation, are safety-critical with strict timing requirements. However, the development of real-time systems is error prone and highly dependent on sophisticated domain expertise, making it a costly process. This article utilises the principles of model-driven engineering (MDE) and proposes two methodologies to automate the development of real-time Java applications. The first one automatically converts standard time-sharing Java applications to real-time Java applications, using a series of transformations. It is in line with the observed industrial trend, such as for the big data technology, of redeveloping existing software without the real-time notion to realise the real-time features. The second one allows users to automatically generate real-time Java application templates with a lightweight modelling language, which can be used to define the real-time properties - essentially a synthesis process. This article opens up a new research direction on development automation of real-time programming languages and inspires many research questions that can be jointly investigated by the embedded systems, programming languages as well as MDE communities.

Original languageEnglish
Article number3391897
Number of pages26
JournalACM Transactions on Embedded Computing Systems
Issue number5
Early online date26 Sept 2020
Publication statusPublished - Nov 2020

Bibliographical note

Publisher Copyright:
© 2020 ACM.


  • model-driven engineering
  • Real-time programming languages
  • real-time specification for Java

Cite this