Der Fachausschuß der DGLR

Software Engineering T6.4
 

veranstaltet am 13. Oktober 2004 einen eintägigen Workshop zum Thema

             "Code Generierung und modellbasierte Softwareentwicklung für Luft- und Raumfahrtsysteme"


Hinweis: Der Workshop ist bereits ausgebucht, wir können leider keine weiteren Anmeldungen mehr annehmen.

Einleitung

Code Generatoren sind bereits viele Jahre im Einsatz, um stupide, repetitive Programmierarbeit zu automatisieren. Durch den Einsatz von Code Generatoren wird eine höhere Entwicklungsgeschwindigkeit erzielt und damit Kosten gespart. Außerdem reduzieren sich die Fehlerraten, was wiederum die Qualität erhöht. Bestimmte Komponenten, wie z.B. graphische Nutzerschnittstellen, lassen sich ohne spezialisierte Generatoren, den GUI Buildern, gar nicht mehr wirtschaftlich erstellen. Die automatische Code-Erzeugung hat inzwischen einen solchen Stellenwert bekommen, dass es zu einem eigenständigen Fachgebiet avanciert ist, das der Generativen Programmierung.

Während die Generative Programmierung auf Teilkomponenten eingesetzt werden kann, geht das Model Based Software Engineering (MBSE) noch einen Schritt weiter: „Models are the new source code“. Die Idee besteht darin, aus einer abstrakten Systembeschreibung (Model) die gesamte Applikation zu generieren, oder zumindest die Spezifikation ausführbar und damit Tests zugänglich zu machen (Ausführbare Spezifikation). Auch diese Ideen wurden entwickelt lange bevor sich die Objektorientierung auf breiter Front durchsetzte. Der Begriff MBSE wurde bereits in den neunziger Jahren durch das Software Engineering Institute der Carnegie Mellon University geprägt. Ein Beispiel aus dem gleichen Zeitraum ist das Projekt ADAGE, welches im Rahmen des Programms „Domain Specific Software Architectures DSSA“ des US Department of Defense (DoD) durchgeführt worden ist. Dabei wurden Avioniksoftwaresysteme aus Komponenten auf Basis einer Avionikreferenzarchitektur generiert. Allen diesen Ansätzen ist zu eigen, dass sie auf proprietären Modellierungssprachen beruhen.

Hier setzen die Bemühungen der Object Management Group (OMG) an: Die OMG versucht, modellbasierte Softwareentwicklung im Rahmen der „Model Driven Architecture“ (MDA) zu vereinheitlichen. Ausgangspunkt ist die standardisierte Modellierungssprache Unified Modeling Language (UML). Dieser neue Ansatz ist bereits in mehreren missionskritischen Projekten eingesetzt worden, so z.B. bei der Generierung der Applikationssoftware des Modular Mission Computer der F-16.

Ein anderer, eng verwandter Bereich, der ebenfalls enorme Aufwandsreduzierung verspricht, ist das Model Driven Testing (MDT): Hier geht es u.a. um die Generierung von Testfällen oder zumindest von Testinput aus Modellen, bis hin zur modellbasierten Testauswertung. Ausgangspunkt des MDT ist die Überlegung, dass jeder Tester zumindest ein mentales Modell der zu testenden Software besitzen muss. Ein präzise definiertes Modell kann dann natürlich wie zur Code Generierung auch zur Erzeugung von Testfällen und -prozeduren verwendet werden.

Der Anwendung solcher Verfahren im Luft- und Raumfahrtbereich stehen besondere Bedingungen gegenüber: Zum einen handelt es sich vielfach um umfangreiche, extrem komplexe, Realzeitapplikationen, die sehr hohe Anforderungen an die Modellierung stellen. Zum anderen stellen diese missions- oder gar sicherheitskritischen Systeme höchsten Anforderungen an die Zuverlässigkeit. Die dafür notwendige Verifikation und Validierung erzwingt u.a. die Rückverfolgbarkeit der Anforderungen auf den Code und umgekehrt (Traceability), eine rigorose Versionskontrolle der Modelle, sowie die lückenlose Dokumentation des erzeugten Codes.

Ein weiterer Aspekt ist die lange Lebensdauer von Avioniksystemen: Die Obsoleszenz von Entwicklungswerkzeugen kann dazu führen, dass die Wartung des generierten Codes manuell durchgeführt werden muss. Der generierte Code muss daher entsprechend dokumentiert werden und leserlich sein.

