Meilensteine der Elektronik Green Hills Software – Spezialist für hochzuverlässige Systeme

Redakteur: Franz Graser

Der Softwarehersteller aus dem kalifornischen Santa Barbara setzte Maßstäbe mit Entwicklungswerkzeugen für Embedded-Systeme und mit dem Echtzeitbetriebssystem INTEGRITY.

Firmen zum Thema

Dan O'Dowd: Der Gründer und CEO von Green Hills arbeitete unter anderem bei National Semiconductor, bevor er sein eigenes Unternehmen aus der Taufe hob.
Dan O'Dowd: Der Gründer und CEO von Green Hills arbeitete unter anderem bei National Semiconductor, bevor er sein eigenes Unternehmen aus der Taufe hob.
(Bilder: Green Hills Software)

Am Anfang der Unternehmensgeschichte von Green Hills Software stand der Compiler. Zu Beginn der 80-er Jahre gab es keine Embedded-Compiler für die damals verfügbaren Entwickler-Workstations. Wer für eingebettete Systeme programmierte, musste auf Assembler zurückgreifen oder direkt mit der Maschinensprache arbeiten.

Die Nachteile dieser Vorgehensweise lagen auf der Hand: Erschien ein neuer Prozessortyp, dann mussten die Entwickler die Maschinensprache dieses Typs wieder neu lernen. Außerdem ließ sich mit dieser Vorgehensweise nur eine begrenzte Produktivität erreichen.

Es musste besser gehen, dachte sich Dan O'Dowd, der damals beim US-Halbleiterhersteller National Semiconductor als Manager für Betriebssystem- und Tool-Entwicklung arbeitete. O'Dowd hatte am Systemdesign des ersten universellen 32-Bit-Mikroprozessors NS32000 mitgearbeitet.

Von 1976 bis 1978 hatte er in dem Entwicklerbüro APh Technology Consulting einige der ersten Entwicklerwerkzeuge für eingebettete Systeme programmiert, etwa den Debugger, den Assembler und den Linker. Unter anderem setzte die Spielwarenfirma Mattel die Tools ein, um Software für frühe Handheld-Videospiele zu entwickeln.

O'Dowd kannte die Probleme der Embedded-Entwickler aus erster Hand. Werkzeuge für die Entwicklung eingebetteter Systeme standen daher im Fokus des Unternehmens Green Hills Software, das er 1982 im kalifornischen Santa Barbara gründete. Ein Jahr später brachte Green Hills den ersten 32-Bit-Embedded-Compiler für C auf den Markt.

Bildergalerie
Bildergalerie mit 9 Bildern

Technische Durchbrüche dank des Compilers

„Der Compiler ermöglichte mehrere technische Durchbrüche in der Entwicklung von Embedded-Systemen“, erinnerte sich Dan O'Dowd in einem Interview: „Elektronikentwickler konnten damit produktiver arbeiten, da sie höhere Programmiersprachen verwenden konnten. Cross-Compilation ermöglichte den Einsatz relativ leistungsfähiger Workstations für die Entwicklungsarbeit. Und die Bereitstellung des ersten optimierenden Embedded-System-Compilers machte Programmiersprachen im Hinblick auf die Performance praxisfähig.“

Darüber hinaus sorgten die Compiler dafür, dass Green Hills Software bereits sehr früh profitabel wurde. „Die damit verbundene finanzielle Stärke und Unabhängigkeit verbesserte sich von Jahr zu Jahr, so dass wir mehr in neue Techniken investieren konnten - und können - als unsere Wettbewerber.“

Der nächste Schritt im Entwicklungsprozess, den Green Hills Software durch zeitgemäße Tools verbessern wollte, war das Debugging. „Der grafische Debugger für Embedded-Systeme wurde aus der eigenen Not heraus entwickelt“, erinnert sich O'Dowd: „Das Kommandozeilen-Debugging war zwar damals State of the Art, aber die Entwicklung eines komplexeren Programms, wie zum Beispiel eines Compilers, war mit diesem Ansatz ausgesprochen schwierig.“

