Benutzerschnittstellen für technische Anwendungen

Neue Werkzeuge reduzieren den Entwicklungsaufwand

02.03.1990

Nicht der technische Aspekt der Kommunikation, sondern die Inhalte sollten im Mittelpunkt der menschlichen Auseinandersetzung mit dem Computer stehen. Entwicklungsaufwand und -kosten zu reduzieren und trotzdem hochinteraktive grafische Benutzerschnittstellen zu erhalten ist das Ziel der Entwickler. Dieter Eckardt erläutert den Stand der Technik.

Ergonomische Schnittstellen unterstützen das Rapid Prototyping und gewährleisten eine hohe Wirtschaftlichkeit. Der Erfolg eines interaktiven grafischen Systems hängt in zunehmendem Maße von der Qualität seiner Kommunikationsschnittstelle ab.

Die Realisierung von Benutzeroberflächen bedeutet einen sehr hohen Aufwand. Notwendig ist daher die Entwicklung von Entwurfsmethoden und Werkzeugen, die auf die speziellen Anforderungen der Komponente Benutzerschnittstelle zugeschnitten sind und mit deren Hilfe der Entwurfs- und Realisierungsaufwand - und damit auch die Entwicklungskosten gesenkt werden können.

Die gesamte Kommunikation in einer Benutzeroberfläche

Voraussetzung dafür ist jedoch, daß die gesamte Kommunikation und alle damit zusammenhängenden Aufgaben separiert und zu einer eigenständigen Komponente, der Benutzeroberfläche, zusammengefaßt wurden. Diese wird durch zwei Schnittstellen geprägt: Die eine Liegt zwischen Anwender und System, die andere ist die Programmierschnittstelle. Diese sollte die Kommunikation des Benutzers mit der Anwendung auf einer möglichst hohen Abstraktionsebene gewährleisten.

Die Benutzerschnittstelle kann von Experten auf dem Gebiet der Mensch-Maschine-Kommunikation gestaltet werden, unabhängig von der reinen Anwendung, für deren Realisierung Experten auf dem speziellen Anwendungsgebiet zuständig sind. Interaktive grafische Anwendungen, z.B. für Computer-Aided Design (CAD), VLSI-Design, Software-Engineering, Büroautomation oder Prozeßüberwachung bedienen sich derzeit verschiedener Basissysteme, mit deren Hilfe einzelne Komponenten der Benutzerschnittstelle realisiert werden können. Hier sind zu nennen: Systeme für grafische Darstellungen, Objektstrukturierung und Modelling, Fenstersysteme und Toolkits sowie Benutzerschnittstellen-Werkzeuge zur Dialoggestaltung und -steuerung. Grafiksysteme entwickelten sich in erster Linie aus dem computergestützten Entwurf, der Simulation und der Animation. Sie sind stark an den technischen Anforderungen der Anwendung orientiert.

Fenstersysteme (Window Manager) dienen in erster Linie der Verwaltung und Verteilung der knappen Ressource Bildschirm mit Hilfe von mehreren Fenstern.

Ferner stellen sie geeignete Interaktionsbausteine bereit. Sie sind durch die Verbreitung von Raster-Workstations populär geworden und meist auf deren Hardware-Eigenschaften zugeschnitten.

Toolkits bestehen aus vorgefertigten Bausteinen, die vom Interface-Designer zusammengesetzt werden.

Ihre Funktionalität ist sehr unterschiedlich und reicht von der "Low-level"-Verwaltung in einer Workstation bis zur "High-level"-Dialogverwaltung. Sie bieten sehr große Freiheit und Flexibilität.

Da bisher keine größeren Normierungsbestrebungen unternommen wurden, ist die Zahl existierender Systeme sehr hoch. Beispiele sind X-Windows mit Toolkits für Unix-Workstations-, MS-Windows und der Presentation Manager für Personal Computer sowie die Macintosh-Software für Apple-Systeme.

All diese Systeme bieten für unterschiedliche Anwendungsbereiche nicht das geeignete Abstraktionsniveau. Verbesserte Grafikunterstützung bietet der neuartige Ansatz News; jedoch stellt die Grafik-Schnittstelle Postscript für große Anwendungen ebenfalls nicht das geeignete Programmier-Werkzeug dar.

Der Begriff "Generische Systeme" faßt Application-Frameworks und User-Interface-Management-Systems zusammen. Application-Frameworks bestehen aus einem Programmskelett, das häufig wiederverwendbare Programmbausteine zur Realisierung der Benutzerschnittstelle enthält. Freigelassene Einschübe (Slots) können vom Interface-Designer mit zusätzlicher anwendungsspezifischer Funktionalität gefüllt werden.

Application Frameworks, die meist einen objektorientierten Ansatz verfolgen, stellen zwar gegenüber Toolkits einen Fortschritt dar, jedoch entspricht das Abstraktionsniveau nach wie vor dem von "Low-level"-Toolkit-Routinen. Beispiel dafür ist die Macapp-Software für Apple-Systeme.