Ziel des Workshops am 13. Oktober ist ein intensiver Erfahrungsaustausch über den Nutzen, aber auch die Grenzen des Einsatzes von Code Generatoren und modellbasierter Softwareentwicklung in Luft- und Raumfahrtprojekten.

Programm


09:00
Begrüßung der Teilnehmer
Prof. Dr. Kau
Institut für Luft- und Raumfahrt
09:10 Einführung Frank Westerbuhr
Frank Dordowsky
DGLR T6.4
09:15 Heterogene Software-Entwicklung für den Flugversuchsträger ATTAS
[Kurzfassung]
Martin Gestwa
Deutsches Zentrum für Luft- und Raumfahrt e.V.
10:00
Code Generierung und modellbasierte Softwareentwicklung für das Automated Transfer Vehicle ATV Projekt
[Kurzfassung]
Christian D. Bodemann
Vega IT GmbH
10:45 Kaffeepause  
11:15
Entwicklung und Anwendung von Software-Generatoren in den Projekten TIGER und NH90
[Kurzfassung]
Dr. Hartmut Braun
ESG Elektroniksystem- und Logistik GmbH
12:00 Mittagessen
13:00 Ein Ansatz zur Automatisierung der Integration von IMA
Systemen(1)
Dr. Andre Windisch
EADS Deutschland GmbH
13:45 Modellbasierte Erstellung der Spezifikation für die Avionik des Eurofighter Systems
[Kurzfassung]
H.-D. Ehrgott, M. Randolph, W. Mansel
EADS Deutschland GmbH
14:30
Kaffeepause
15:00 System Verification supported by UML Modeling
[Kurzfassung]
Harald Eisenmann
EADS Astrium GmbH
15:45 5 Jahre Erfahrung mit UML und Automatischer Codegenerierung in einem mittelständischen Raumfahrt-Unternehmen
[Kurzfassung]
Alfred Hönle
Kayser-Threde GmbH
16:30  Schlußwort Frank Westerbuhr
DGLR T6.4

  1. Der ursprünglich angekündigte Vortrag "Lessons Learnt: Use of Statemate/VAPS for Dynamic System Modelling" wurde vom Autor zurückgezogen.


Allgemeine Informationen
 
 


Termin:

13. Oktober 2004


Ort:

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

Anfahrt

Beschreibung , Lageplan

Teilnahmegebühr :

entfällt 

Übernachtung :

Zimmerreservierungen können über das Fremdenverkehrsamt München vorgenommen werden (Tel. 089-2330-300) . 

Anmeldung:

Bis 8. Oktober 2004
bei Frank Westerbuhr / Frank Dordowsky

Frank Westerbuhr
EADS Deutschland GmbH
Postfach 80 11 09
81663 München

Telefon: 089/607-23794
Telefax: 089/607-26451
E-Mail: frank.westerbuhr@eads.com



Frank Dordowsky
ESG Elektroniksystem- und Logistik-GmbH
Postfach 80 05 69
81605 München

Telefon: 089/607-22425
Telefax: 089/607-26152
E-Mail: frank.dordowsky@esg.de

 

Sponsoren

Wir danken für die freundliche Unterstützung:

Lehrstuhl für Luftfahrttechnik, TU München

EADS Deutschland GmbH

ESG Elektroniksystem und -Logistik GmbH
 


Kurzfassungen der Vorträge

Martin Gestwa: Heterogene Software-Entwicklung für den Flugversuchsträger ATTAS

Das Deutsche Zentrum für Luft- und Raumfahrt e.V. (DLR) verfügt mit dem Flugversuchsträger ATTAS (Advanced Technologies Testing Aircraft System) über ein in Europa zurzeit einzigartiges System. Als Basisflugzeug dient das Kurzstreckenflugzeug VFW 614, welches beim Hersteller so verändert wurde, dass ein im DLR entwickeltes Fly-by-Wire/Light Flugsteuerungssystem integriert und in Betrieb genommen werden konnte. Der dazugehörige Bordrechnerverbund besteht aus einem Duplex-System mit insgesamt neun flugtauglichen Rechnern. Zur Einbindung von Experimenten steht dem Experimentator ein frei programmierbarer Experimentrechner zur Verfügung.

