Model-driven round-trip engineering for TinyOS-based WSN applications

Marah H., KARDAŞ G. , Challenger M.

JOURNAL OF COMPUTER LANGUAGES, vol.65, 2021 (Journal Indexed in SCI) identifier identifier

  • Publication Type: Article / Article
  • Volume: 65
  • Publication Date: 2021
  • Doi Number: 10.1016/j.cola.2021.101051
  • Keywords: Model-driven engineering, Round-trip engineering, Wireless Sensor Networks, TinyOS, DSML4TinyOS, RE4TinyOS, LANGUAGE


Wireless Sensor Network (WSN) applications working on TinyOS operating system is widely used in various areas. However, the requirement of managing the power constraints makes TinyOS different from ordinary systems and hence building WSNs with TinyOS can be a challenging and time-consuming task. As successfully applied in many other domains, model-driven engineering (MDE) can facilitate the design and implementation of such applications. Within this context, the researchers have performed noteworthy studies on deriving various MDE approaches and tools. However, these studies do not support the synchronization between TinyOS application models and the generated programs especially when any change is made in the programs. Hence, in this paper, we introduce a model-driven round-trip engineering (RTE) methodology in which both the MDE of TinyOS applications and synchronization between TinyOS instance models and corresponding code are provided with the use of a toolchain. A domain-specific modeling language, called DSML4TinyOS is used for the MDE of such applications while existing TinyOS programs can be reverse engineered in an environment, called RE4TinyOS. Models retrieved from the existing programs can be automatically processed again with DSML4TinyOS. Evaluation results showed that it is possible to obtain the configurations of the TinyOS applications completely just modeling with DSML4TinyOS whereas the same process leads the automatic creation of almost half of the module parts of these applications. Moreover, the time required for developing such systems from scratch decreased approximately to its half. The results also showed that both modelcode synchronization and the integration of existing TinyOS applications which do not have system models previously, into the proposed MDE are possible with using RE4TinyOS. RE4TinyOS succeeded in the reverse engineering of all main parts of the TinyOS applications taken from the official TinyOS Github repository and generated models were able to be visually processed in the MDE environment for further modifications.