Software Entwicklung
Wir entwickeln Software zur Simulation, Visualisierung und Messung der Bewegung von Fußgängern nach den Richtlinien der Softwaretechnik.
Software spielt heute in der Wissenschaft eine immer wichtigere Rolle. Zahlreiche Ergebnisse, die mit Hilfe der Computerwissenschaften erzielt wurden, wären ohne sie nicht möglich. Insbesondere im Bereich der Fußgängerdynamik spielt die Computersimulation eine entscheidende Rolle für das Verständnis des Verhaltens von Menschenmengen. Dennoch wird die Entwicklung von Forschungssoftware oft vernachlässigt, was oft zu prototypischer Software führt.
JuPedSim ist eine etablierte Simulationssoftware für Fußgängerdynamik, die von mehreren Doktoranden und Wissenschaftlern entwickelt wurde, die sich auf ihr Forschungsthema - Fußgängerdynamik - konzentrierten. Irgendwann wird eine so entwickelte Software zu komplex, um gewartet oder erweitert zu werden. Außerdem erfordert sie zu viel softwaretechnisches Wissen von den Forschern, die sich hauptsächlich auf ihr Fachgebiet konzentrieren. Daher haben wir ein internes Team mit dem Schwerpunkt Softwaretechnik eingerichtet. Dieses Team führte mehrere bewährte Verfahren in unseren Prozess ein und stärkte die Rolle der Softwaretechnik. Außerdem helfen sie den Fachwissenschaftlern, ihre Funktionen in produktionsreifen Code zu übertragen.
JuPedSim wurde immer als Open-Source-Software unter der LGPL-Lizenz veröffentlicht. Es ist öffentlich auf GitHub verfügbar, und wir erlauben jedem, über Pull Requests oder den öffentlichen Issue Tracker an der Entwicklung mitzuarbeiten. Um die Qualität des Codes zu erhöhen, haben wir einen Review-Prozess für alle vorgeschlagenen Änderungen durch externe Mitarbeiter und interne Teammitglieder eingeführt. Ein weiterer Schritt zur Unterstützung der Entwickler ist die wachsende Test-Suite, die auf unserer kontinuierlichen Integration (CI) läuft. Bevor also eine Änderung am Quellcode in die Produktionssoftware einfließt, muss sie von mindestens einem Teammitglied genehmigt werden, und alle Tests müssen erfolgreich laufen. CI ist unerlässlich, um die Korrektheit unserer Software im Laufe der Zeit zu gewährleisten. Glücklicherweise haben wir von JetBrains eine kostenlose Open-Source-Lizenz für ihre kontinuierliche Integrationssoftware namens TeamCity erhalten. Mit TeamCity können hochkomplexe Abhängigkeiten und Build-Ketten in Kotlin modelliert und konfiguriert werden. Mit TeamCity bauen und testen wir JuPedSim auf verschiedenen Plattformen mit unterschiedlichen Compilern. Wenn alle Tests erfolgreich sind, können die Build-Binaries automatisch freigegeben werden.