With the increasing presence of cyber-physical systems (CPSs), like autonomous vehicle systems and digital twins, the future of software engineering is predicated on the importance of designing and developing data-centric software systems that can adapt intelligently at run time. CPSs consist of complex heterogeneous software components. Model-driven engineering advocates using software models to tame such complexity, capturing the relevant design concerns of such systems at different levels of abstraction. Yet most of the existing CPSs are engineered without considering MDE practices and tools, facing fundamental challenges when working with data: monitoring the program data at run time, syncing updates between program and model, dealing with heterogeneous data sources, and representing such observed data at run time to facilitate automated analysis. In this work, we introduce the notion of view models to explicitly represent parts of the domain knowledge implicitly embedded in the source code of a software system. This notion is equipped with a scalable bidirectional syncing mechanism that extracts view model instances from program snapshots at run time. The syncing mechanism is proposed from a conceptual point of view, independently of specific implementations and supports incremental view model update and view model maintenance. We show how this syncing mechanism is flexible enough to facilitate the non-intrusive adoption of MDE technology over existing MDE-agnostic heterogeneous data-centric systems. We study the run-time cost implied by the EMF-Syncer , the tool implementing this syncing mechanism for Java applications and view models atop the eclipse modeling framework (EMF) when executing data analytic and transformation tasks over large volumes of data in the presence of data updates at run time. An empirical evaluation of the EMF-Syncer has been conducted with an industry-targeted benchmark for decision support systems, analyzing performance and scalability. The novel syncing mechanism enables new opportunities to adopt MDE technology in heterogeneous data-centric systems.
Read full abstract