Deutsche Gesellschaft für Luft- und Raumfahrt - Lilienthal-Oberth e.V.

Fachausschuss Software Engineering T6.4


Workshop

             "Modellbasierte Softwareentwicklung für Luft- und Raumfahrtsysteme"

12. Oktober 2005 - Institut für Luft- und Raumfahrt, TU München, Garching bei München




Einleitung

Der diesjährige Workshop zum Thema modellbasierte Softwareentwicklung ist bewusst als Fortsetzung und Vertiefung des letztjährigen Workshops ausgelegt. Während der letzte Workshop thematisch sehr breit angelegt war, lag der Fokus dieses Jahr auf der Generierung von Software auf der Basis von Modellen.

Die Softwareentwicklung im Luft- und Raumfahrtbereich stellt in der Regel erhebliche Anforderungen an die eingesetzten Methoden und Verfahren, denen auch eine modellbasierte Vorgehensweise Rechnung tragen muss: häufig handelt es sich um sehr umfangreiche und extrem komplexe Realzeitapplikationen, die aufwändig qualifiziert und zertifiziert werden müssen. Entsprechende Anforderungen werden an die Verfahren und  Werkzeuge für eine modellbasierte Entwicklung gestellt.

Neben der Software muss auch umfangreiche Dokumentation erstellt werden sowie die Abdeckung aller Anforderungen nachgewiesen werden (Traceability). Die Modelle müssen, ebenso wie Source Code und Dokumentation, einer strengen Versionskontrolle und einem formalen Änderungsverfahren unterworfen sein.

Ein aktuelles Problem ist die Obsoleszenz von Entwicklungswerkzeugen, deren Lebensdauer in der Regel deutlich geringer ist als die von typischen Avioniksystemen.

Ziel des Workshops war es, den Teilnehmern einen Überblick über eingesetzte Tools und Verfahrensweisen bei der modellbasierten Softwareentwicklung zu geben und Erfahrungen aus bereits gelaufenen bzw. gerade laufenden Projekte weiter zu geben.

Top

Bericht

Der Fachausschuss T6.4 Software Engineering hielt seinen diesjährigen Workshop am 12. Oktober im Institut für Luft- und Raumfahrt in Garching bei München ab. Prof. Dr.-Ing. Kau, Ordinarius des Lehrstuhles für Flugantriebe und Direktor des Instituts für Luft- und Raumfahrt, eröffnete die Tagung vor 36 Teilnehmern aus Forschung, Industrie, Bundeswehr und Behörden im vollbesetzten Sitzungssaal.
 
Der diesjährige Workshop wurde als Fortsetzung und Vertiefung des letztjährigen Workshops ausgelegt, wobei der Schwerpunkt dieses Jahr auf der Generierung von Software auf der Basis von Modellen lag.

Den Anfang machten Dr. Norbert Bickel und Guillaume Soudain von Eurocopter, die über den Einsatz des Tools SCADE der Entwicklung und Verifikation von sicherheitskritischer Software für Helikopterflugsteuerungen berichteten. SCADE besitzt bereits einen qualifizierten Code-Generator, der es erlaubt, die vom DO-178B geforderter Nachweis der Testüberdeckung auf Modellebene durchzuführen, was durch den SCADE Modellsimulator und den Modell Test Coverage Analysator unterstützt wird. SCADE wurde erfolgreich bei den Projekten EC135, EC145 und EC155 eingesetzt.

Ian Wilkie, PhD, von der Kennedy Carter Ltd, berichtete von einem modellbasierten Re-Engineering-Projekt, das bei BAE Systems mit dem Werkzeug iUML von Kennedy Carter durchgeführt wurde. Hierbei wurde eine in Ada geschriebene Komponente des Radars des Eurofighter in ein plattformunabhängiges Modell überführt, aus dem heraus dann wieder Ada Code generiert und erfolgreich in die Gesamtsoftware integriert wurde. Der Vorteil dieses Vorgehens ist die garantierte Übereinstimmung von Code und Dokumentation (in Form von Modellen). Eine weitere interessante Anwendung des von Dr. Wilkie geschilderten Vorgehens ist die automatische Migration von Modellen aus Legacy-Tools in UML basierte Modelle. Der hier geschilderte Ansatz war übrigens der Einzige des Workshops, der auf den von der OMG definierten Standards UML und MDA fußte.

