Using reactive links to propagate changes across engineering models

  • Cosmina-Cristina Ratiu*
  • , Wesley Klewerton Guez Assuncao
  • , Edvin Herac
  • , Rainer Haas
  • , Christophe Lauwerys
  • , Alexander Egyed
  • *Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

Collaborative model-driven development is a de facto practice to create software-intensive systems in several domains (e.g., aerospace, automotive, and robotics). However, when multiple engineers work concurrently, keeping all model artifacts synchronized and consistent is difficult. This is even harder when the engineering process relies on a myriad of tools and domains (e.g., mechanic, electronic, and software). Existing work tries to solve this issue from different perspectives, such as using trace links between different artifacts or computing change propagation paths. However, these solutions mainly provide additional information to engineers, still requiring manual work for propagating changes. Yet, most modeling tools are limited regarding the traceability between different domains, while also lacking the efficiency and granularity required during the development of software-intensive systems. Motivated by these limitations, in this work, we present a solution based on what we call “reactive links”, which are highly granular trace links that propagate change between property values across models in different domains, managed in different tools. Differently from traditional “passive links”, reactive links automatically propagate changes when engineers modify models, assuring the synchronization and consistency of the artifacts. The feasibility, performance, and flexibility of our solution were evaluated in three practical scenarios, from two partner organizations. Our solution is able to resolve all cases in which change propagation among models were required. We observed a great improvement of efficiency when compared to the same propagation if done manually. The contribution of this work is to enhance the engineering of software-intensive systems by reducing the burden of manually keeping models synchronized and avoiding inconsistencies that potentially can originate from collaborative engineering in a variety of tool from different domains.
Original languageEnglish
Pages (from-to)1213-1239
Number of pages27
JournalSoftware and Systems Modeling
Volume24
Issue number4
Early online date10 Jun 2024
DOIs
Publication statusPublished - Aug 2025

Fields of science

  • 102 Computer Sciences
  • 102022 Software development
  • 203 Mechanical Engineering
  • 202034 Control engineering
  • 101 Mathematics
  • 202027 Mechatronics
  • 203033 Hydraulic drive technology
  • 202 Electrical Engineering, Electronics, Information Engineering
  • 202009 Electrical drive engineering
  • 202036 Sensor systems

JKU Focus areas

  • Digital Transformation
  • Sustainable Development: Responsible Technologies and Management

Cite this