Abstract
Industrial control applications are usually designed by domain experts instead of software engineers. These experts frequently use visual programming languages based on standards such as IEC 61131-3 and IEC 61499. The standards apply model-based engineering concepts to abstract from hardware and low-level communication. Developing industrial control software is challenging due to the fact that control systems are usually unique and need to be maintained for many years. The arising challenges, together with the growing complexity of control software, require very usable model-based development environments for visual programming languages. However, so far only little empirical research exists on the practical usefulness of such environments, i.e., their usability and utility. In this paper, we discuss common control software maintenance tasks and tool capabilities based on existing research and show the realization of these capabilities in the 4diac IDE. We performed a walkthrough of the demonstrated capabilities using the cognitive dimensions of notations framework from the field of human–computer interaction. We then improved the tool and conducted a user study involving ten industrial automation engineers, who used the 4diac IDE in a realistic control software maintenance scenario. Based on lessons learnt from this study, we adapted the 4diac IDE to better handle large graphical models. We evaluated these changes in a reassessment study with automation engineers from seven industrial enterprises. We derive general implications with respect to large-scale applications for developers of IDEs that we deem applicable in the context of (visual) model-based engineering tools.
Similar content being viewed by others
References
Jolak, R., Savary-Leblanc, M., Dalibor, M., Wortmann, A., Hebig, R., Vincur, J., Polasek, I., Le Pallec, X., Gérard, S., Chaudron, M.R.V.: Software engineering whispers: the effect of textual versus graphical software design descriptions on software design communication. Empir. Softw. Eng. 25(6), 4427–4471 (2020)
Meliá, S., Cachero, C., Hermida, J.M., Aparicio, E.: Comparison of a textual versus a graphical notation for the maintainability of MDE domain models: an empirical pilot study. Softw. Qual. J. 24(3), 709–735 (2016)
National Instruments, “Labview 2020,” 2020. www.ni.com/en-us/shop/labview.html (2021). Accessed 23 Dec 2022
The MathWorks, “Simulink R2021a,” 2021. www.mathworks.com/products/simulink.html (2021). Accessed 23 Dec 2022
Harrison, R., Vera, D., Ahmad, B.: Engineering methods and tools for cyber-physical automation systems. Proc. IEEE 104(5), 973–985 (2016)
International Electrotechnical Commission (IEC), “IEC 61131 - Programmable controllers, Part 3: Programming languages,” Geneva (2014)
International Electrotechnical Commission (IEC), TC65/WG6, “IEC 61499-1, Function Blocks - part 1: Architecture: Edition 2.0,” Geneva (2012)
Vogel-Heuser, B., Fay, A., Schaefer, I., Tichy, M.: Evolution of software in automated production systems: challenges and research directions. J. Syst. Softw. 110, 54–84 (2015)
Vogel-Heuser, B., Diedrich, C., Fay, A., Jeschke, S., Kowalewski, S., Wollschlaeger, M., Göhner, P.: Challenges for software engineering in automation. J. Softw. Eng. Appl. 7(5), 440–451 (2014)
Törngren, M., Grogan, P.: How to deal with the complexity of future cyber-physical systems? Designs 2(4), 40 (2018)
Eclipse 4diac. (2020) Eclipse 4diac—the open source environment for distributed industrial automation and control systems. www.eclipse.org/4diac (2021). Accessed 23 Dec 2022
Weber, T., Zoitl, A., Hußmann, H.: Usability of development tools: a case-study. In: 2019 ACM/IEEE 22nd international conference on model driven engineering languages and systems companion (MODELS-C), 228–235. IEEE (2019)
Holzinger, A.: Usability engineering methods for software developers. Commun. ACM 48(1), 71–74 (2005)
Nielsen, J.: Usability Engineering. Morgan Kaufmann, Burlington (1994)
Seaman, C.B.: Qualitative methods in empirical studies of software engineering. IEEE Trans. Softw. Eng. 25(4), 557–572 (1999)
Rabiser, R., Vierhauser, M., Grünbacher, P.: Assessing the usefulness of a requirements monitoring tool: A study involving industrial software engineers. In: 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C), 122–131 (2016)
Blackwell, A., Green, T.: CHAPTER 5 - Notational systems–the cognitive dimensions of notations framework. In: Carroll, J.M. (ed.) Interactive Technologies. HCI Models, Theories, and Frameworks. Morgan Kaufmann, pp. 103–133 (2003) https://doi.org/10.1016/B978-155860808-5/50005-8 ( ISBN 9781558608085)
Wiesmayr, B., Zoitl, A., Rabiser, R.: Assessing the usefulness of a visual programming ide for large-scale automation software. In: 2021 ACM/IEEE 24th International Conference on Model Driven Engineering Languages and Systems (MODELS). ACM. https://epub.jku.at/obvulioa/content/titleinfo/6603944 (2021)
Holwerda, R., Hermans, F.: A usability analysis of blocks-based programming editors using cognitive dimensions. In: 2018 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), 217–225. IEEE (2018)
Obermeier, M., Braun, S., Vogel-Heuser, B.: A model-driven approach on object-oriented PLC programming for manufacturing systems with regard to usability. IEEE Trans. Industr. Inf. 11(3), 790–800 (2015)
Bayrak, G., Ocker, F., Vogel-Heuser, B.: Evaluation of selected control programming languages for process engineers by means of cognitive effectiveness and dimensions. J. Softw. Eng. Appl. 10(5), 457–481 (2017)
Vogel-Heuser, B., Feldmann, S., Folmer, J., Ladiges, J., Fay, A., Lity, S., Tichy, M., Kowal, M., Schaefer, I., Haubeck, C., Lamersdorf, W., Kehrer, T., Getir, S., Ulbrich, M., Klebanov, V., Beckert, B.: Selected challenges of software evolution for automated production systems. In: IEEE 13th International Conference on Industrial Informatics (INDIN) 2015, 314–321 (2015)
Obermeier, M., Braun, S., Sommer, K., Vogel-Heuser, B.: Fundamental aspects concerning the usability evaluation of model-driven object oriented programming approaches in machine and plant automation. In: Marcus A., (ed) Design, User Experience, and Usability. Theory, Methods, Tools and Practice, ser. Lecture Notes in Computer Science, 6770, 497–506. Springer, Berlin Heidelberg (2011)
Legat, C., Folmer, J., Vogel-Heuser, B.: Evolution in industrial plant automation: a case study. In: IECON 2013—39th Annual Conference of the IEEE Industrial Electronics Society, 4386–4391. IEEE (2013)
Fischer, J., Vogel-Heuser, B., Haben, F., Schaefer, I.: Reengineering workflow for planned reuse of IEC 61131-3 legacy software. In: 2020 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM). IEEE, 1126–1130 (2020)
Hopsu, A., Atmojo, U. D., Vyatkin, V.: On portability of IEC 61499 compliant structures and systems. In: 2019 IEEE 28th International Symposium on Industrial Electronics (ISIE), 1306–1311. IEEE (2019)
Lyu, G., Brennan, R.W.: Towards IEC 61499-based distributed intelligent automation: a literature review. IEEE Trans. Industr. Inf. 17(4), 2295–2306 (2021)
nxtControl GmbH.: Nxt technology IDE. www.nxtcontrol.com/engineering/ (2021). Accessed 23 Dec 2022
Rockwell Automation: ISaGRAF development toolkit. www.isagraf.com (2021). Accessed 23 Dec 2022
Holobloc, Inc.: Function block development kit (FBDK). www.holobloc.com (2021). Accessed 23 Dec 2022
Sorokin, Radimir: (2021) FBME (Function Blocks Modelling Environment). https://github.com/JetBrains/fbme (2021). Accessed 23 Dec 2022
Sorokin, R., Patil, S., Vyatkin, V.: Novel development tool for iec 61499 based on domain-specific languages. In: 14th IFAC Workshop on Intelligent Manufacturing Systems, 433–438. Springer (2022)
Oberlehner, M., Sonnleithner, L., Wiesmayr, B., Zoitl, A., VaSiCS, C.: Catalog of refactoring operations for IEC 61499. in: 2021 26th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA ), 01–04 (2021)
Sonnleithner, L., Oberlehner, M., Kutsia, E., Zoitl, A., Bácsi, S.: Do you smell it too? towards bad smells in iec 61499 applications. In: 2021 26th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA ), 1–4 (2021)
Sonnleithner, L., Zoitl, A.: A software measure for IEC 61499 basic function blocks. In: 25th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), 1, 997–1000 (2020)
Zoitl, A., Strasser, T., Ebenhofer, G.: Developing modular reusable IEC 61499 control applications with 4DIAC. In: 2013 11th IEEE International Conference on Industrial Informatics (INDIN), 358–363. IEEE (2013)
Ovsiannikova, P., Vyatkin, V.: Towards user-friendly model checking of iec 61499 systems with counterexample explanation. In: 2021 26th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA ), 01–04 (2021)
Davis, F.D.: Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Q. 13(3), 319 (1989)
Ko, A.J., LaToza, T.D., Burnett, M.M.: A practical guide to controlled experiments of software engineering tools with human participants. Empir. Softw. Eng. 20(1), 110–141 (2015)
Runeson, P., Höst, M.: Guidelines for conducting and reporting case study research in software engineering. Empir. Softw. Eng. 14(2), 131–164 (2009)
Wiesmayr, B., Zoitl, A., Rabiser, R.: Assessing the Usefulness of a Visual Programming IDE for Large-Scale Automation Software: Documents for Performing a User Study on Maintaining Hierarchical Control Applications with 4diac IDE. Zenodo. https://doi.org/10.5281/ZENODO.4758816 (2021)
Rubel, D., Wren, J., Clayberg, E.: The Eclipse Graphical Editing Framework (GEF). The eclipse series, Addison-Wesley, Boston (2012)
Zoitl, A., Prähofer, H.: Guidelines and patterns for building hierarchical automation solutions in the IEC 61499 modeling language. IEEE Trans. Industr. Inf. 9(4), 2387–2396 (2013)
Fuhrmann, H., von Hanxleden, R.: Taming graphical modeling. In: Petriu, D. C., Rouquette, N., Haugen, Ø. (eds) Model Driven Engineering Languages and Systems, ser. Lecture Notes in Computer Science, 6394, 196–210. Springer (2010)
Cicchetti, A., Ciccozzi, F., Pierantonio, A.: Multi-view approaches for software and system modelling: a systematic literature review. Softw. Syst. Model. 18(6), 3207–3233 (2019)
Balzer, R.: Tolerating inconsistency (software development). In: Proceeding 13th International Conference on Software Engineering, 1991, 158–165. IEEE (1991)
Balzer, R.: Tolerating inconsistency. In: Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001, 665 (2001)
Kritzinger, L.M., Krismayer, T., Rabiser, R., Grünbacher, P.: A user study on the usefulness of visualization support for requirements monitoring. In: Working Conference on Software Visualization (VISSOFT) 2019, 56–66 (2019)
Mackay, W. E.: Triggers and barriers to customizing software. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 153–160 (1991)
Hofstetter, P., Mettier, T.M.: What users want and may need: insights from a survey of users of a life-cycle tool. J. Ind. Ecol. 7(2), 79–101 (2003)
Xu, T., Jin, L., Fan, X., Zhou, Y., Pasupathy, S., Talwadker, R.: Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, 307–319 (2015)
Zoitl, A., Lewis, R.W.: Modelling Control Systems Using IEC 61499. IET Control Engineering Series, 2nd edn. IET, London (2014)
Nielsen, J., Landauer, T. K.: A mathematical model of the finding of usability problems. In: Proceedings INTERACT ’93 and CHI ’93 Conference on Human Factors in Computing Systems, ser. CHI ’93. Association for Computing Machinery, New York, 206-213 (1993)
Acknowledgements
The financial support by the Austrian Federal Ministry for Digital and Economic Affairs, the National Foundation for Research, Technology and Development, and the Christian Doppler Research Association is gratefully acknowledged. We want to thank our industry partner for their continuous support. We particularly thank all participants of the study.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Shiva Nejati and Daniel Varro.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Wiesmayr, B., Zoitl, A. & Rabiser, R. Assessing the usefulness of a visual programming IDE for large-scale automation software. Softw Syst Model 22, 1619–1643 (2023). https://doi.org/10.1007/s10270-023-01084-7
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-023-01084-7