Dr. Edgar M. Wallner von der EADS berichtete über einen modellbasierten Ansatz zur Softwareentwicklung für Kleindrohnen. Kleindrohnen sind autonome oder telekommandierte Drohnen in der Größenordnung von kleinen Modellflugzeugen, die als Wegwerfprodukte konzipiert sind. Eine zentrale Rolle spielen daher geringe Entwicklungskosten. Das bisherige dokumentengetriebene Vorgehen mit manueller Kodierung führte zu hohen Entwicklungskosten und zu kostenintensiven Missverständnissen zwischen System- und Softwareentwicklung. In einem Pilotprojekt wurden die Werkzeuge Matlab und SCADE untersucht und schließlich Matlab für das weitere Vorgehen ausgewählt. Mit Matlab wird die Spezifikation und Validierung der Software vorgenommen, bei anschließender Code-Generierung mit Real Time Workshop und manueller Nachbearbeitung und Integration der generierten Software in ein bestehendes Software-Framework. Zum Abschluss seines Vortrags führte Dr. Wallner ein Video eines Flugtests vor, das mit der Kamera einer Kleindrohne aufgenommen wurde.

Dr. Oscar Slotosch von der Validas GmbH berichtete über die modellbasierte Testfallgenerierung variantenreicher Software. Beim vorgestellten Verfahren werden Softwarevarianten über Compilerdirektiven definiert, die eine konditionale Kompilierung des C-Codes steuern. Diese Compilerdirektiven können komplex verschachtelt werden, so dass es bei umfangreichen Code schwierig werden kann, alle Konfigurationen für Testzwecke zu ermitteln und durch Tests abzudecken. Das Validas Testframework hilft bei der Testfallspezifikation solcher variantenreicher Software, indem es die möglichen Konfigurationen in einen Klassifikationsbaum abbildet, der mit dem Classification Tree Editor bearbeitet werden kann. Die Tests werden dann über parametrisierte Message-Sequence-Charts (MSC) und Zustandsautomaten spezifiziert. Das Validas Testframework wurde erfolgreich in einigen Softwareprojekten in der Automobilindustrie eingesetzt.

Wolfgang Goerke von der EADS stellte ein Verfahren zur Validierung eines Algorithmus für ein Formation Keeping Management System vor, welches die Piloten von Transportflugzeugen beim Formationsflug unterstützt. Der Algorithmus wird mit Matlab/Simulink entworfen und simuliert - die Modellentwicklung geschieht offline und wird später in einer zentralen Simulationsumgebung bei der Airbus France integriert. Die Simulation von  Formationsflügen erfordert die Simulation mehrere Flugzeuge, wobei drei Flugzeuge vollständig sowie 15 weitere vereinfacht simuliert werden. Erste Validierungsaktivitäten nach dem geschilderten Verfahren wurden erfolgreich durchgeführt, und es wurde ein Patent auf den Algorithmus angemeldet.

Christian Semmler, ebenfalls von EADS, stellte den Einsatz von Codegeneratoren bei der Entwicklung der Mensch-Maschine-Schnittstelle vor: Die Formate der Displays werden dabei mit dem Werkzeug VAPS der Firma eNGENUITY modelliert und simuliert, anschließend wird der zugehörige Code mit dem zugehörigen Werkzeug QCG generiert. Der generierte Code für die Displaysteuerung ist nach DO-178B, Class A qualifizierbar, muss aber noch mit der operationellen Software integriert werden. Das vorgestellte Verfahren wurde erfolgreich im Projekt Advanced Mission Management System erprobt.

Das fachkundige Publikum nutzte die Gelegenheit zu umfangreichen Fragen und Diskussionen, die in den beiden Kaffeepausen und während des Mittagessens fortgesetzt wurden. Keiner der Vortragenden stellte Performanceprobleme hinsichtlich des generierten Codes fest. Viele der Vortragenden hoben den höheren Abstraktionsgrad der Modelle hervor, der der zunehmenden Komplexität von Luft- und Raumfahrtsystemen Rechnung trägt. Allerdings konnte während der zur Verfügung stehenden Zeit die Qualifizierungs- und Zulassungsproblematik des modellbasierten Ansatzes nicht abschließend geklärt werden. Die Teilnehmer schlugen daher eine Fortsetzung des Workshops mit Vertiefung auf das Thema Qualifizierung und Zertifizierung vor, zu dem auch Vertreter der militärischen und zivilen Zulassungsbehörden eingeladen werden sollen.

Ein herzliches Dankeschön geht an die Vortragenden für ihre hervorragenden Präsentationen sowie an die Mitarbeiter des Instituts für Luft- und Raumfahrt für ihre tatkräftige Unterstützung bei  der Vorbereitung des Workshops.

Top

Programm

