Modulare Softwareentwicklung für Bahnanwendungen - ITK ...
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
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
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
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 Plattformentwicklung 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