Modulare Softwareentwicklung für Bahnanwendungen - ITK ...

Die Seite wird erstellt Justin Schumacher
 
WEITER LESEN
Modulare Softwareentwicklung für Bahnanwendungen - ITK ...
SOFTWARE | SOFTWARE

     Modulare Softwareentwicklung für
     Bahnanwendungen
                                                                    Modular software development for
                                                                                  railway applications
     Tobias Hofbaur | Thomas Freissler | David Seider | Marcin Slodkowski

                                                                                                                                                Homepageveröffentlichung unbefristet genehmigt für ITK Engineering GmbH /
     I m Hinblick auf die Entwicklungsarbeit in der Bahntechnik ist
                                                                              S   oftware (SW) development is figuring ever more promi-

                                                                                                                                                Rechte für einzelne Downloads und Ausdrucke für Besucher der Seiten
       ein steigender Anteil der Softwareentwicklung (SW, Software)               nently in the value chain connected with efforts aimed
     in der Wertschöpfungskette zu erkennen. Komplexe Sicherheits-            at advancing the state of the art in railway engineering. It is
     und Komfortfunktionen lassen sich zunehmend nicht mehr allein            becoming increasingly impossible to deliver complex safe-
     in Hardware (HW) abbilden. Hinzu kommen die schnelleren und              ty functions and comfort-and-convenience features through
     vielfältigeren Individualisierungsmöglichkeiten, die durch SW-           hardware (HW) alone. In addition, SW components offer
     Anteile erreicht werden können. Gerade die Variantenvielfalt für         faster, more diverse customising options. However, it is pre-
     verschiedene Kunden erfordert jedoch einen flexiblen Entwick-            cisely this diversity of variants for different customers that
     lungsansatz, der Synergien zwischen den einzelnen Endproduk-             requires a flexible approach to development; i. e. a meth-
     ten geschickt nutzbar macht. Durch den größeren Anteil von SW            od that makes the most of synergies among the individu-

                                                                                                                                                genehmigt von DVV Media Group GmbH 2020
     entstehen aber auch neue Herausforderungen im Betrieb, wie               al end products. New operating challenges are emerging as
     beispielsweise die Behebung von Fehlern und Schwachstellen in            the share of SW grows; for example, how to deploy bug fix-
     der Applikation (Bugfixes). Allgemein fordert der Zeit- und Kos-         es in order to eliminate faults and vulnerabilities in the ap-
     tendruck eine dahingehend optimierte, auf eine effiziente Frei-          plication. Developmental efforts generally have to be stream-
     gabe und schnelle Zulassung getrimmte Entwicklung. Dies stellt           lined for efficient approval and fast certification in order to
     eine Vielzahl von Herausforderungen an mögliche Lösungen wie             be able to hold up under the pressure of tight schedules and
     etwa ein hohes Automatisierungslevel, Variabilität und die Un-           budgets. This places great demands on potential solutions.
     terstützung inkrementeller Entwicklung. Im Folgenden wird dar-           For example, they have to be highly automated and variable
     gestellt, wie ein modularer Ansatz in der SW-Entwicklung helfen          and support incremental development. The following article
     kann, dieser Problemstellung zu begegnen.                                describes how a modular approach to SW development can
                                                                              help address this issue
     1 Modularität als Antwort auf die Herausforderungen
                                                                              1 Modularity – an answer to these challenges
     Eine Bahnanwendung wird als modular bezeichnet, wenn sie
     aus einzelnen, weitgehend unabhängigen Einheiten (Bausteinen             A railway application is modular, if it consists of individual,
     oder Komponenten) zusammengesetzt ist, die über klar definier-           largely independent units variously called building blocks, mod-
     te Schnittstellen zusammenwirken. Das Gegenteil einer modula-            ules or components that interact via clearly defined interfaces.
     ren Struktur ist ein Monolith, bei dem „alles mit allem“ zusammen-       The opposite of a modular structure is a monolith where every-
     hängt und ein Herauslösen einzelner Funktionen nicht oder nur            thing is connected to everything else, making it difficult – if not
     mit sehr großem Aufwand möglich ist.                                     impossible – to isolate the individual functions.
     Das grundlegende Prinzip der Modularität ist im Bahnbereich weitläu-     The basic principle of modularity is widely known in the rail
     fig bekannt und bereits an vielen Stellen erfolgreich eingesetzt wor-    sector and has been successfully applied in many areas. One ex-
     den. Als Beispiel lassen sich die einzelnen Baugruppen für verschiede-   ample involves the individual modules for the different train
     ne Zugbeeinflussungssysteme nennen, die auf einem Triebfahrzeug          control systems that are installed and used together on a trac-
     gemeinsam verbaut werden und zum Einsatz kommen. Das Grund-              tion vehicle. This basic principle has become embedded in all
     prinzip ist in allen Sicherheitsnormen für Bahnanwendungen veran-        the safety standards for railway applications, even if the term it-
     kert, selbst dort wo der Begriff an sich nicht aufgeführt wird.          self goes unmentioned.
     Insbesondere die SW-Entwicklungsnormen DIN EN 50128 [1] bzw.             The DIN EN 50128 [1] and DIN EN 50657 [2] SW development
     DIN EN 50657 [2] fordern für sicherheitsrelevante und empfehlen          standards specifically insist upon a modular approach for safe-
     dringend für nicht-sicherheitsrelevante SW einen modularen An-           ty-relevant SW and strongly recommend it for non-safety-rele-
     satz.                                                                    vant SW.
     Liegt ein bestehendes nicht-modulares System vor, so lässt es sich mit   If a non-modular system is required, it can be modularised with
     gewissem Aufwand modularisieren, d. h. in eine modulare Struktur         a certain amount of effort; that is to say that it can be broken
     zerlegen. Als Beispiel dient eine komplette Antriebssystemeinheit, die   down into a modular structure. A unit containing the complete
     alle Antriebskomponenten innerhalb eines Tragrahmens vereint und         propulsion system can serve as an example here. Combining
     als Ganzes in einem Triebwagen (z. B. unterflur oder auf dem Dach)       all the propulsion components into one support frame means