09:00
Begrüßung der Teilnehmer
Prof. Dr. Kau
Institut für Luft- und Raumfahrt
09:10 Einführung Richard Seitz
Frank Dordowsky
DGLR T6.4
09:15 SCADE modellbasierte SW Entwicklung und Verifikation für sicherheitskritische Flugsteuerung
[Kurzfassung], [Download]
Dr. N. Bickel, G. Soudain
Eurocopter Deutschland GmbH
10:00
Applying MDA in an Avionics  System Development
 (in englischer Sprache)
[Kurzfassung], [Download]
Ian Wilkie,  PhD
Kennedy Carter Ltd.
10:45 Kaffeepause  
11:15
Modellbasierte Software-Entwicklung  für Kleindrohnen
[Kurzfassung], [Download]
Dr. Elmar M. Wallner
EADS Deutschland GmbH
12:00 Mittagessen
13:00 Modellbasierte Testfallgenerierung  für variantenreiche Software
[Kurzfassung], [Download]
Dr. Oscar Slotosch
Validas AG
13:45 Algorithmusvalidierung eines Formation Keeping Management Systems
[Kurzfassung], [Download]
Roland Goerke
EADS Deutschland GmbH
14:30
Kaffeepause
15:00 Optimierte HMI-Entwicklung mittels  automatischer Codegenerierung
[Kurzfassung], [Download]
Christian Semmler
EADS Deutschland GmbH
15:45  Schlußwort Richard Seitz
DGLR T6.4

Top


Allgemeine Informationen
 
 


Termin:

12. Oktober 2005


Ort:

TU München
Boltzmannstr. 15
85748 Garching
Institut für Luft- und Raumfahrt
Gebäude MW-6
Raum 0608M

Teilnahmegebühr :

entfällt 

Kontakt:

Über die Obleute des Fachausschusses T6.4, Richard Seitz und Frank Dordowsky

Top
 

Sponsoren

Wir danken für die freundliche Unterstützung:

Lehrstuhl für Luftfahrttechnik, TU München

EADS Deutschland GmbH

ESG Elektroniksystem und -Logistik GmbH


Top 


Kurzfassungen der Vorträge

Norbert Bickel, Guillaume Soudain: SCADE modellbasierte SW Entwicklung und Verifikation für sicherheitskritische Flugsteuerung

Die SCADE modellbasierte SW Entwicklung und Verifikation für Flight Control Anwendungen unter Einhaltung des DO 178B Standards stützt sich auf ein nach formaler Methodik mit grafischer Control Engineering Symbolik synthetisiertes SW Design (-Modell). Bei semantischer Korrektheit und Vollständigkeit wird der Source Code automatisch generiert und ist “correct by construction”. Das SW Modell ist dadurch direkt ausführbar und gestattet damit eine Reduzierung des Entwicklungsrisikos durch frühzeitige Requirement-Validierung und SW Verifikation durch Simulation bzw. Testen. Ein neuerer Schritt in der SW Verifikation besteht in der automatischen Durchführung der “SW Structure Coverage Analyse” auf der grafischen Modellebene während des Testens; damit kann die entsprechende Aktivität auf dem detaillierteren Source Code Niveau bei geeigneter Tool Qualifizierung entfallen. Eine neuartige Verifikationsmethodik in Form von mathematischen Nachweisen eines korrekten SW Designs lässt sich mit dem SCADE ‘Design Verifier’ durchführen, womit die Einhaltung von ‘Safety Properties’ allein auf Basis des grafischen SW Modells bewiesen werden kann. Diese Methode mit dem Merkmal einer Vollständigkeitseigenschaft lässt sich derzeit als Ergänzung zum Testen einsetzen. Allgemein wird mit dem modellbasierten Ansatz die SW Entwicklung und Verifikation auf eine höhere (anschaulichere) Abstraktionsebene gehoben, womit der zunehmenden Komplexität von Flight Control Systemen Rechnung getragen wird.

Zurück zum Programm

Ian Wilkie: Applying MDA in an Avionics System Development

Model Driven Architecture (MDA) is an initiative of the Object Management Group (OMG) to promote an enhanced system development process based on the clear separation of application logic from the underlying platform technology and to generate software automatically from platform independent models, rather than relying on traditional largely manual code development processes. The avionics industry has identified several areas in which the MDA approach can potentially drive down the rapidly inflating cost of software development and maintenance of very complex airborne systems, both those in development and those currently in-service. This presentation discusses some of the work that is currently being undertaken at BAE Systems. It outlines the use of MDA to address key issues in the process of modelling and generating avionics software. It also shows how MDA principles can be applied to migrate existing models held in obsolete tools.

Zurück zum Programm