Die heterogene ATTAS Software-Entwicklungsumgebung basiert einerseits auf reinen Quellcode-Dateien und andererseits auf dem problemorientierten Entwicklungswerkzeug MATLAB/SIMULINK mit der Toolbox Real-Time Workshop. Das genannte Produkt hat sich im Bereich der Flugzeug- und Automobilindustrie in den letzten Jahren als de facto Standard etabliert. MATLAB/SIMULINK ist ein Entwicklungswerkzeug zur Modellierung einer Vielzahl technischer Problemstellungen, während mit Hilfe des Real-Time Workshops direkt aus einem Simulink-Modell Quellcode-Dateien in der Programmsprache C erzeugt werden. Das generierte Programmsystem weist dabei die gleiche Funktionalität wie das Simulink-Modell auf.

Der Real-Time Workshop unterstützt verschiedene Software-Strukturen, jedoch müssen in Hinblick auf die Einbindung von Experimentfunktionen über die ATTAS Software-Entwicklungsumgebung bestimmte Anforderungen erfüllt werden. Allerdings können alle Standard-Coder des Real-Time Workshops diese Anforderungen nicht genügen, deswegen wurde ein spezieller ATTAS Coder entwickelt.

Die heterogene Software-Entwicklungsumgebung wurde bereits in vielen Projekten sehr erfolgreich eingesetzt. Zu nennen sind unter anderem die Entwicklung eines Autolandsystems im Rahmen des EU-Projekts REAL, die nicht-lineare In-Flight Simulation für einen Regionaljet sowie die Simulation von Wirbelschleppen im Fluge. Details über die heterogene Software-Entwicklungsumgebung, den ATTAS-Coder und den erfolgreichen Einsatz des vorgestellten Konzepts sollen im Rahmen des Workshops präsentiert werden.

Zurück zum Programm

Christian D. Bodemann: Code Generierung und modellbasierte Softwareentwicklung für das Automated Transfer Vehicle ATV Projekt

Für Raumfahrtanwendungen werden in zunehmendem Maße Simulatoren benutzt, um die Entwicklung des Raumfahrzeugs zu unterstützen. Sie werden sowohl im Rahmen der Systemdefinition, der Design-Validierung von Hardware und Flugsoftware als auch in der Vorbereitung der Mission zur Validierung der Betriebsprozeduren und für das Training der Bediener eingesetzt. Für derartige Simulatoren werden Modelle erstellt, welche die relevanten Funktionen der Hardware und Software sowie die Umwelteinflüsse nachbilden bzw. ersetzen. Hierfür wurden in der Vergangenheit die verschiedensten Programmiersprachen und Entwicklungsumgebungen verwendet, was eine Wiederverwendbarkeit der Modelle stark einschränkte. Derzeit wird in zunehmendem Maße die Simulations- und Entwicklungsumgebung MATLAB/SIMULINK zur Erstellung von Simulationsmodellen verwendet, die vor allem im Rahmen der Systemdefinition zum Einsatz kommen. Im Rahmen des Programms „Automated Transfer Vehicle (ATV)“ wurden Modelle entwickelt, die plattform- und simulatorübergreifend verwendet werden können.

Im ATV-Projekt wurden zur Validierung der Hardware und der Flugsoftware Simulationsmodelle für die entsprechenden Komponenten sowie die Umwelteinflüsse erstellt, zu einem großen Teil erfolgte dies in SIMULINK. Die Entwickling von SIMULINK Modellen erfolgte mit einem modellbasiertem Ansatz. Mit diesen Modelle wurden dann mit Hilfe des Real Time Workshop Code Generators ANSI C code generiert, der dann in der Echtzeit Simulations Umgebung EUROSIM integriert wurde. 

Allerdings wurden auch Modelle wiederverwendet, die bereits im Rahmen der Vorentwicklung in den Programmiersprachen FORTRAN und C erstellt worden waren. Diese mußten nur den Anforderungen der Echtzeit-Simulation angepaßt werden.

MATLAB/SIMULINK stellt in diesem Zusammenhang eine Entwicklungsumgebung dar, welche begleitend in jeder Phase eines Entwicklungsprojekts verwendet wurde. Dies gilt sowohl für Echtzeit- als auch Nicht-Echtzeitanwendungen. Die Integration von Modellen in EuroSim und SIMSAT-NT/2000, den im europäischen Raum für Raumfahrtanwendungen am häufigsten verwendeten Simulationsumgebungen, konnte erfolgreich demonstriert werden.

