Nach dem Rückzug des Department of Defense

Ada-Gemeinde setzt bei der Standardisierung auf die ISO

02.07.1999
Neunzehn Jahre nach der Vorlage der ersten vollständigen Sprachdefinition beginnt für die Programmiersprache Ada ein neuer Lebensabschnitt. Das Ada Joint Program Office (AJPO) hat im Herbst 1998 seine Pforten geschlossen und das US-Verteidigungsministerium (DoD) als bis- heriger Vorreiter will sich schrittweise aus der Technologie-Standardisierung zurückziehen. Kein Grund zur Sorge, meint *Michael Tonndorf.

Als Kind der sogenannten Softwarekrise der 70er Jahre hat sich Ada nach Ansicht von Fachleuten mittlerweile zur Referenz-Programmiersprache entwickelt. Während Ada 83 noch eine Reihe von Defiziten aufwies und etwa die objektorientierte Programmierung noch nicht vollständig unterstützte, liegt mit Ada 95 die Definition einer Programmiersprache vor, die die Erkenntnisse und Erfahrungen von 30 Jahren Software-Engineering in sich vereint und ein Konsens zwischen hochkarätigen, unabhängigen Experten darstellt. Nach einer gewissen Übergangsfrist stehen nun Ada-95-Compiler für die meisten marktgängigen Entwicklungs- und Zielplattformen zur Verfügung. Compiler zum Kennenlernen werden mittlerweile von vielen Ada-Herstellern zum Nulltarif angeboten, und zahlreiche Informationen stehen im Internet bereit (siehe Kasten "Informationen").

Die unstrittige Domäne von Ada sind sicherheitskritische Systeme, bei denen der Ausfall der Software gravierende Konsequenzen haben kann bis hin zum Verlust von Menschenleben. Daher müssen die entsprechenden Programme robust und langlebig sein, eine Eigenschaft, die immer nachdrücklicher von den Anwendern gefordert wird. Objektorientierte Sprachen wie C++ und Java bieten aber auf diesem Gebiet keine besondere Unterstützung, so daß, sehr vereinfacht gesagt, der Entwickler sich selbst um die Sicherheit und Zuverlässigkeit seiner Software kümmern muß. Bei Ada werden die Werkzeuge für die Erstellung sicherer Software hingegen schon durch die Sprache zur Verfügung gestellt.

Darüber hinaus gibt es sowohl in der Sprachdefinition als auch in ergänzenden Standards klare Richtlinien zur Erstellung sicherer und zertifizierbarer Software, und Compiler und Werkzeuge helfen bei der automatischen Erzeugung von Code, der diesen Richtlinien entspricht. So ist es nicht verwunderlich, daß viele Standards in den Bereichen Luft- und Raumfahrt, Automobilindustrie oder Prozeßtechnik Ada empfehlen oder vorschreiben, von C und C++ hingegen abraten. Zugleich ist die Liste der Ada-Erfolgsgeschichten lang: der Web-Server des Ada-Information Clearinghouse (www.adaic.org) führt 45 erfolgreiche Projekte in acht Kategorien auf. Darunter sind auch zivile Renommierprojekte wie die Steuerung der Boeing 777, die Steuerung des TGV und Eurostar sowie die ABB-Netzleittechnik.

Andererseits schließt die Entscheidung für Ada nicht die Verwendung anderer Programmiersprachen aus. Vielmehr verlangt der Sprachstandard Ada 95, daß jede konforme Implementierung Schnittstellen zu Fortran, Cobol und C bereitstellen muß. Daher können externe Bibliotheken aus anderen Sprachen genutzt werden, wenn diese beispielsweise bewährte Standarddienste (GUI-Builder) implementieren, und auch zu Java existieren längst Programmierschnittstellen.

Durch den Rückzug des DoD muß fortan aber ein Bereich neu geordnet werden: die Validierung und Zertifizierung der Compiler. Seit den frühen Tagen von Ada 83, ein Markenzeichen von Ada, hat die Validierung dazu beigetragen, das Prinzip einer herstellerunabhängigen Qualitätskontrolle der Compiler durchzusetzen. Die Entwicklung und Fortschreibung der Testsuite, die Organisation des "Certification Body" und die Öffentlichkeitsarbeit werden nun nicht mehr vom DoD gesponsert. Wie bei keiner anderen Programmiersprache hatte man hier Erfahrungen mit Prüfungen für Normkonformität gesammelt.

Weltweite Dachorganisation für alle Arten von Normen und Standards ist nun die ISO (International Organisation for Standardisation), der im August 1998 der erste interne Entwurf für einen Standard (Ada: Conformity Assessment of a Language Processor) vorgelegt wurde. Am Ende diese Prozesses werden eine Ada Conformity Assessment Authority (ACAA) und zwei Ada Conformity Assessment Laboratories (ACAL: EDS USA und IABG Deutschland) stehen. Hinzu kommen Verfahrensprozeduren, die eine einheitliche Sprachregelung einführen, die etwa "Validation" in "Conformity Assessment" umbenennt. Die Spielregeln und Akzeptanzkriterien bleiben dabei weiterhin gültig, denn nichts ist wichtiger als Kontinuität und Vertrauensschutz.

So wie die ISO jetzt den Platz bei der Standardisierung eingenommen hat, spielt die Ada Resource Association (ARA) die Rolle der Interessenvertretung der Ada-Industrie. Sie ist ein eher informeller Zusammenschluß der Anbieter von Ada-Produkten mit Sitz im Raum Washington, D.C. Die ARA ist bei der Übergabe der Zertifizierung an die ISO eingebunden, ohne daß diese bei den Regeln mitbestimmen kann, denn zur Vertrauenswürdigkeit in Ada ist eine Industrie-unabhängige Zertifizierungsorganisation unabdingbar.

So kann man Ada trotz gelegentlich stürmischer und holpriger Wachstumsphasen heute Volljährigkeit bescheinigen. Ihre Stärken liegen im sauberen konzeptionellen Unterbau, der Unterstützung von Prinzipien der Softwaretechnik, ihrer universellen Einsetzbarkeit und Verfügbarkeit sowie der Reichhaltigkeit der Konzepte. Auch das Jahr-2000-Problem existiert für Ada nicht, da der vorgegebene Datentyp für Zeitgrößen eine vierstellige Jahresangabe erzwingt.

Informationen

Einen guten Einstieg in die Ada-Welt bieten die Web-Seiten:

AdaHome http://www.adahome.com; Ada Information Clearinghouse http://www.AdaIC.org; Ada-Europe http://www.Ada-Europe.org sowie Ada-Deutschland http://www.Ada-Deutschland.de.

*Michael Tonndorf ist Leiter des Ada Confirmity Assesment Laboratory der IABG in Ottobrunn bei München.