Elmar M. Wallner: Modellbasierte Software-Entwicklung  für Kleindrohnen

Kleindrohnen gewinnen gegenwärtig zunehmend an Bedeutung, insbesondere im militärischen Bereich. Die fortschreitende Miniaturisierung im Bereich der Sensoren und Rechner erlaubt es, fliegende Drohnen in der Größe von kleinen Modellflugzeugen mit autonomen Flugfähigkeiten auszustatten. Mittlerweile existieren auch bei EADS derartige Systeme. Diese Systeme werden gezielt zu Low-Cost Produkten entwickelt, da im realen Einsatz Verluste bewusst in Kauf genommen werden. Entsprechend wird auch bei der Entwicklung der Flugführungssoftware stark auf Kosteneffizienz geachtet. Zertifizierung und Qualifizierung der SW spielen bei derartigen Anwendungen derzeit noch eine untergeordnete Rolle.

In der Regel ist die Entwicklung von gewissen Anteilen der Flugführungssoftware einem mehr oder weniger stark iterativen Prozess unterworfen. Ein Hauptgrund hierfür ist, dass exakte Simulationsmodelle insbesondere des dynamischen Verhaltens des Fluggerätes i. d. R. nicht verfügbar sind. Ein Iterationsschritt beinhaltet dabei normalerweise den Flugversuch und die daraus abgeleitete notwendige SW-Änderung. Da bereits im Vorfeld des Flugversuches Simulationswerkzeuge mit grafischer Programmierung zur Verifikation der Änderungen genutzt werden, ist es nahe liegend, geeignete modellbasierte Tools zur SW-Generierung zu nutzen. Das Hauptziel bei der Umgehung von manueller Codierung liegt in der Einsparung von Entwicklungszeit, Entwicklungspersonal und der Vermeidung von Codierungsfehlern.

Es wird anhand eines durchgeführten Entwicklungsprojektes für Kleindrohnen aufgezeigt, wie modellbasierte Werkzeuge erfolgreich in den Entwicklungsprozess integriert wurden. Dabei werden die genutzten Tools, die konkreten Anwendungen und die erzielten Ergebnisse näher erläutert.

Zurück zum Programm

Oscar Slotosch: Modellbasierte Testfallgenerierung  für variantenreiche Software

