Methoden & Tools

Die Unified Modeling Language (UML, engl. Vereinheitlichte Modellierungssprache) ist eine von der Object Management Group (OMG) entwickelte und standardisierte Sprache für die Modellierung von Software und anderen Systemen. Im Sinne einer Sprache definiert die UML dabei Bezeichner für die meisten Begriffe, die für die Modellierung wichtig sind, und legt mögliche Beziehungen zwischen diesen Begriffen fest. Die UML definiert weiter graphische Notationen für diese Begriffe und für Modelle von statischen Strukturen und von dynamischen Abläufen, die man mit diesen Begriffen formulieren kann.

Die UML ist heute eine der dominierenden Sprachen für die Modellierung von betrieblichen Anwendungs- bzw. Softwaresystemen. Der erste Kontakt zur UML besteht häufig darin, dass Diagramme der UML im Rahmen von Softwareprojekten zu erstellen, zu verstehen oder zu beurteilen sind:

  1. Projektauftraggeber und Fachvertreter prüfen und bestätigen zum Beispiel Anforderungen an ein System, die Wirtschaftsanalytiker in Anwendungsfalldiagrammen der UML festgehalten haben.
  2. Softwareentwickler realisieren Arbeitsabläufe, die Wirtschaftsanalytiker in Zusammenarbeit mit Fachvertretern in Aktivitätsdiagrammen beschrieben haben.
  3. Systemingenieure installieren und betreiben Softwaresysteme basierend auf einem Installationsplan, der als Verteilungsdiagramm vorliegt.

Die graphische Notation ist jedoch nur ein Aspekt, der durch die UML geregelt wird. Die UML legt in erster Linie fest, mit welchen Begriffen und welchen Beziehungen zwischen diesen Begriffen sogenannte Modelle spezifiziert werden – Diagramme der UML zeigen nur eine graphische Sicht auf Ausschnitte dieser Modelle. Die UML schlägt weiter ein Format vor, in dem Modelle und Diagramme zwischen Werkzeugen ausgetauscht werden können.

TOPCASED stellt eine durchgängige Tool Chain zur Entwicklung komplexer Produkte, speziell im sicherheitsrelevanten Bereich, zur Verfügung. Das Besondere hierbei ist, dass alle Tools auf Basis von Open Source kostenlos zur Verfügung stehen und damit auch noch während der gesamten Lebensdauer eines Produktes gepflegt werden können, was z.B. im Bahnbereich durchaus länger als 30 Jahre notwendig sein kann.

Esterel Technologies ist der Hersteller des Entwicklungswerkzeugs SCADE Suite. SCADE ist ein Werkzeug zur modellgetriebenen Softwareentwicklung, um System- und Software-Ingenieuren die Entwicklung von Missions- und Sicherheitskritischen Software Applikationen zu erleichtern. SCADE basiert auf der formalen, synchronen und datenflussorientierten Sprache Lustre. Es generiert C oder Ada code.

SCADE Suite ist als Entwicklungswerkzeug für DO-178B bis Level A qualifizierbar oder für die CENELEC bis SIL4. SCADE Suite wird schwerpunktmäßig in der Luftfahrt- und Rüstungsindustrie, in der Bahntechnik, für Automotive sowie in der Energie-Branche eingesetzt.

Ein erstes mit dem Werkzeug SCADE entwickeltes Produkt wurde zur Zulassung beim EBA gebracht. SCADE bringt uns durch sichere und zertifizierte Codegeneratoren dem Ziel der „Null-Fehler-Software“ einen entscheidenden Schritt näher.

Unter openETCS versteht man eine Open Source Software, die die sogenannte ETCS-Engine, d.h. das Regelwerk der ETCS-Kernfunktionalität auf einem EVC (European Vital Computer) abarbeitet. Solche Geräte bilden den Kern der ETCS-Gerätetechnik auf Bahnfahrzeugen die entsprechend ausgerüstet sind. Bis heute sind solche Softwarepakete immer nur als proprietäre nicht offene Software von den Herstellerfirmen geliefert worden. openETCS hingegen soll eine Free Open Source Software sein, die unter einer GPL (GNU General Public License) allen Interessierten zur Verfügung gestellt wird, Herstellern von Geräten ebenso wie Nutzern, so dass keine Lizenzzahlungen anfallen.