42   SIGNAL + DRAHT (112) 11 / 2020
Modulare Softwareentwicklung für Bahnanwendungen - ITK ...
SOFTWARE | SOFTWARE

verbaut werden kann. Um für die steigende Anzahl an Varianten effi-     that the unit can be installed in its entirety in a single railcar,
zient erstellte und kurzfristig an Kundenwünsche anpassbare Produk-     e. g. under the floor or on the roof. It is advisable to modular-
te liefern zu können, bietet es sich an, den Aufbau dieser Einheit zu   ise this unit’s structure in order to be able to deliver efficiently
modularisieren. Die modulare Struktur spiegelt sich insbesondere in     engineered products for the growing number of variants in the
dem Aufbau und der Handhabung der SW für das zugehörige zentra-         market; products that quickly adapt to customers’ requirements.
le Steuergerät wider, das für die Steuerung und Gesamtüberwachung       This modular structure is also reflected in the design and han-
des Antriebssystems zuständig ist.                                      dling of the SW for the central unit that controls and monitors
Die Vorteile eines solchen Ansatzes überwiegen die Nachteile bei        the propulsion system.
Weitem: So lässt sich etwa eine Komponente leicht durch eine an-        The benefits of this kind of approach far outweigh the draw-
dere oder neuere Variante ersetzen, solange die Schnittstellen ver-     backs: if the interfaces are or can be made compatible, one
einbar sind – ohne den Rest des Systems ändern zu müssen. Bei-          component may easily be swapped for another or replaced
spielsweise kann statt eines elektrischen ein hydraulisches Kühl-       with a newer variant without having to modify the rest of the
system verwendet werden oder umgekehrt. Ein weiteres Szenario           system. For example, engineers can deploy a hydraulic cooling
stellt nach ein paar Jahren Laufzeit eine mit minimalem Aufwand         system instead of an electric one, or vice versa. Later, when the

                                                                                                                                                Homepageveröffentlichung unbefristet genehmigt für ITK Engineering GmbH /
durchführbare Umrüstung der Antriebseinheit auf weiterentwi-            propulsion unit has been operating for a few years, it can be
ckelte Dieselmotoren dar, die höhere Abgasnormen erfüllen. Dies         converted to advanced diesel engines that meet higher emis-
zeigt, dass Modularität auch Zukunftsfähigkeit sicherstellt. Es las-    sions standards with minimal effort. This scenario illustrates

                                                                                                                                                Rechte für einzelne Downloads und Ausdrucke für Besucher der Seiten
sen sich außerdem ungünstige Abhängigkeiten (sog. Lock-Ins)             that modularity can also help ensure future viability. A mod-
von Komponentenlieferanten vermeiden, da bereits bei der Kon-           ular setup also prevents vendor lock-in. Developers can con-
zeptionierung verschiedene Hersteller in Betracht gezogen wer-          sider different manufacturers’ products during the concep-
den können. Die einzelnen Bausteine werden dabei nicht nur für          tual phase in order to spare the customer the uncomfortable
ein einziges Produkt entwickelt, sondern sind in vielen ähnlichen       position of becoming overly reliant upon component suppli-
Produkten ohne Änderung wiederverwendbar. Dadurch lässt sich            ers. The individual building blocks are not developed for a
ein neues Produkt, das auf bereits existierenden Komponenten            single product. Instead, they are designed for reuse in many
basiert, innerhalb kurzer Zeit zusammensetzen und liefern. Au-          similar products without requiring any modifications. This
ßerdem sind die Funktionen und Aufgaben der Komponenten                 means that a new product can be rapidly assembled and deliv-

                                                                                                                                                genehmigt von DVV Media Group GmbH 2020
