Die Geschichte vom Differential Analyzer
Hamming's erste Regel der Systemtechnik: Wenn Sie die Komponenten optimieren, werden Sie wahrscheinlich die Systemleistung ruinen.
Er illustriert dies mit einer Geschichte aus seiner eigenen Arbeit. Er betrieb ein Differential Analyzer - ein Analogrechner, der differentielle Gleichungen durch mechanische Integration löste. Der Bedarf stieg, daher wurde ein zweites Gerät bestellt, um es mit dem ersten zu verbinden, damit beide einzeln oder gemeinsam arbeiten konnten.
Die Bauarbeiter, stolz auf ihr Handwerk, verbesserten die Verstärker im neuen Gerät. Hamming bestand darauf: Jede Verbesserung darf nicht mit der Gesamtsystemfunktion stören. Am Tag der Anerkennung löste er das klassische Test: Löse y'' + y = 0, plot y vs y', erwartet eine perfekte Kreis. Es schlug sofort fehl.
Die Ursache: Die verbesserten Verstärker zogen mehr Strom durch den Grundschaltkreis. Der unzureichende Grundschaltkreis, der mit den ursprünglichen Verstärkern gut funktionierte, ließ jetzt Einströme koppeln zwischen Unter-systemen. Die Verbesserung einer Komponente (Verstärker) verschlechterte die Schnittstelle (Grundschaltkreis) und das System funktionierte nicht mehr.
Die Lösung war trivial - schwerer Kupfer-Grundschaltkreis - aber das Prinzip war klar: Eine Komponentenverbesserung ändert ihr Schnittstellenverhalten. Der Rest des Systems war an den alten Schnittstellen entworfen. Verbessere die Komponente, breche die Schnittstelle, verschlechtere das System.
Erkennen von Komponentenoptimierung
Hamming sagt, die Regel 'scheint so vernünftig, wenn Sie eine isolierte Komponente besser machen, dann wird das gesamte System besser sein' - und dennoch ist sie falsch. Der Fehler ist durch die Schnittstelle vermittelt: Die Komponentenverbesserung ändert den Signal, den die Schnittstelle sieht.
Schnittstellen Über Komponenten
Hamming's praktische Schlussfolgerung: Systemingenieure müssen die Schnittstellen zuerst entwerfen und verifizieren, Komponenten zweitens. Eine perfekte Komponente mit einer kaputten Schnittstelle ist nutzlos. Eine mittelmäßige Komponente mit einer gut definierten Schnittstelle kann später verbessert werden.
Regel 2: Die begrenzenden Bedingungen (Beschränkungen) eines Systems sind oft wichtiger als die optimalen Werte innerhalb dieser Grenzen. Ein System, das auf das maximale Leistungsniveau bei dem erwarteten Betriebspunkt ausgelegt ist, ist oft anfällig: kleine Abweichungen außerhalb des erwarteten Bereichs verursachen Ausfälle. Ein System, das sicher im gesamten Bereich betrieben werden kann - mit gut definierten Einschränkungen - ist robuster.
Beispiel: Ein Kommunikationssystem, das für genau 100 Mbps Verkehr bei 25°C ausgelegt ist, schlägt fehl, wenn der Verkehr auf 110 Mbps ansteigt oder die Temperatur auf 40°C ansteigt. Ein System, das die Einschränkung 'soll nicht mehr als 90% Auslastung bei einer Temperatur unter 60°C erreichen' hat, ist nützlicher, auch wenn seine Spitzenleistung geringer ist.
Die Aufgabe des Systemingenieurs: nicht A oder B einzeln zu optimieren, sondern A+B+C... als Ganzes zu optimieren, unter Beachtung von Einschränkungen.
Das Bildungssystem: Versagtes Systemengineering
Hamming wendet sein eigenes Prinzip auf Bildung an. In den Jahrzehnten seitdem wurden Universitäten individuelle Mathematik-Kurse optimiert: Der Kalkül wurde auf die Grundlagen reduziert, Lineare Algebra wurde aufgeräumt und verfeinert. Jeder Kurs, einzeln bewertet, sieht besser aus.
Aber betrachtet man sie als System, traten große Lücken auf:
- Mathematische Induktion: wurde kaum nach der Schule erwähnt.
- Komplexe Zahlen: wurden kurz in der Algebra eingeführt und danach meistens vermieden, bis im Linearen Algebra komplexe Eigenwerte auftauchen. Die Studenten müssen sich vor zwei neuen, schwierigen Ideen gleichzeitig ohne vorherige Vorbereitung befinden.
- Unbestimmte Koeffizienten: wurden kurz erwähnt.
- Beweise der Unmöglichkeit: wurden fast vollständig ausgelassen.
- Diskrete Mathematik: wurde weitgehend ignoriert.
Die Optimierung jeder Komponente (jeder Kurs) schuf Schnittstellenlücken: fehlende konzeptionelle Brücken zwischen den Kursen. Die Ausgabe des Systems - ausgebildete Ingenieure und Wissenschaftler - litt, obwohl die Ausgabe-Metriken jedes Kurses verbessert wurden.
Widerstehen dem natürlichen Drang, das gebrochene Teil zu beheben
Hamings Beobachtung: Es ist einfach, die richtigen Worte über Systemtechnik zu sagen. Nur sehr wenige Menschen können es wirklich tun, wenn es zum entscheidenden Moment kommt.
Die natürliche Reaktion, wenn ein System versagt: Den am offensichtlichsten gebrochenen Komponenten zuweisen und sie zu beheben. Dies ist das Komponenten-Denken. Das System hat jedoch aus Gründen, die die Interaktion von Komponenten, Schnittstellen und Einschränkungen betreffen, versagt – aber die sichtbarste Fehlfunktion ist meistens bei einer einzelnen Komponente.
Die Disziplin des Systemsingenieurs: Bevor man die sichtbare Fehlfunktion behebt, fragt man: Warum hat das System diese Fehlfunktion bei dieser Komponente erzeugt? Leidet die Komponente tatsächlich unter einer Unterperformance, oder wird sie von dem Rest des Systems außerhalb ihres Entwurfsbereichs betrieben? Das Beheben der Komponenten-Symptome lässt die Systemfehlfunktion unberührt.
Das Kommunikationsengpass in großen Organisationen folgt diesem Muster: Ein Department kommuniziert schlecht (sichtbare Fehlfunktion). Komponenten-Lösung: Bessere Kommunikatoren einstellen. System-Lösung: Die Informationsfluss-Architektur so neu gestalten, dass weniger Kommunikation erforderlich ist, um die gleiche Koordination zu erreichen.
Systemdiagnose
Die Unterscheidung: Eine Komponenten-Lösung behandelt ein Symptom. Eine System-Lösung behandelt die Ursache. Die Ursache betrifft in der Regel die Struktur des Systems – welche Komponenten existieren, welche Schnittstellen sie verbinden, welche Einschränkungen ihren Betrieb beeinflussen.