Zusammenfassung
Im Rahmen von Industrie 4.0 steigen die Anforderungen an Flexibilität und Autonomie von Maschinen- und Anlagen sowie ihrer Bestandteile stetig an. Um diesen Anforderungen bei gleichbleibender Softwarequalität gerecht zu werden, ohne dabei die Entwicklungszeit von Steuerungssoftware zu erhöhen, ist die Verwendung modularer, wiederverwendbarer Softwaremodule ein wirksamer Hebel, denn ein modulares Design von Steuerungssoftware erhöht zum einen durch die Kapselung der Daten und klare Trennung der implementierten Funktionalitäten die Verständlichkeit von Steuerungssoftware. Zum anderen ermöglicht das modulare Design durch klar definierte Schnittstellen den Austausch einzelner Softwareteile bzw. die Interaktion autonomer Systeme nach Prinzipien wie Plug & Produce.
In diesem Beitrag werden zunächst die Kriterien modularer Software eingeführt und in den Kontext der gewählten Softwarearchitektur gesetzt, welche sich oftmals an den Architekturrichtlinien der betrachteten Anwendungsdomäne orientiert. Zudem werden aktuelle Ansätze aus der Forschung zur quantitativen Bewertung der Reife von modularen Steuerungssoftwareteilen, wie z. B. Bibliotheksmodulen, präsentiert. Die metrikbasierte Berechnung der Reife ermöglicht eine objektive Aussage, welche zum einen als Grundlage für die Freigabe von Bibliotheksmodulen verwendet werden kann, darüber hinaus aber auch beispielsweise zur Testfallpriorisierung nutzbar ist. Zusätzlich unterstützen Metriken die Identifikation schwer verständlicher oder suboptimal umgesetzter Softwareteile, was anhand einer mit Industriesoftware evaluierten Metrik für Funktionsbausteinsprache (eine graphische Programmiersprache, definiert in der Norm IEC 61131-3) gezeigt wird. Basierend auf diesen Grundlagen, wird ein Anwendungsbeispiel aus der Domäne der Intralogistik beschrieben, um mithilfe von Codeanalyse und unter Verwendung von Softwaremetriken den Transfer von historisch gewachsener Legacy Software hin zu modularer Software als Basis für autonome Systeme zu schaffen. Im Rahmen der Codeanalyse von Legacy Software können hierbei durch die Analyse von Modulschnittstellen und von direktem sowie indirektem Datenaustausch in der Software Potenziale aufgezeigt werden, um die Modularität der analysierten Software zu erhöhen und diese geplant wiederzuverwenden. Hierbei spielt auch die Betrachtung verschiedener Varianten der analysierten Steuerungssoftware eine große Rolle, da beispielsweise bekannte Varianten eines Bibliotheksmoduls soweit wie möglich im geplanten Wiederverwendungskonzept berücksichtig werden müssen. Der Beitrag schließt mit einer kurzen Zusammenfassung ab.
Literatur
Angerbauer R (2002) Baukastensystematik in der Steuerungstechnik auf Basis einer Föderalen Informationsarchitektur. In: Proceedings of the National Workshop within the ARMMS Project, Universität Stuttgart, 20 März 2002
Balzert H (2009) Prinzipien. In: Balzert H (Hrsg) Lehrbuch der Softwaretechnik: Basiskonzepte und Requirements Engineering, 3. Aufl. Spektrum Akademischer, Heidelberg, S 25–51
Capitán L, Vogel-Heuser B (2017) Metrics for software quality in automated production systems as an indicator for technical debt. In: 13th IEEE Conference on Automation Science and Engineering (CASE), IEEE, Xi’an, 20–23 August 2017
Cuesta CE, Romay MP, de la Fuente P, Barrio-Solórzano M (2004) Reflection-Based, Aspect-Oriented Software Architecture. In: Oquendo F, Warboys BC, Morrison R (Hrsg) Software Architecture. EWSA 2004. Lecture Notes in Computer Science, vol 3047. Springer, Berlin, Heidelberg, S 43–56
Feldhusen J, Grote KH, Göpfert J, Tretow G (2013) Technische Systeme. In: Feldhusen J, Grote KH (Hrsg) Konstruktionslehre, 8. Aufl. Springer, Berlin/Heidelberg, S 237–279
Fischer J, Bougouffa S, Schlie A, Schaefer I, Vogel-Heuser B (2018a) A qualitative study of variability management of control software for industrial automation systems. In: IEEE 34th International Conference on Software Maintenance and Evolution, Madrid, 23–29 September, S 615–624
Fischer J, Marcos M, Vogel-Heuser B (2018b) Model-based development of a multi-agent system for controlling material flow systems. Automatisierungstechnik (at) 66:438–448
Halstead MH (1977) Elements of software science. Elsevier, New York
Helbing KW (2010) Grundlagen der systematischen und methodischen Fabrikprojektierung. In: Helbing KW (Hrsg) Handbuch Fabrikprojektierung. Springer, Berlin/Heidelberg, S S 87–S182
Henry S, Kafura D (1981) Software structure metrics based on information flow. IEEE Trans Softw Eng 5:510–518
Hirtz J, Stone RB, McAdams DA, Szykman S, Wood KL (2002) A functional basis for engineering design: reconciling and evolving previous efforts. Res Eng Des 13:65–82
International Society of Automation (2010) Batch control – Part 1: models and terminology, ISA-8800.01
Internationale Organisation für Normung/Internationale Elektrotechnische Kommission (2011) Software-Engineering – Qualitätskriterien und Bewertung von Softwareprodukten (SQuaRE) – Qualitätsmodell und Leitlinien, ISO/IEC 25010
Kang KC, Cohen SG, Hess JA, Novak WE, Peterson AS (1990) Feature-oriented domain analysis (FODA) feasibility study. Carnegie-Mellon University Pittsburgh, Software Engineering Institute
Katzke U, Vogel-Heuser B, Fischer K (2004) Analysis and state of the art of modules in industrial automation. Automatisierungstechnische Praxis (atp) 46:23–31
Lackes R, Siepermann M (2019) Gabler Wirtschaftslexikon, Stichwort Modul. https://wirtschaftslexikon.gabler.de/definition/modul-40077/version-263472. Zugegriffen am 27.11.2019
Maga C, Jazdi N, Göhner P (2011) Reusable Models in Industrial Automation: Experiences in Defining Appropriate Levels of granularity. In: Preprints of the 18th IFAC World Congress, Milano, 28 August – 2 September 2011, S 9145–9150
Mahler C (2014) Automatisierungsmodule für ein funktionsorientiertes Automatisierungsengineering. Dissertation, Helmut-Schmidt-Universität/Universität der Bundeswehr Hamburg
McCabe TJ (1976) A complexity measure. IEEE Trans Softw Eng 4:308–320
Meyer B (1988) Object-oriented software construction, Second. Aufl. Prentice Hall, New York
Organization for Machine Automation and Control (OMAC) (2016) PackML unit/machine implementation guide part 1: PackML interface state manager. http://omac.org/wp-content/uploads/2016/11/PackML_Unit_Machine_Implementation_Guide-V1-00.pdf. Zugegriffen am 28.11.2019
Reussner RH, Schmidt HW, Poernomo ICH (2003) Reliability prediction for component-based software srchitectures. J Syst Softw 3:241–252
Spindler M, Aicher T, Vogel-Heuser B, Günther WA (2016) Efficient control software design for automated material handling systems based on a two-layer architecture. IEEE International Conference on Advanced Logistics and Transport (ICALT), Krakow, Juni 2016, S 1–6
Spindler M, Aicher T, Vogel-Heuser B, Fottner J (2017) Erstellung von Steuerungssoftware für automatisierte Materialflusssysteme per Drag & Drop. In: Fachkolloquium der wissenschaftlichen Gesellschaft für technische Logistik, Graz, Österreich, S 89–96
Verein Deutscher Ingenieure (VDI), Verband Deutscher Maschinen- und Anlagenbau (VDMA) (2016) Softwarearchitektur für die Intralogistik (SAIL), VDI/VDMA-Richtlinienentwurf 5100
Vogel-Heuser B, Ocker F (2018) Maintainability and evolvability of control software in machine and plant manufacturing – an industrial survey. Control Eng Pract 1:157–173
Vogel-Heuser B, Fischer J, Rösch S, Feldmann S, Ulewicz S (2015) Challenges for maintenance of PLC-software and its related hardware for automated production systems: selected industrial case studies. In: IEEE International Conference on Software Maintenance and Evolution, Bremen, 29 September – 1 October 2015, S 362–371
Vogel-Heuser B, Fischer J, Feldmann S, Ulewicz S, Rösch S (2017) Modularity and architecture of PLC-based software for automated production systems: an analysis in industrial companies. J Syst Softw 131:35–62
Vogel-Heuser B, Fischer J, Neumann E, Diehm S (2018) Key maturity indicators for module libraries for PLC-based control software in the domain of automated production systems. In: 16th IFAC symposium on information control problems in manufacturing. Bergamo, Italien, 11–13 June 2018, S 1610–1617
Vytakin V (2011) IEC 61499 as enabler of distributed and intelligent automation: state-of-the-art review. IEEE Trans Ind Inf 4:768–781
Wilch J, Fischer J, Neumann EM, Diehm S, Schwarz M, Lah E, Wander M, Vogel-Heuser B (2019) Introduction and evaluation of complexity metrics for network-based, graphical IEC 61131-3 programming languages. In: 45th Annual Conference of the IEEE Industrial Electronics Society (IECON), Lisbon, 14–17 October 2019, S 417–423
Wilke M (2006) Wandelbare automatisierte Materialflusssysteme für dynamische Produktionsstrukturen. Dissertation, Technische Universität München
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Section Editor information
Rights and permissions
Copyright information
© 2020 Springer-Verlag GmbH Deutschland, ein Teil von Springer Nature
About this entry
Cite this entry
Vogel-Heuser, B., Fischer, J., Neumann, EM. (2020). Softwaremodularität als Voraussetzung für autonome Systeme. In: ten Hompel, M., Vogel-Heuser, B., Bauernhansl, T. (eds) Handbuch Industrie 4.0. Springer Reference Technik (). Springer Vieweg, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-45537-1_134-1
Download citation
DOI: https://doi.org/10.1007/978-3-662-45537-1_134-1
Received:
Accepted:
Published:
Publisher Name: Springer Vieweg, Berlin, Heidelberg
Print ISBN: 978-3-662-45537-1
Online ISBN: 978-3-662-45537-1
eBook Packages: Springer Referenz Technik und Informatik