eindeutig geregelt, was Inbetriebnahme, Änderungen, Instand-            ered based on legacy components. In addition, the component
haltung und Wartung übersichtlich macht. Die modulare Struktu-          functions and tasks are clearly defined, which simplifies com-
rierung unterstützt ferner eine Bedrohungsanalyse in Bezug auf          missioning, modification, servicing and maintenance. The
Zugriffsschutz und IT-Sicherheit, was eine klare Zuteilung von Se-      modular structure also supports a threat analysis in relation
curity-Anforderungen ermöglicht.                                        to access protection and IT security, thereby enabling the se-
Die genannten Vorteile gelten ebenso für die zugehörige SW des          curity requirements to be clearly allocated.
zentralen Steuergeräts. Bei deren modularer Struktur sollte insbe-      The aforementioned benefits also apply to the central control
sondere darauf geachtet werden, dass eine weitgehende HW-Un-            unit’s SW. Particular attention should be paid to ensuring that
abhängigkeit gegeben ist. Das bedeutet, dass die SW mit gerin-          the SW’s modular structure is such that any HW dependencies
gen Aufwänden auf eine neuere oder andere HW-Basis portierbar           are limited to the smallest possible degree. That way, the SW can
ist.                                                                    be readily ported to a newer or different HW platform.
Natürlich verlangt die Entwicklung eines modularen Konzepts ei-         Of course, it takes more effort up front to develop a modu-
nen höheren Initialaufwand als bei einem monolithischen System,         lar concept than a monolithic system, but the total lifecycle
auf mittel- und langfristige Sicht allerdings sind die gesamten Le-     costs are significantly lower when looking further into the fu-
benszykluskosten (insbesondere wenn die einzelnen Komponen-             ture, especially if the individual components are frequently re-
ten häufig wiederverwendet werden) deutlich geringer. Zudem             used. In addition, the overall performance of interacting com-
wird durch die fest vorgegebenen Schnittstellen möglicherwei-           ponents may suffer due to the rigid interfaces. Efforts aimed
se an Performanz beim Zusammenwirken eingebüßt, da nur in-              at optimising performance can only address the functionality
nerhalb von Komponenten optimiert werden kann und nicht die             within a single component and not the functionalities in the
Schnittstellen selbst oder über mehrere Bausteine hinweg. Eben-         interfaces or across several building blocks. Developers also
so ist ein etwas differenzierteres Vorgehen – verglichen mit einer      have to adopt a somewhat more sophisticated approach than
spezifischen Anwendung – zu wählen, um die Zulassungsfähig-             they otherwise would have to for a specific application in or-
keit eines solchen Produkts sicherzustellen. Dies lässt sich aber       der to ensure that this type of product can be certified. How-
mit einem geeigneten Entwicklungsprozess und adäquaten Tech-            ever, the use of an appropriate development process and prop-
niken und Maßnahmen sehr gut bewerkstelligen (siehe unten ab            er techniques and measures put that goal within easy reach
Abschnitt 3.2).                                                         (see Section 3.2 for more on this).
Mithilfe von Modularität bei Bahnanwendungen und deren SW               Modularity in railway applications and the associated SW can
lassen sich also die zu Beginn genannten Herausforderungen wie          therefore help master the challenges outlined in the introduc-
Variantenvielfalt, Flexibilität, Nutzung von Synergien, effiziente      tion, such as the diversity of variants, flexibility, the use of syn-
Entwicklung und rasche Zulassung meistern.                              ergies, efficient development and rapid certification.

2 Modulare SW-Plattformen als Beispiel                                  2 Modular SW platforms as an example

Insbesondere für eine Produktplattform bietet es sich an, für die       Developing and using a modular platform for control unit
zugehörige Steuergeräte-SW eine modulare SW-Plattform zu ent-           SW is a smart move, especially in the case of a product plat-
wickeln und zu verwenden.                                               form.

                                                                                              SIGNALLING + DATACOMMUNICATION (112) 11 / 2020             43