Es wird ein Framework zur Testfallgenerierung für variantenreiche Systeme vorgestellt. Das Framework umfasst die Spezifikation von Schnittstellen und Anforderungen mit Sequenzdiagrammen (MSCs) und Zustandsautomaten (HMSCs), sowie Modellierungsrichtlinien zur Modellierung von Testfällen. Zur Spezifikation der System- und Ablaufvarianten werden Klassifikationsbäume eingesetzt.
Zum Reengineering von variantenreichem C Code existiert ein Klassifikationsgenerator, der eine optimierte Menge von Werten (Header-Dateien) für diese Parameter (#defines) generiert und als Klassifikationsbaum darstellt.
Das vorgestellte Framework generiert ausführbare Testfälle in Form von vollständigem Code. Zur Spezifikation sind die Werkzeuge CTE und der MSC-Editor der ESG integriert. Zur Zulassung von variantenreichem Code ist dieses Framework besser geeignet als herkömmliche Werkzeuge, die beispielsweise keine Abdeckung von Varianten auf dem Code messen, sondern immer nur die Abdeckungsmetriken in einer Variante des Codes.
Die Zulassungsprozesse bleiben unberührt, die aufwendige manuelle Erstellung der Testfälle wird automatisiert.
Der Testfallgenerator wurde im Rahmen eines Forschungsprojektes von der Validas AG entwickelt und bereits mehrfach in industriellen Projekten im Bereich Automotive eingesetzt.

Zurück zum Programm

Roland Goerke: Algorithmusvalidierung eines Formation Keeping Management Systems 

Der Bereich Defence Electronics der EADS Deutschland GmbH entwickelt ein Formation Keeping Management System (FKMS) zur Durchführung von automatisch gesteuerten Formationsflügen. Das FKMS wird in eine Systemstruktur für den Formationsflug eingebettet, zu dem unter anderem ein Formation Keeping Sensor System und das Flight Control and Guidance System gehören. Zur Entwicklung und Validierung der eigenen Algorithmen und zur Harmonisierung des FKMS innerhalb des Gesamtsystems eines Transportflugzeugs wurde eine Simualtionsumgebung aufgebaut.

Diese Simulationsumgebung ASPIC (Atelier de Simulation Pour l’Intégration et la Conception) wurde von Airbus Frankreich in Toulouse aufgebaut und wird für die Modellentwickler zur Validierung der einzelnen Modelle zur Verfügung gestellt.

ASPIC bei Airbus in Toulouse basiert auf C-Code und ist für die Implementierung von generierten C-Code Modellen, die mittels MATLAB/SIMULINK und dem Real-Time Workshop erstellt worden sind, vorbereitet. MATLAB/SIMULINK ist ein Entwicklungswerkzeug, das unter anderem zur Erzeugung von Regelungs- und Steuerungsmodellen eingesetzt werden kann und das mit Hilfe des Real-Time Workshops direkt aus einem
SIMULINK-Modell Quellcode-Dateien in der Programmsprache C erzeugen kann. Der generierte C-Code weist dabei die gleiche Funktionalität wie das SIMULINK-Modell auf. Der FKMS Modell C-Code wird zusammen mit dem von Airbus zur Verfügung gestellten simulationsumgebungsspezifischen Code in Ulm auf einer vergleichbaren Unix/C-Umgebung kompiliert, auf Übereinstimmung mit dem SIMULINK-Modell überprüft und dann als Library für das Gesamtmodell bei Airbus in Toulouse zur Verfügung gestellt.

EADS Defence Electronics in Ulm nutzt diese Validierungsmethode mittels MATLAB/ SIMULINK, dem Real-Time Workshop und der Simulationsumgebung bei Airbus in Toulouse, um schnell und effizient Modelländerungen und -harmonisierungen vorzunehmen, zu untersuchen und zu validieren. Damit steht den Modellentwicklern eine effiziente Arbeitsmethode zur parallelen Entwicklung von mehrerer unterschiedlichen Systemen zur Verfügung.

EADS Defence Electronics ist sich bewusst, dass der Real-Time Workshop generierte C-Code nicht direkt als operationelle Software eingesetzt werden kann, aber es ist beabsichtigt, den generierten Code richtungsweisend für die Erstellung der operationellen Software heranzuziehen.

Mit diesem Vortrag über die Entwicklungsarbeit des Formation Keeping Management Systems sollen die Erfahrungen mit dem Einsatz der oben genannten Entwurfs- und V&V-methoden bei der Erarbeitung eines Algorithmus aufgezeigt werden. Des weiteren wird auf die Methode zur Einhaltung des als vertraulich eingestuften geistigen Firmeneigentums bei der Softwaremodifikation und Validierung bei AIF Vorort in Toulouse eingegangen.

Zurück zum Programm

Christian Semmler: Optimierte HMI-Entwicklung mittels  automatischer Codegenerierung

Der Entwicklungsprozess von Human Machine Interfaces (HMI) in der Luftfahrt erfordert einem umfangreichen Abstimmungsbedarf mit den zukünftigen Operateuren des Zielsystems. Diese Abstimmung wird im konventionellen Entwicklungsprozess in mehreren Zyklen auf Papier oder auch schon mit Hilfe von Prototypen in Form von ablauffähigen Modellen durchgeführt. Die Ergebnisse werden anschließend in Spezifikationen festgehalten und der Software-Entwicklung für die Umsetzung auf das Zielsystem übergeben. Trotz des Einsatzes von Modellen für die Definition des HMI wird die Software für das Zielsystem neu implementiert. Dieser aufwendige Wechsel über manuelle Zwischenschritte verursacht nicht nur längere Entwicklungszeiten und Kosten, er erhöht auch die Wahrscheinlichkeit von Fehlern.

Unter Einsatz des Designtools VAPS und des Codegenerators QCG wurde bei EADS Military Aircraft ein alternativer Prozess entworfen. Hierbei wird ebenfalls ein Design Modell für die Definition des HMIs erstellt, aus dem durch eine automatische Codegenerierung direkt die Software für das Zielsystem erzeugt wird. Der dabei erzeugte Code ist nach DO-178B bis Class A qualifizierbar.

Mit Hilfe des vorgestellten Prozesses können in der HMI-Entwicklung bei EADS Military Aircraft Fehler in Spezifikation und Software durch Neuimplementierungen vermieden werden. Zusätzlich reduziert sich der Dokumentationsaufwand und es ergeben sich Vorteile bei den Entwicklungszeiten und -kosten.

Der Vortrag zeigt die Entwicklungsschritte vom konventionellen bis zum neuen Entwicklungsprozess mit VAPS und QCG. Anschließend wird der neue Prozess an einem Beispiel erläutert und die verwendeten Tools werden mit dem Schwerpunkt auf die Codegenerierung vorgestellt.

 Zurück zum Programm



 

DGLR

T6

DGLR

DGLR

Inhalt: Frank Dordowsky