Diferansiyel Analizör Hikayesi
Hamming'in sistem mühendisliği ilkesi: Eğer bileşenleri optimize ederseniz, sistem performansını muhtemelen mahvedeceksiniz.
Bunu kendi çalışmasından bir hikaye ile örneklendirir. Diferansiyel denklemleri mekanik entegrasyon yoluyla çözen bir diferansiyel analizör işletiyordu. Talep arttıkça, ilki ile bağlanabilecek ikinci bir birim sipariş edildi, böylece ikisi de ayrı ayrı veya birlikte çalışabilecekti.
İnşaatçılar, zanatlı olmaktan gurur duyarak, yeni birimde güçlendiricileri geliştirdiler. Hamming ısrar etti: herhangi bir iyileştirme, genel sistem işletimini etkilememek zorundaydı. Kabul günü, klasik testi çalıştırdı: y'' + y = 0 çöz, y vs y' grafiğini çiz, mükemmel bir daire bekle. Hemen başarısız oldu.
Nedeni: geliştirilmiş güçlendiriciler topraklama devresi üzerinde daha fazla akım çektiler. İlk güçlendiriciler ile iyi çalışan yetersiz topraklama, şimdi alt sistemler arasında sızıntı akımlarının eşleşmesine izin veriyordu. Bir bileşenin iyileştirilmesi (güçlendiriciler) ara yüzün (topraklama) davranışını değiştirdi, sistem başarısız oldu.
Düzeltme önemsizdi — daha ağır bakır topraklama — ama ilke açıktı: bir bileşen iyileştirmesi, ara yüz davranışını değiştirir. Sistemin geri kalanı eski ara yüz etrafında tasarlandı. Bileşeni iyileştir, ara yüzü kır, sistemi degrade et.
Bileşen Optimizasyonunu Tanıma
Hamming, eğer bir izole bileşeni daha iyi hale getirirseniz o zaman bütün sistem daha iyi hale gelecektir — diyorsunuz, bu çok mantıklı görünüyor, ancak yanlış. Başarısızlık ara yüz üzerinden arabulucu: bileşen iyileştirmesi ara yüzün gördüğü sinyali değiştirir.
Bileşenlere Karşı Ara Yüzler
Hamming'in pratik sonucu: sistem mühendisleri ara yüzleri ilk, bileşenleri ikinci olarak tasarlamalı ve doğrulamalıdır. Kırık ara yüze sahip mükemmel bir bileşen işe yaramaz. İyi tanımlanmış ara yüze sahip orta bir bileşen daha sonra iyileştirilebilir.
Kural 2: bir sistemin sınır koşulları (kısıtlamaları) genellikle bu sınırlar içindeki en uygun değerlerden daha önemlidir. Beklenen çalışma noktasında performansı maksimize etmek için tasarlanmış bir sistem çoğunlukla kırılgandır: beklenen aralığın dışında küçük sapıntılar başarısızlıklara neden olur. Geniş bir aralıkta güvenli bir şekilde çalışmak için tasarlanmış bir sistem — iyi tanımlanmış kısıtlamalarla — robust'tur.
Örnek: tam olarak 100 Mbps trafiği 25°C'de işlemek için tasarlanmış bir iletişim sistemi, trafik 110 Mbps'ye yükselirse veya sıcaklık 40°C'ye çıkarsa başarısız olur. 'Herhangi bir sıcaklıkta 60°C'nin altında kullanımı %90'ı geçmemeli' kısıtlaması ile tasarlanmış bir sistem daha kullanışlıdır, en yüksek performansı biraz daha düşük olsa bile.
Sistem mühendisinin işi: A veya B'yi ayrı ayrı optimize etmek değil, A+B+C... bütünü, kısıtlamalara tabi olarak optimize etmektir.
Eğitim Sistemi: Başarısız Sistem Mühendisliği
Hamming, kendi ilkesini eğitime uyguluyor. Onlarca yıl boyunca, üniversiteler matematik derslerini optimize ettiler: Kalkülüs temel unsurlarına indirgendi, Lineer Cebir temizlendi ve sıkılaştırıldı. Bireysel olarak değerlendirildiğinde, her ders daha iyi görünüyor.
Ama bir sistem olarak görüldüğünde, büyük açıklar ortaya çıktı:
- Matematiksel tümevarım: lise sonrasında zar zor bahsedilir.
- Karmaşık sayılar: cebirde kısaca tanıtılır, sonra Lineer Cebirdeki karmaşık özdeğerler ortaya çıktığında geç sunulur. Öğrenciler iki yeni, zor konseptle hiçbir öncül hazırlık olmadan eş zamanlı olarak karşı karşıya gelir.
- Belirsiz katsayılar: kısaca bahsedilir.
- İmkansızlık kanıtları: hemen hemen tamamen eksiktir.
- Ayrık matematik: büyük ölçüde görmezden gelinir.
Her bileşenin (her dersin) optimizasyonu ara yüz açıklarını yarattı: dersler arasında eksik kavramsal köprüler. Sistemin çıktısı — eğitimli mühendisler ve bilim insanları — bundan muztarip oldu, her ne kadar her dersin çıktı metrikleri iyileşse de.
Kırılan Kısmı Düzeltme Dürtüsüne Direnç
Hamming'in gözlemi: sistem mühendisliği hakkında doğru sözcükleri söylemek kolaydır. Çok az insan bunu gerekli olduğu anda gerçekten yapabilir.
Bir sistem başarısız olduğunda doğal tepki: en bariz kırık bileşeni tanımla ve düzelt. Bu bileşen düşüncesidir. Sistem başarısız oldu, bileşenlerin, ara yüzlerin ve kısıtlamaların etkileşimini içeren bir nedenle — ama en görünür başarısızlık genellikle tek bir bileşende.
Sistem mühendisinin disiplini: görünür başarısızlığı düzeltmeden önce sorun: sistem neden bu başarısızlığı bu bileşende üretmiştir? Bileşen gerçekten düşük performans gösteriyor mu, yoksa sistemin geri kalanı tarafından tasarım zarfının dışında çalışmaya mı çağrılıyor? Bileşen semptomunu düzeltme, sistem başarısızlığını çözmek için bırakır.
Büyük kuruluşlardaki iletişim darboğazı bu deseni takip eder: bir bölüm kötü iletişim kurar (görünür başarısızlık). Bileşen düzeltmesi: daha iyi iletişimci işe al. Sistem düzeltmesi: bilgi akış mimarisini yeniden tasarla, böylece aynı koordinasyonu sağlamak için daha az iletişim gerekli olur.
Sistem Tanısı
Ayrım: bir bileşen düzeltme bir semptom tedavi eder. Bir sistem düzeltme neden tedavi eder. Neden genellikle sistemin yapısını içerir — hangi bileşenler var, hangi ara yüzler onları bağlıyor, hangi kısıtlamalar işletimlerini sınırlıyor.