Modulare Softwareentwicklung für Bahnanwendungen - ITK ...
SOFTWARE | SOFTWARE

                                                                                                                              Bild 1: SW-Plattform
                                                                                                                              Fig. 1: A SW platform
                                                                                                                                         Quelle / Source:
                                                                                                                                  ITK Engineering GmbH

                                                                                                                                                             Homepageveröffentlichung unbefristet genehmigt für ITK Engineering GmbH /
                                                                                                                                                             Rechte für einzelne Downloads und Ausdrucke für Besucher der Seiten
     2.1 Wesentliche Bestandteile und Eigenschaften von                        2.1 The key components and features of
     modularen SW-Plattformen                                                  modular SW platforms

                                                                                                                                                             genehmigt von DVV Media Group GmbH 2020
     Zu einer modularen SW-Plattform für Bahnanwendungen gehö-                 A modular SW platform for railway applications encompasses
     ren die in Bild 1 dargestellten Bestandteile.                             the components shown in fig. 1.
     Wichtige Voraussetzungen für die Entwicklung der SW-Bausteine             The general architecture, clearly defined interfaces and
     (Baukasten) sind, dass die Gesamtarchitektur vorliegt, die Schnittstel-   properly specified requirements for the modules have to be
     len klar definiert und Anforderungen für die Bausteine ausreichend        set as the key prerequisites for developing these SW build-
     spezifiziert sind. Die Bausteine selbst müssen die geforderten Schnitt-   ing blocks. And the building blocks themselves have to be
     stellen einhalten. Lässt sich für einen Baustein eine Funktionsvariante   compatible with the requisite interfaces. If the developers are
     nicht über Parameter darstellen, so wird eine Variante des Bausteins      unable to map a given building block function using the pa-
     – allerdings mit den gleichen Schnittstellen – entwickelt. Jeder Bau-     rameters, they will develop a module variant that shares the
     stein muss in sich abgeschlossene Spezifikationen, Test- bzw. Verifika-   same interfaces. Each building block has to have self-con-
     tionsberichte und Release Notes (Freigabemitteilungen) beinhalten.        tained specifications, test or verification reports and release
     Die SW-Gesamtarchitektur gibt einen „Integrationsrahmen“ für die          notes.
     Bausteine vor, insbesondere werden die Schnittstellen der SW-Kom-         The SW’s general architecture establishes the framework for
     ponenten festgelegt. Zu diesem „Rahmen“ gehört ebenfalls die              integrating modules, determining SW components’ interfaces
     Festlegung von querschnittlichen Konzepten inhaltlicher / logischer       and defining cross-sectional concepts of a contextual or log-
     (Fehlerhandling, Diagnose etc.) sowie technischer Art (Kommunika-         ical nature such as troubleshooting, fault diagnosis and the
     tionsmechanismen, Datenhaltung etc.). Ferner sind Vorgaben der            like, as well as of a technical nature, for example, communi-
     SW-Sicherheitsnormen [1] und [2] an die Architektur zu beachten.          cation mechanisms, data management and so on. Developers
     Für modulare SW-Plattformen ist besonders wichtig, dass die Ge-           also have to comply with the specifications of the SW safety
     samtstruktur des Systems modular ist, die geforderte Variabilität un-     standards [1] and [2] for the architecture. In addition, the sys-
     terstützt und eine weitgehende HW-Unabhängigkeit ermöglicht.              tem’s general structure has to be modular, flexible enough to
     Parallel zum Baukasten werden Plattformwerkzeuge entwickelt,              adapt to a large number of variables and generally HW-inde-
     welche für die Konfiguration der Gesamtsoftware und das Erzeu-            pendent, all of which is very important for modular SW plat-
     gen der finalen SW (Anwendungsgenerierung) zuständig sind oder            forms.
     wiederkehrende Aufgaben automatisieren, wie beispielsweise die            Platform tools are developed in parallel to these building blocks.
     Durchführung von Regressionstests oder die Erstellung der Doku-           They are used to configurate the SW, generate the final applica-
     mentation. Soll die SW-Plattform für sicherheitsrelevante Anwen-          tion and automate any recurring tasks such as regression tests
     dungen eingesetzt werden, so muss die Eignung sogenannter T3-             and documentation. If the SW platform is destined for safety-
     Werkzeuge (d. h. solcher, die direkt oder indirekt zum ausführbaren       relevant applications, the suitability of any so-called T3 tools
     Code beitragen) explizit nachgewiesen werden.                             (i. e. tools that contribute directly or indirectly to the executable
     Schließlich muss für eine SW-Plattform immer ein Handbuch in-             code) has to be demonstrated.
     klusive Anwendungsbedingungen vorliegen, in denen Vorausset-              Finally, a SW platform must always be accompanied by a manu-
     zungen, Randbedingungen und Verfahren für die Verwendung                  al that also sets out the application conditions and describes the
     der Plattform beschrieben sind. Für eine abschließende Validie-           prerequisites, constraints and procedures for using the platform.
     rung der Gesamtsoftware auf der Ziel-HW ist das Einhalten der             Compliance with the application conditions has to be demon-
     Anwendungsbedingungen nachzuweisen.                                       strated for the SW’s final validation on the target HW.

44   SIGNAL + DRAHT (112) 11 / 2020
SOFTWARE | SOFTWARE

 Nr.   Herausforderungen                     SW-Plattformentwicklung                     No.   Challenges                      SW platform development
 1     Nicht-flexible Normen und Standards   Inkrementelle / iterative SW-Entwicklung     1    Rigid norms and standards       Incremental / iterative SW development
 2     Vertrauen in die (Implementie-        Konfigurationswerkzeuge, Automatisierung     2    Confidence in (implementati-    Configuration tools, the automation of re-
       rungs- / Test-) Automatisierung       von wiederkehrenden Arbeitsabläufen               on / test) automated routines   curring workflows
 3     Korrekte Werkzeugvalidierung /        Nutzung von T3-Werkzeugen bei sicher-        3    Proper tool validation / tool   The use of T3 tools for safety-relevant SW
       Werkzeugentwicklung                   heitsrelevanter SW                                development
 4     Nicht-flexible dokumentenbasierte                                                  4    Inflexible document-based
       Begutachtung                          Entwicklung von SW-Bausteinen und Ein-            assessment                      The development of SW building blocks
                                             fügen in einen Gesamtrahmen                                                       and integration into the larger framework
 5     Nicht-flexible Dokumentation                                                       5    Inflexible documentation
 6     Unterstützungsprozesse                Inkrementelle / iterative SW-Entwicklung     6    Support processes               Incremental / iterative SW development

Tab. 1: Herausforderungen im regulatorischen Umfeld und bei einer                       Tab. 1: Platform development challenges of a regulatory nature
Plattformentwicklung

                                                                                                                                                                               Homepageveröffentlichung unbefristet genehmigt für ITK Engineering GmbH /
2.2 Herausforderungen bei der normkonformen Entwicklung                                 2.2 Challenges in the standard-compliant development
von SW-Plattformen                                                                      of SW platforms
Um SW-Plattformentwicklungen realisieren zu können, sind be-                            Certain challenges have to be taken into account when devel-

                                                                                                                                                                               Rechte für einzelne Downloads und Ausdrucke für Besucher der Seiten