Die Erfahrungen, die in diesem Projekt gesammelt wurden, sowie die Technologie, die hierzu entwickelt wurde, stellen einen wichtigen Beitrag zur Verwirklichung wiederverwendbarer Simulationsmodelle und autogenerierter Codes dar. Dieser Ansatz weist hinsichtlich einer Reduktion von Entwicklungszeit und Entwicklungskosten ein großes Potential auf.

Zurück zum Programm

Dr. Hartmut Braun: Entwicklung und Anwendung von Software-Generatoren in den Projekten TIGER und NH90

In der SW-Entwicklung der Avioniksysteme der Hubschraubern Tiger und NH90 der Fa. Eurocopter wird an den verschiedensten Stellen SW- Generierung, meist mit selbstentwickelten Generatoren, eingesetzt. Der Vortrag beschreibt den generellen Aufbau und die Funktion sowie die verschiedenen Einsatzgebiete der Generatoren. Die bei der Entwicklung und Nutzung gewonnenen Erfahrungen werden dargestellt und daraus generelle Anforderungen an Generatoren abgeleitet, die auch für die Nutzung proprietärer SW-Generatoren anwendbar sind.

Zurück zum Programm

Dr. Thomas Troffer: Lessons Learnt: Use of Statemate/VAPS for Dynamic System Modelling



Zurück zum Programm

H.-D. Ehrgott, M. Randolph, W. Mansel: Modellbasierte Erstellung der Spezifikation fuer die Avionik des Eurofighter Systems

Modellbasierte Entwicklung in Form einer ablauffähigen Spezifikation stellt für große Avioniksysteme, die eine große Anzahl komplexer Systemfunktionen beinhalten eine große Herausforderung dar. Hier wurden im Rahmen des Projektes Enhanced Process/Toolset für die Avionikentwicklung Eurofighter erhebliche Fortschritte erzielt.

Sowohl die System Requirements und das System Design für das Avioniksystem als auch die SW Requirements für dessen Prozessrechner werden als ausführbare Spezifikation mit dem Werkzeug Statemate entwickelt und als navigierbares PDF-Dokument dokumentiert. Die ausführbare Spezifikation wird als sogenanntes Architekturmodell erstellt. Dieses Architekturmodell ist ein funktionales Model, das allerdings die tatsächliche Architektur der Eurofighter Avionik berücksichtigt.

Es wird gezeigt, wie, beginnend mit dem „Requirements Capture“ mittels Use Case Analyse bis hinunter zu den detaillierten Algorithmen der SW Requirements, ein durchgängiges Statemate Modell zur Verfügung stehen wird. Die ausführbare Spezifikation wird zu Testzwecken genutzt. Auf der Grundlage von Szenarien und Sequenzdiagrammen aus der anfänglichen Use Case Analyse werden Anwendungsfälle systematisch im ausgeführten Modell getestet. Das Verfahren erlaubt sowohl die Validierung der Anwendungsfälle gegen die ursprünglichen Requirements als auch die anschließende Verifizierung der ausführbaren Spezifikation gegen die Anwendungsfälle.

Das gesamte Statemate Modell sowie die Use Cases und weitere Requirements Dokumente sind in ein Requirements Management eingebettete, das durch das Werkzeug DOORS unterstützt wird. Der Nachweis der Requirements Erfüllung wird dadurch entscheidend verbessert.

Der Erfolg in der wirtschaftlichen Erstellung der ausführbaren Spezifikation hat eine wesentliche Grundlage in der engen Kooperation mit dem Statemate-Werkzeughersteller I-Logix. Innerhalb der letzten beiden Jahre hat Statemate aufgrund von Anforderungen aus dem Projekt wesentliche Verbesserungen bekommen. Hierzu zählen neue Funktionalitäten wie Router, Population-of-Information Flows, Local/Global Interface Report, automatische Erzeugung von Sequenzdiagrammen. Die Entwicklung von Statemate wird konsequent weitergeführt, um den erreichten Zustand zu stabilisieren und weiter auszubauen.

 Zurück zum Programm

Harald Eisenmann: System Verification supported by UML Modeling