„Als Softwareentwickler stellten wir uns vor, dass wir hohe Produktivitätssteigerungen nur durch umfassende Einsicht in den Code auf dem gesamten Bildschirm sowie durch zeitgemäße Steuerelemente wie Klicken und Scrollen erreichen können, etwa um Breakpoints zu setzen, Informationen einzusehen oder den Code und die Beziehungen zwischen den Daten zu analysieren. Anfang der 90-er Jahre ermöglichten wir außerdem das Mehrsprachen-, Multicore- und Multi-Thread-Debugging.“

MULTI - die erste grafische Embedded-IDE

Das Ergebnis dieser Anstrengungen war MULTI, die erste grafische integrierte Entwicklungsumgebung (Integrated Development Environment, IDE) für Embedded-Systeme, die 1993 erschien. MULTI erhielt ihren Namen aufgrund der Vielzahl an Funktionen, die sie ermöglichte - etwa das erwähnte Mehrsprachen, Multicore- und Multi-Thread-Debugging.

MULTI wurde schnell zum Flaggschiff des Unternehmens. Allerdings zeichnete sich die nächste Herausforderung bereits am Horizont ab. Im Austausch mit Firmen, die Embedded-Software entwickelten, hatte Firmenchef O'Dowd auch das Geschäftsfeld der Echtzeitbetriebssysteme (RTOS) kennengelernt. „Damals beherrschten RTOS-Produkte mit flachen Speichermodellen den Markt: VxWorks, pSOS, VRTX und dergleichen.“

Bildergalerie
Bildergalerie mit 9 Bildern

„Wir wussten damals schon, dass moderne Mikroprozessoren mit ihren Speichermanagement-Funktionen die bestmöglichen Betriebssysteme und Systemarchitekturen beherbergen konnten: Modulare Systeme mit einem High-Assurance-Mikrokernel als Grundlage, streng gegeneinander abgegrenzten Komponenten und wohldefinierten Schnittstellen dazwischen. Mich wundert es, dass viele Embedded-Produkte immer noch monolithische Architekturen benutzen, sogar solche, bei denen Millionen Codezeilen in einem einzigen Adressraum laufen - ein Bug genügt, und das ganze System geht zum Teufel!“

Das Echtzeitbetriebssystem von Green Hills Software sollte diese Fehler vermeiden. INTEGRITY, das 1997 auf den Markt kam, war das erste kommerzielle partitionierende RTOS. Der Vorteil, einzelne Programme streng gegeneinander isolieren zu können, spielte vor allem in Anwendungsfeldern eine Rolle, in denen es naturgemäß auf hohe Zuverlässigkeit ankommt, zum Beispiel in der Luft- und Raumfahrt.

INTEGRITY: technischer und unternehmerischer Meilenstein

Dan O'Dowd erinnert sich an ein Gespräch mit dem Leiter der Softwareentwicklung für den amerikanischen Interkontinentalbomber Rockwell B-1B. O'Dowd fragte den Entwicklungsleiter: „Was wird passieren, wenn einer Ihrer 160 Entwickler Mist baut?“ Der antwortete: „Mir graut vor dieser Vorstellung.“

Der Green-Hills-Chef legte dem Entwicklungsleiter daraufhin die Vorteile eines Systems dar, das über Speicherschutz verfügte und das die einzelnen Prozesse streng gegeneinander abschirmte. Sicherheit, Verlässlichkeit und die Tatsache, dass das Betriebssystem nicht zu hacken ist, führten zum Vertragsabschluss.

Das Betriebssystem INTEGRITY markierte nicht nur einen technischen Meilenstein, sondern war auch eine Wasserscheide für das Unternehmen. „INTEGRITY hat die Company tiefgreifend verändert, indem es unsere Lösungstiefe vergrößert und unseren Kundenkreis verbreitert hat. Wir konnten dadurch neue Märkte erschließen, zum Beispiel Automotive oder die Bereiche Desktop, Laptop und Mobile in Unternehmen.“

