Introduction and Evaluation of Complexity Metrics for Network-based, Graphical IEC 61131-3 Programming Languages

The development of automated Production Systems (aPS) is an interdisciplinary process, where an increasing part of the system's functionality is realized in the respective control software. Such software projects commonly utilize programming languages standardized in IEC 61131–3. To measure, improve, and maintain source code while also promoting trust in its capabilities, an objective assessment of its characteristics is necessary. Software metrics are a means for such an evaluation. While there is an abundance of metrics available from the classical software engineering domain, these metrics focus on textual programming languages. IEC 61131–3, however, defines graphical languages, which are not targeted by renowned concepts in computer science. Besides, former research demonstrates that software engineering metrics for textual languages need adaption to be applicable in the aPS domain. Thus, this paper introduces a metrics suite consisting of adapted and newly developed measures, which focus on the graphical IEC 61131–3 language Function Block Diagram. The results are prototypically implemented in one of the leading integrated development environments for IEC 61131–3 and then evaluated regarding their understandability and applicability by practitioners at a German aPS manufacturer.

[1]  Kleanthis Thramboulidis,et al.  The 3+1 SysML View-Model in Model Integrated Mechatronics , 2010, J. Softw. Eng. Appl..

[2]  Sebastian Ulewicz,et al.  Analysis framework for evaluating PLC software: An application of Semantic Web technologies , 2016, 2016 IEEE 25th International Symposium on Industrial Electronics (ISIE).

[3]  Sebastian Ulewicz,et al.  Challenges for maintenance of PLC-software and its related hardware for automated production systems: Selected industrial Case Studies , 2015, 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[4]  Birgit Vogel-Heuser,et al.  Key maturity indicators for module libraries for PLC-based control software in the domain of automated Production Systems , 2018 .

[5]  Maurice H. Halstead,et al.  Elements of software science , 1977 .

[6]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[7]  M. O. Lorenz,et al.  Methods of Measuring the Concentration of Wealth , 1905, Publications of the American Statistical Association.

[8]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[9]  Raoul Praful Jetley,et al.  Source Code Metrics for Programmable Logic Controller (PLC) Ladder Diagram (LD) Visual Programming Language , 2016, 2016 IEEE/ACM 7th International Workshop on Emerging Trends in Software Metrics (WETSoM).

[10]  C. Gini Variabilita e Mutabilita. , 1913 .

[11]  Elaine J. Weyuker,et al.  Evaluating Software Complexity Measures , 2010, IEEE Trans. Software Eng..

[12]  Birgit Vogel-Heuser,et al.  Metrics for software quality in automated production systems as an indicator for technical debt , 2017, 2017 13th IEEE Conference on Automation Science and Engineering (CASE).