stimmte Herausforderungen zu berücksichtigen. Im Allgemeinen                            oping SW platforms. Generally speaking, the underlying de-
muss der zugrundeliegende Entwicklungsprozess die folgenden                             velopment process has to support the following core aspects:
Kernaspekte unterstützen:                                                               • It must meet the requirements of DIN EN 50128 [1] or
• Die Zulassungsfähigkeit muss durch Erfüllung der Anforderun-                             DIN EN 50657 [2] in order to be considered for certifica-
   gen gemäß DIN EN 50128 [1] beziehungsweise DIN EN 50657                                 tion.
   [2] gegeben sein.                                                                    • The development process has to be able to accommodate a
• Der Entwicklungsprozess muss mit einer hohen Variabilität und                            high degree of variability and configuration options.
   Konfigurierbarkeit umgehen können.                                                   The challenges of standard-compliant SW platform development
Um diese Kernaspekte zu unterstützen, sind im Vorfeld die Her-                          need to be enumerated and contrasted in advance in order to en-

                                                                                                                                                                               genehmigt von DVV Media Group GmbH 2020
ausforderungen einer normkonformen Entwicklung der SW-Platt-                            sure that the process will support these core aspects.
formentwicklung gegenüberzustellen.                                                     The development models that lend themselves to the standards
Als Entwicklungsmodelle ergeben sich aus den hier angeführten                           discussed here are the V model and the waterfall model, which
Normen das V-Modell bzw. das Wasserfallmodell, welches von ei-                          call for a structured, sequential process and “clean” specifica-
nem strukturierten und sequenziellen Ablauf und sauberen Anfor-                         tions. The focus is on carrying out the verification and validation

Bild 2: Beispielhafter CENELEC-konformer Entwicklungsprozess für SW-Plattformen
Fig. 2: An example of a CENELEC-compliant development process for SW platforms                                                        Quelle / Source: ITK Engineering GmbH

                                                                                                                   SIGNALLING + DATACOMMUNICATION (112) 11 / 2020                       45
SOFTWARE | SOFTWARE

     derungen ausgeht. Zudem liegt der Fokus auf phasenbezogenen                               activities in phases. Developing a SW platform is an incremental
     Verifikations- und Validierungsaktivitäten. Bei einer SW-Plattform­                       and iterative effort (fig. 2). The development phases are cycled a
     entwicklung wird von einer inkrementellen und iterativen SW-Ent-                          number of times within this framework (tab. 1, item 1).
     wicklung ausgegangen (Bild 2). In deren Rahmen werden die Ent-                            Various tools are used to automatically execute certain develop-
     wicklungsphasen mehrmals durchlaufen (Tab. 1, Punkt 1).                                   ment activities, testing and reporting tasks. The use of tools re-
     Ferner werden bestimmte Aktivitäten der Entwicklung, des Testens                          quires full tool validation. This builds confidence in the validity
     oder des Reportings unter Verwendung diverser Werkzeuge automa-                           of the results (tab. 1, items 2 and 3).
     tisiert durchgeführt. Die Verwendung von Werkzeugen steht immer ei-                       Document-based assessment draws on standardised and inflexible
     ner vollumfänglichen Werkzeugvalidierung und einem Vertrauensauf-                         documents. The documentation has to dovetail with the SW plat-
     bau in die Validität der Ergebnisse gegenüber (Tab. 1, Punkte 2 und 3).                   form development. The documentation is subject to a significant
     Eine dokumentenbasierte Begutachtung geht von standardisier-                              number of changes during this incremental process of developing
     ten und starren Dokumenten aus. Bei einer SW-Plattformentwick-                            the building blocks, which gives rise to high version numbers. Fail-
     lung muss die Dokumentation stark ineinandergreifen. Im Weite-                            ure to properly address this issue could lead to high assessment costs
     ren erfolgt eine inkrementelle Entwicklung (Baukastenentwick-                             (tab. 1, items 4 and 5) depending on the project’s SIL classification.

                                                                                                                                                                    Homepageveröffentlichung unbefristet genehmigt für ITK Engineering GmbH /
     lung), bei der die Dokumentation während der Entwicklung ei-                              All the support processes have to be adapted to the requirements
     ner starken Änderung unterliegt, die hohe Versionszahlen hervor-                          of SW platform development. Certain aspects must be consid-
     bringt. Dies könnte je nach der projektspezifischen SIL-Einstufung                        ered, including virtual quality assurance, quality gates and auto-

                                                                                                                                                                    Rechte für einzelne Downloads und Ausdrucke für Besucher der Seiten
     zu hohen Begutachtungsaufwänden (Tab. 1, Punkte 4 und 5) füh-                             mated SW evaluation and testing (tab. 1, item 6).
     ren, wenn es nicht geeignet adressiert wird.
     Alle benötigten Unterstützungsprozesse müssen auf eine SW-                                2.3 SW platform use cases
     Plattformentwicklung angepasst werden. Folgende Aspekte müs-                              The following section presents the approaches used to tackle the
     sen dabei unter anderen berücksichtigt werden: virtuelle Quali-                           aforementioned challenges of standard-compliant development
     tätssicherung, Quality Gates sowie automatisierte SW-Bewertung                            in two stages; first the development of the SW platform and then
     und -Testen (Tab. 1, Punkt 6).                                                            the specific SW (specificity and application generation). The fol-
                                                                                               lowing aspects outline this process (fig. 3):
     2.3 Anwendung von SW-Plattformen                                                          • validate and verify the SW components (building blocks) by

                                                                                                                                                                    genehmigt von DVV Media Group GmbH 2020
     Auf Basis der beschriebenen Herausforderungen einer normkon-                                 conducting component tests and carrying out independent
     formen Entwicklung werden im Folgenden Ansätze vorgestellt, die                              validations for each component
     in einer zweistufigen Entwicklung bestehend aus SW-Plattform­                             • select the building blocks and configuration required for the
     entwicklung und darauffolgender spezifischer SW-Entwicklung                                  specific SW
     (Spezifik, Anwendungsgenerierung) genutzt werden. Die nachfol-                            • validate and verify the integrated SW components by conduct-
     genden Aspekte zeigen einen Abriss (Bild 3):                                                 ing integration tests and testing the overall SW
     • Absicherung der SW-Komponenten (Bausteine) durch Kompo-                                 • validate the specific SW and obtain approval / acceptance
       nententests und Durchführung einer eigenständigen Validie-                              • consolidate the documentation for the SW platform and the
       rung pro Komponente                                                                        specific SW
     • Auswahl von abgeschlossenen, für die spezifische SW erforder-                           The documentation on the SW platform’s development and the
       lichen Bausteinen und Konfiguration                                                     specific SW documentation have to be separate yet connected,
     • Absicherung der integrierten SW-Komponenten über Integrati-                             with one building on the other. The transition between the devel-
       onstests und Gesamtsoftwaretests                                                        opment stages is managed using the application conditions and
     • Validierung und Abnahme der spezifischen Gesamtsoftware                                 release notes.
     • Zusammenführung der Dokumentation aus der SW-Plattform                                  The individual component tests and validation activities con-
       und der Spezifik                                                                        clude the SW platform development effort. The final SW is then
     Die SW-Plattformentwicklung und die Spezifik müssen dokumen-                              configured by selecting the defined components from among
     tarisch voneinander getrennt werden, aber gleichzeitig aufeinan-                          these SW building blocks.
     der aufbauen. Über Anwendungsbedingungen und Freigabemit-                                 The development takes into account the platform’s documenta-
                                                                                               tion when validating the general SW and the specific SW. The
                                                                                               documented validation activities and application conditions
                                                                                               merit special mention here.

                                                                                               2.4 Efficient homologation
                                                                                               The use of a SW platform is one crucial element in this two-stage
                                                                                               approach to SW development, the other being efficient homolo-
                                                                                               gation. The given project may require fewer evaluations, if the
                                                                                               development process has been assessed and certified. The cru-
                                                                                               cial aspects for an assessment body are the development artefacts’
                                                                                               traceability and completeness.
                                                                                               DIN EN 50128 [1] and DIN EN 50657 [2] require the documen-
                                                                                               tation and reports to meet the minimum standards of these nor-
                                                                                               mative specifications. The same applies to the automated and
                                                                                               streamlined reporting functions of the used tools.
     Bild 3: Überblick zur Anwendung von SW-Plattformen                                        A value-added analysis serves to ensure efficient tool use and
     Fig. 3: Overview on application of a SW platform Quelle / Source: ITK Engineering GmbH   planning. The applied tools, techniques and methods have to be