„Dort wird häufig eine umfangreiche Funktionalität, wie etwa Multimedia und Internetzugang, mit kritischen Diensten gepaart - etwa funktionale Sicherheit und Datensicherheit oder Echtzeitanwendungen, für die universelle Betriebssysteme nicht geeignet sind.“

Moderne Hardware-Trends, zum Beispiel Multicore-Architekturen, eignen sich sehr gut für solche Systeme mit gemischter Kritikalität. Das INTEGRITY-System kann hier als vertrauenswürdiges Software-Fundament für die unterschiedlichen Workloads dienen.

Zertifizierung nach strengstem Luftfahrtstandard

2002 wurde das RTOS INTEGRITY-178B nach dem höchsten Level A des US-Sicherheitsstandards DO 178B zertifiziert. Dieser Standard der US-Flugsicherheitsbehörde FAA bezieht sich auf Softwaresysteme, die in Flugzeugen zum Einsatz kommen. Dies war die erste Zertifizierung für ein kommerzielles Betriebssystem nach diesem Standard.

Auch auf dem Tool-Sektor ging es weiter voran: 2003 erschien die Debugging-Suite TimeMachine. Diese Erweiterung der Entwicklungsumgebung MULTI ermöglicht es, das Verhalten eines Embedded-Systems eingehend zu analysieren und Programmfehler sowie Performance-Probleme aufzuspüren.

Da Time Machine jede Instruktion aufzeichnet, die der Prozessor ausführt, erlaubte es das Tool erstmals, auch das Systemverhalten in der Vergangenheit zu überprüfen. Um direkt Systemdaten auslesen zu können, brachte Green Hills im selben Jahr die Systemsonde SuperTrace Probe auf den Markt.

2003 ging auch die Evolution des RTOS weiter: Mit dem INTEGRITY Multivisor erschien die weltweit erste sichere Virtualisierungslösung für Embedded-Systeme. In den Jahren darauf bewies eine Reihe wichtiger Zertifizierungen die Zuverlässigkeit und Robustheit des Systems: 2007 wurde das System nach der Norm für Industriesicherheit IEC 61508/EN 50128 zertifiziert.

Ein Jahr später wurde INTEGRITY-178B als erstes und einziges Betriebssystem von der NIAP (National Information Assurance Partnership, bestehend aus der NSA und dem National Institute of Standards and Technology) nach EAL6+ High Robustness zertifiziert. Damit erreichte INTEGRITY-178B den höchsten Sicherheitsgrad, den ein Softwareprodukt jemals erzielt hat.

„Diese Zertifizierungen markierten branchenweite Meilensteine“, erläutert Dan O'Dowd. „Sie belegen, dass eine kritische Softwaretechnik, also das Betriebssystem, höchste Sicherheitsstandards erfüllen kann, sofern sie von Anfang an richtig entwickelt wurde. Die Zertifizierung nach DO-178 Level A war das erste Mal, dass eine Avionik-Entwicklungsfirma ein kommerzielles, also nicht selbst erstelltes, partitionierendes RTOS für die kritischsten Systeme in einem Flugzeug verwendete.“

Diese Exzellenz machte Green Hills Software seit der Gründung stark. „Die technische Überlegenheit unserer Produkte hat das Überleben von Green Hills durch alle Finanzkrisen gesichert“, so Gründer und Firmenchef Dan O'Dowd: „Wir verstehen unsere Kunden, denn wir entwickeln Software wie sie auch. Wir nutzen unsere eigenen Produkte für unsere Entwicklungsarbeit, denn sie sind die besten. Und wir stellen somit sicher, dass sie so arbeiten, wie sie sollen.“

Artikelfiles und Artikellinks

(ID:44516811)