System validation and verification is a critical element in the process life-cycle for the development of complex systems – in particular for spacecrafts. Compared to other systems spacecraft verification and validation have in particular the following challenges:

  • Limited access to the spacecraft with respect to maintainability and corrections to the system

  • In many cases spacecrafts are still unique. Which means the verification and test approach is different for each spacecraft. This also involves dedicated test equipment to perform the verification.

In order to improve the process over the last years here at Astrium a model-based design and verification environment has been developed. The purpose of it is to improve the development process by a set of executable models of the spacecraft. During the verification process those models can be used in different configurations, beginning with the design verification. An important aspect is the development of the test equipment which is also supported by this approach. It is also be possible to run parts of the flight S/W on this models and eventually parts of the flight hardware can be integrated in to the simulators, this allows to run the flight software in its original target environemnt.

A central element is a UML based modeling of the spacecraft. The modeling environment is able to incorporate spacecraft design information as retrieved from the engineering database. Those UML models will be then transformed to an execution engine in order to become executable models automatically and limit the amount of hand-written code for the verification environment.

 Zurück zum Programm

Alfred Hönle: 5 Jahre Erfahrung mit UML und Automatischer Codegenerierung in einem mittelständischen Raumfahrt-Unternehmen

Obwohl die automatische Codegenerierung aus Modellen mittlerweile eine beträchtliche Verbreitung erfahren hat, werden noch in vielen Unternehmen CASE-Tools nur als Zeichenwerkzeug eingesetzt und die volle Leistungsfähigkeit von Codegenerator, zugrunde liegendem Framework und Objektorientierung bleibt ungenutzt.

Dieser Vortrag stellt die Anwendersicht eines mittelständischen Unternehmens bzgl. vollständigem CASE-Tool Einsatz aufgrund mehrjähriger Erfahrung dar, da bei der Firma Kayser-Threde (München) die automatische Codegenerierung aus Modellen bereits seit Anfang 1999 zur Anwendung kommt. Grundlage war von Beginn an die UML (neben einer in einem Projekt eingesetzten proprietären Sprache) mit automatisch generiertem C++ Code auf Echtzeitsystemen, aber auch auf Linux und Windows.

Durch den Einsatz der entsprechenden Werkzeuge und Methoden bei Kayser-Threde hat sich der Focus schnell weg von der Implementierung und hin zur Modellierung verschoben, obwohl immer noch ein beträchtlicher Prozentsatz des Codes manuell erstellt werden muss. Dies liegt hauptsächlich daran, dass es mit einer Sprache wie UML bis jetzt nicht möglich ist, ein Problem umfassend zu beschreiben. Trotzdem stieg die Effizienz bei der Software-Entwicklung spürbar.

Einsatzgebiet der Codegenerierung aus Modellen ist bei Kayser-Threde hauptsächlich die Raumfahrt (bis jetzt: ISS Infrastruktur, Experimente innerhalb und ausserhalb der ISS, Bodenbetriebsgerät von Höhenforschungsraketen), aber auch die Telematik im Bahn-Bereich. Die damit durchgeführten Raumfahrt-Projekte waren/sind generell für die ESA bestimmt, mit PSS-05 oder ECSS-E40 als Software-Prozess Standards.

Schwerpunkte des Vortrags werden sein:

  • Autocoding im Raumfahrt-Bereich: Besonderheiten des Umfeldes
  • Nutzersicht: Leistungsfähige Funktionen verbessern die Software-Entwicklung
  • Warum ist diese Technologie noch nicht durchgängig verbreitet, was ist das benötigte Wissen ?
  • Unterstützung großer Teile des SW-Lebenszyklus, angefangen von Erstellen und Nachverfolgen der Requirements mit einem separaten Tracing-Werkzeug bis hin zur Testdokumentation
  • Positive und negative Überraschungen in der Praxis
  • Kurzer Überblick über das verwendete kommerzielle CASE-Tool
  • Zwei Anwendungsbeispiele aus dem selben Projekt (Texus Ground Control):
    • Graphisches Frontend mit Microsoft Visual C++, funktioneller Kern dahinter entwickelt mit UML/C++
    • Zu verarbeitendes Datenformat in XML vorhanden (aus OpenOffice), ausführbare UML Statecharts prozessieren dieses: Verbindung beider Welten über SAX-basierten Parser
Präsentationsmaterial in Englisch geplant, Vortragssprache deutsch.
 Zurück zum Programm





 

DGLR

T6

DGLR

DGLR

Inhalt: Frank Dordowsky