46   SIGNAL + DRAHT (112) 11 / 2020
SOFTWARE | SOFTWARE

teilungen wird die Übergabe zwischen den Entwicklungsstufen            coordinated in order to leave no methodological gaps and to en-
geregelt.                                                              able information-sharing across the tool boundaries. This con-
Die SW-Plattformentwicklung ist für einzelne Komponenten mit Kom-      sistency should also be factored into the equation when devising
ponententests und Validierungsaktivitäten abzuschließen. Auf Basis     a strategy for the tool infrastructure.
dieser SW-Komponenten erfolgt eine Konfiguration der finalen SW        With this in mind, support workflows should not be seen as a
unter Auswahl von definierten SW-Komponenten.                          means of salvaging the process and rules. Instead, all the stake-
In der Spezifik verläuft die Absicherung der Gesamtsoftware und        holders should engage in a dialogue early on in order to coordi-
die Validierung der Spezifik unter Berücksichtigung der Doku-          nate and define the appropriate procedures and ensure that they
mentation der Plattform. Explizit sind hier die dokumentierten Va-     are in line with the existing processes and rules.
lidierungsaktivitäten zu nennen sowie bestehende Anwendungs-           As far as the assessment is concerned, the stakeholders have to co-
bedingungen.                                                           ordinate with the assessment body in order to agree on a strategy
                                                                       that takes this modular SW development into account. The deter-
2.4 Effiziente Zulassung                                               mination as to the type of assessment will depend on the SIL (Safe-
Neben der Anwendung einer SW-Plattform ist eine effiziente Zu-         ty Integrity Level) rating of the general SW or the individual SW

                                                                                                                                             Homepageveröffentlichung unbefristet genehmigt für ITK Engineering GmbH /
lassung elementar für eine zweistufige SW-Entwicklung. Auf Ba-         components. The assessment body assesses the following aspects:
sis eines begutachteten und zertifizierten Entwicklungsprozes-         • the SW components (modules)
ses können gewisse Bewertungen für ein gegebenes Projekt re-           • the general SW with its integrated SW components

                                                                                                                                             Rechte für einzelne Downloads und Ausdrucke für Besucher der Seiten