Ein User-Interface-Management-System (UIMS) wird vom Interface-Designer verwendet, um die Benutzerschnittstelle für eine Menge funktionaler Module zu entwickeln, die der Anwendungsentwickler zur Verfügung haben soll. Ein UIMS stellt zum Beispiel folgende Entwicklungswerkzeuge zur Verfügung: Font- und Icon-Editoren, Bildschirm-Formatierer, Editoren für Bildschirmmasken und -formulare oder Hilfsmittel zur Dialogablauf-Spezifikation.

Weiterhin unterstützt dieses System die automatische Generierung von Dialogen sowie deren Überwachung und Auswertung. Beispiele dafür sind am Markt existierende Systeme wie Enter/Act und Domain Dialogue sowie im Forschungsbereich Menulay, Peridot oder Syngraph.

Gegenwärtige Ansätze für UIMS lassen sich anhand der realisierten Kontrollarchitektur unterscheiden: Man differenziert zwischen UIMS mit interner oder mit externer Kontrolle. In Systemen mit interner Kontrolle wird die Reihenfolge der Dialogschritte implizit durch den Kontrollfluß der Anwendung gesteuert. UIMS mit externer Kontrolle bieten Spezifikationsmittel zur expliziten Beschreibung des Dialogablaufs. Die in einer vorgeschalteten Spezifikationsphase festgelegte Dialogbeschreibung dient dem Anwender zur Steuerung der Kommunikation mit dem Dialogsystem während der Laufzeit.

Historisch verlief die Entwicklung von Entwurfswerkzeugen für grafische fensterbasierte Benutzerschnittstellen in den genannten Bereichen (Grafik, Fenster-Systeme und UIMS) unabhängig voneinander. Daher haben diese Systeme heute ihre speziellen Anwendungsbereiche, Modelle und Terminologien. Ansätze für eine lntegration dieser Bereiche sind kaum zu finden.

Am Zentrum für Grafische Datenverarbeitung in Darmstadt (ZGDV) wurden daher in den letzten Jahren im Rahmen mehrerer Projekte Entwicklungen von Entwurfswerkzeugen für grafische fensterbasierte Benutzerschnittstellen fertiggestellt. Zu diesen Projekten zählen die BMFT-Verbundprojekte Unibase und Prosyt sowie weitere Projekte in Kooperation mit größerem Industrieunternehmen.

GIobale Zielsetzungen dieser Entwicklungen waren:

- Reduzierung des Entwicklungsaufwandes für die Realisierung hochinteraktiver grafischer Benutzerschnittstellen (verglichen mit existierenden Werkzeugen)

- Reduzierung des Lernaufwandes beim Einsatz von Benutzerschnittstellen-Werkzeugen durch Entwickler, die keine Experten in der Gestaltung von Mensch-Rechner-Schnittstellen sind

- Unterstützung des Rapid Prototyping für die iterative Entwicklung von Benutzerschnittstellen

- Portierbarkeit von Applikationen durch Unabhängigkeit der Programmierschnittstelle

von Hardware-Umgebungen, Betriebssystemen oder unterlagerten Basis-Software-Systemen.

Technisch wurden die folgenden Entwurfsziele verfolgt:

- Entwicklung von anwendungsunabhängigen Standardschnittstellen, mit denen Funktionen zum Aufbau von Benutzerschnittstellen bereitgestellt werden

- Einsatz der Mehrfenstertechnik zur Unterstützung des Benutzers bei paralleler Arbeit in verschiedenen Kontexten und zur Nachbildung einer Desktop-Oberfläche

- Verwendung von Grafik zur Darstellung von Objekten und Sachverhalten, da grafische Darstellungen der menschlichen lnformationsaufnahme und -verarbeitung sehr entgegenkommen

- Unterstützung der direkten Manipulation, gekennzeichnet durch die Hauptmerkmale: kontinuierliche Objekt-Repräsentationen, physische Interaktion anstelle komplexen Kommandos sowie schnelle, inkrementelle und reversible Aktionen mit unmittelbarem Feedback

- Separierung von Benutzeroberfläche und Anwendung sowohl unter physikalischen Gesichtspunkten (keine gemeinsamen Daten zur Laufzeit) als auch unter logischen Aspekten (separater Entwurf und Realisierung von Benutzerschnittstelle und Anwendung)

- Hohes Abstraktionsniveau der Programmierschnittstelle zur Unabhängigkeit von Geräte-Eigenschaften (physikalische Abstraktion) und Ausprägung einzelner Interaktionstechniken (logische Abstraktion) sowie zur Entlastung der Anwendungsprogramme von Aufgaben der Dialogbeschreibung

- Integration der Konzepte von Grafik-, Fenster- und User-Interface-Management-Systemen in einem einheitlichen Architekturmodell.

Als Ergebnis dieser Entwicklungen liegen die Systeme Prodia, Siemcad und Theseus vor. Die verwendeten Konzepte sind tragfähig, so daß die Systeme in verschiedenen Anwendungsbereichen genutzt werden konnten - unter anderem für den Entwurf der Benutzerschnittstellen von Software-Entwicklungswerkzeugen und Software-Produktionsumgebungen sowie eines syntax- und strukturorientierten SGML-Editors und die grafisch interaktive Benutzeroberfläche eines Leitsystems zur Überwachung und Steuerung technischer Prozesse.