Using Graph Clustering Algorithms to Modularize IEC 61499 Control Software

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

Abstract

Software size and complexity in all kinds of domains increase rapidly in recent times, making software maintenance and reusability increasingly difficult. Analysis of existing software and subsequent re-modularization can help with these challenges. Although software re-modularization can be time- and resource-intensive, it can support engineers in improving the quality of their systems in the future. Code can contain certain patterns, such as code smells, that define some kind of problematic implementation that is usually inefficient and hinders future development. We explore the use of a semantic clustering algorithm, which aims to minimize the code smell "Feature Envy". We apply this algorithm recursively to create a multi-level hierarchy. With this approach, we explore the re-modularization of existing IEC 61499 control systems. First tests we conducted on example implementations of a capping station and a real-life-sized industrial control system show a significant reduction of Feature Envy and thus the coupling between modules using this approach.
Original languageEnglish
Title of host publicationProceedings of the 28th IEEE IES International Conference on Emerging Technologies and Factory Automation (ETFA 2023)
Place of PublicationNew York, NY, United States
PublisherIEEE
Pages1-4
Number of pages4
ISBN (Electronic)9798350339918
ISBN (Print)979-8-3503-3991-8
DOIs
Publication statusPublished - Oct 2023

Publication series

NameIEEE International Conference on Emerging Technologies and Factory Automation, ETFA
Volume2023-September
ISSN (Print)1946-0740
ISSN (Electronic)1946-0759

UN SDGs

This output contributes to the following UN Sustainable Development Goals (SDGs)

  1. SDG 9 - Industry, Innovation, and Infrastructure
    SDG 9 Industry, Innovation, and Infrastructure

Fields of science

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

JKU Focus areas

  • Digital Transformation

Cite this