duziert werden. Bedeutende Aspekte, die für eine begutachtende         • the application conditions.
Stelle entscheidend sind, sind die Nachvollziehbarkeit und Voll-       If the individual SW components are modified, a procedure with
ständigkeit der Entwicklungsartefakte.                                 delta assessments needs to be set up so that only these changes
Wie gemäß DIN EN 50128 [1] bzw. DIN EN 50657 [2] gefordert             need to be reviewed.
wird, müssen die Dokumentation beziehungsweise die Berich-
te ein Mindestmaß der normativen Vorgaben erfüllen, was auch           2.5 Best practices
für die automatisierten und vereinfachten Berichtsfunktionen der       Again, the development and application of modular SW plat-
verwendeten Werkzeuge gilt.                                            forms entails a number of challenges. The following section pre-
Um die Werkzeuge effizient zu verwenden und zu planen, wird            sents examples of the best practices and measures taken in real-

                                                                                                                                             genehmigt von DVV Media Group GmbH 2020
die Wertschöpfungsanalyse genutzt. Die verwendeten Werkzeu-            world projects. Experience has shown that they can help master
ge, Techniken und Methoden müssen aufeinander abgestimmt               these challenges:
sein, sodass zum einen keine methodischen Lücken vorhanden             • Modularise the system’s structure:
sind und zum anderen Informationen über Werkzeuggrenzen hin-             -- carry out a thorough concept phase with all the relevant
weg ausgetauscht werden können. Zudem sollte im Rahmen der                  stakeholders
Erstellung einer Werkzeuginfrastrukturstrategie unter anderem            -- demonstrate the suitability of the modular concepts using
der Aspekt dieser Durchgängigkeit beachtet werden.                          early prototypes (test laboratories, test benches, etc.)
Die Unterstützungsprozesse sollten also keinesfalls als die Retter     • Configuration and variant management:
des Prozesses und der Regeln gesehen werden, sondern es müs-             -- set up a central point for managing any variants and creat-
sen schon früh im Dialog mit allen Beteiligten entsprechende Vor-           ing the configuration (a general view, consistency)
gehensweisen abgestimmt und festgelegt werden, welche im Ein-            -- stick to the single-source principle
klang mit den bestehenden Prozessen und Regeln stehen.                   -- make widespread use of tool support and automation
Bezüglich der Begutachtung ist mit der begutachtenden Stelle eine      • Requirement management:
Strategie abzustimmen und zu fixieren, in der die modulare SW-           -- clearly distinguish between the generic requirements for
Entwicklung berücksichtigt wird. Die Festlegungen der Begutach-             the SW platform and the requirements for the specific
tungsart hängen von der SIL-Einstufung (Safety Integrity Level, SIL)        SW
der Gesamtsoftware beziehungsweise der einzelnen SW-Kompo-               -- conduct an efficient impact analysis supported by the ap-
nenten ab. Die folgenden Aspekte sind gutachterlich zu bewerten:            propriate tools and mechanisms
• SW-Komponenten (Baukasten)                                             -- establish feedback loops to the requirement engineers at
• Gesamtsoftware mit den integrierten SW-Komponenten                        the earliest opportunity
• Anwendungsbedingungen.                                               • SW architecture development:
Bei Änderungen von einzelnen SW-Komponenten ist ein Vorge-               -- use appropriate architectural patterns (e.g. layered archi-
hen über „Delta“-Begutachtungen zu installieren, sodass nur die             tecture, filters & pipes, etc.)
Änderungen begutachtet werden müssen.                                    -- demonstrate the architecture’s viability in early reviews (in-
                                                                            volving all the relevant stakeholders) and in an early proof
2.5 Best Practices                                                          of concept
Wie dargelegt wurde, bringt die Entwicklung und Anwendung von            -- properly allocate requirements
modularen SW-Plattformen einige Herausforderungen mit sich. Im           -- consider and support iterative and incremental development
Folgenden werden deshalb exemplarisch Best Practices und Maß-          • SW verification, validation and delivery:
nahmen aufgeführt, die aus konkreter Projekterfahrung erwachsen          -- take a smart approach to allocating the various levels of
sind und dabei helfen, die Herausforderungen zu meistern:                   testing for SW components, SW integration, HW / SW in-
• Modularisierung der Systemstruktur:                                       tegration and overall SW testing to the platform and spe-
   -- gründliche Konzeptphase mit allen relevanten Stakeholdern             cific SW development stages
      durchführen                                                        -- test the SW integration in the SW platform for standard
   -- Eignung der modularen Konzepte anhand von frühen „Proto-              configurations and when developing the specific SW for
      typen“ (Testlabore, Prüfstände etc.) nachweisen                       the final configuration

                                                                                            SIGNALLING + DATACOMMUNICATION (112) 11 / 2020            47
