Refactoring with Confidence: An Assistant for Repair-Integrated Refactoring in Block-based Industrial Models

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

When designing cyber-physical systems, especially in industrial automation, model-driven engineering plays an essential role in ensuring software maintainability and supporting evolution. Whereas textual programming environments provide mature tool support for refactoring and maintenance, equivalent capabilities in many industrial visual languages, such as IEC 61499 and Simulink, remain underdeveloped. This research addresses the challenges of maintaining and refactoring models in typed block-based modeling languages, such as IEC 61499 and Simulink, which are frequently used in industry. We propose a methodology that embeds repair mechanisms directly into refactoring processes, ensuring model consistency and minimizing manual intervention. By introducing a meta-model-based approach, we identify common maintenance operations and systematically define transformations that preserve the execution semantics while improving maintainability. Our approach is evaluated through a cross-language implementation, demonstrating its applicability across different modeling tools and industrial settings. We developed the concepts and assistance tools in close collaboration with our industry partner to enable software maintenance of large-scale automation software. The lessons learned are generalizable for various tool developers and contribute to error-resilient model evolution in visual modeling environments.
Original languageEnglish
Title of host publication2025 ACM/IEEE 28th International Conference on Model Driven Engineering Languages and Systems (MODELS)
Place of PublicationLos Alamitos, CA, USA
PublisherIEEE Computer Society 2012
Pages96-106
Number of pages11
Edition1
DOIs
Publication statusPublished - 01 Oct 2025

Fields of science

  • 202003 Automation
  • 102022 Software development
  • 202017 Embedded systems
  • 202041 Computer engineering
  • 102029 Practical computer science
  • 102025 Distributed systems
  • 102 Computer Sciences

JKU Focus areas

  • Digital Transformation

Cite this