SOFTWARE | SOFTWARE

     • Konfigurations- und Variantenmanagement:                                -- substantially automate recurring tasks, preferably using a
       -- zentrale Stelle für Verwaltung der Varianten und Erstellen der          suitable CI / CD tool chain
          Konfiguration (Überblick, Konsistenz) installieren                 • Assessment and certification:
       -- Single-Source-Prinzip einhalten                                      -- bring assessment and certification bodies on board at an
       -- Werkzeugunterstützung und Automatisierung stark nutzen                  early development stage and coordinate the designated
     • Anforderungsmanagement:                                                    procedures
       -- klare Abgrenzung von generischen Anforderungen für die               -- keep any sector-specific conditions for the product, SW
          SW-Plattform und Anforderungen für spezifische SW einhal-               and development process in mind.
          ten
       -- effiziente Auswirkungsanalyse unterstützt durch geeignete          3 Conclusion
          Werkzeuge und Mechanismen implementieren
       -- möglichst frühe Feedback-Schleifen an Anforderungserstel-          The modular approach to SW development presented here has
          ler vorsehen                                                       proven its merits in practice. This is a very good method for de-
     • SW-Architekturentwicklung:                                            veloping future-proof SW. It provides the flexibility needed to

                                                                                                                                                 Homepageveröffentlichung unbefristet genehmigt für ITK Engineering GmbH /
       -- geeignete Architekturmuster verwenden (z. B. Schichtenar-          tame the complexity of the applications and to meet the certifi-
          chitektur, Filters & Pipes etc.)                                   cation requirements. The development and operating processes
       -- durch frühe Reviews (unter Beteilung aller relevanten Stake-       can be adapted to optimise life cycle costs and deliver SW that

                                                                                                                                                 Rechte für einzelne Downloads und Ausdrucke für Besucher der Seiten
          holder) und frühen „Durchstich“ Tragfähigkeit der Architektur      will remain viable for a long time to come.
          nachweisen
       -- saubere Zuteilung von Anforderungen durchführen
       -- iterative und inkrementelle Entwicklung berücksichtigen und
          unterstützen
     • SW-Sicherung und -Lieferung:
       -- verschiedene Testebenen (SW-Komponententest, SW-In-
          tegrationstests, HW- / SW-Integrationstests, Gesamtsoft-
          waretests) geschickt aufteilen auf Plattform­entwicklung und

                                                                                                                                                 genehmigt von DVV Media Group GmbH 2020
          Spezifik
       -- SW-Integrationstest in der SW-Plattform für Standardkonfigu-
          rationen und bei der Erstellung der spezifischen SW für die fi-
          nale Konfiguration durchführen
       -- wiederkehrende Aufgaben weitgehend automatisieren (insbe-
          sondere durch Einsatz einer geeignete CI / CD-Werkzeugkette)
     • Begutachtung und Zulassung:
       -- Begutachtungs- und Zulassungsstellen bereits früh in der Ent-
          wicklung einbeziehen und geplantes Vorgehen abstimmen
       -- Branchenspezifika bei Produkt, SW und Entwicklungsprozess
          beachten.

     3 Fazit                                                                 AUTOREN | AUTHORS

                                                                             Dr. Tobias Hofbaur
     Der vorgestellte modulare Ansatz für die Entwicklung von SW hat         Programmmanager Geschäftsbereich Bahntechnik /
     sich in der Praxis als sehr gute Möglichkeit erwiesen, um zukunftsfä-   Program Manager Business Unit Rail
     hige SW zu entwickeln. Die Methodiken bieten die notwendige Fle-        ITK Engineering GmbH
     xibilität, um sowohl die Komplexität der Anwendungen als auch die       Anschrift /Address: Theodor-Heuss-Straße 5, D-38122 Braunschweig
                                                                             E-Mail: tobias.hofbaur@itk-engineering.de
     Anforderungen durch die Zulassung zu beherrschen. Die Entwick-
     lungs- und Betriebsprozesse können so angepasst werden, dass die        Thomas Freissler
     Lebenszykluskosten optimiert werden und langfristig zukunftsfähi-       Programmmanager Geschäftsbereich Bahntechnik /
     ge SW entwickelt werden kann.                                          Program Manager Business Unit Rail
                                                                             ITK Engineering GmbH
                                                                             Anschrift /Address: Theodor-Heuss-Straße 5, D-38122 Braunschweig
                                                                             E-Mail: thomas.freissler@itk-engineering.de

                                                                             Dr. David Seider
                                                                             Lead Engineer Geschäftsbereich Bahntechnik Software Architektur /
                                                                             Lead Engineer Business Unit Rail Software Architecture
                                                                             ITK Engineering GmbH
                                                                             Anschrift /Address: Lochhamer Straße 15, D-82152 Martinsried
                                                                             E-Mail: david.seider@itk-engineering.de
     LITERATUR | LITERATURE
     [1] DIN EN 50128:2011, Bahnanwendungen – Telekommunikationstechnik,     M.Sc. Marcin Slodkowski
     Signaltechnik und Datenverarbeitungssysteme – Software für Eisenbahn-   Entwicklungsingenieur SMS/QM Geschäftsbereich Bahntechnik; QMR /
     steuerungs- und Überwachungssysteme; Deutsche Fassung EN 50128:2011     Engineer SMS/QM Business Unit Rail; QMR
     [2] DIN EN 50657:2017, Bahnanwendungen – Anwendungen für Schie-         ITK Engineering GmbH
     nenfahrzeuge – Software auf Schienenfahrzeugen; Deutsche Fassung EN     Anschrift /Address: Theodor-Heuss-Straße 5, D-38122 Braunschweig
     50657:2017                                                              E-Mail: marcin.slodkowski@itk-engineering.de

48   SIGNAL + DRAHT (112) 11 / 2020
Sie können auch lesen