Crash Boeing 737 Max melalui mata pengembang perangkat lunak

Saya mempersembahkan kepada Anda terjemahan artikel “Bagaimana Boeing 737 Max Disaster Terlihat sebagai Pengembang Perangkat Lunak” oleh Greg Travis. Ini akan menjadi tentang bagaimana keinginan Boeing untuk menghemat uang dan "mengambil jalan pintas" untuk keuntungan komersial, serta budaya "tidak kompeten dan tidak etisnya" dalam komunitas pembangunan menyebabkan kematian 346 orang. Saya tidak berbagi posisi penulis dalam segala hal (khususnya, saya percaya bahwa faktor manusia jauh lebih jahat daripada perangkat lunak), tetapi sulit untuk tidak setuju dengan argumen utama.

Di bawah ini banyak surat. Jika Anda membaca kemalasan, tetapi ingin berkenalan dengan topik tersebut, maka pada Habré ada versi pertama, yang lebih pendek dari artikel ini dalam terjemahan Vyacheslav Golovanov , dapat ditemukan di sini .

Pandangan yang diungkapkan dalam artikel ini adalah semata-mata milik penulis dan bukan posisi IEEE Spectrum atau IEEE ( sekitar Terjemahan. - dan penerjemah juga :) ).
Saya seorang pilot dengan pengalaman 30 tahun dan pengembang perangkat lunak dengan pengalaman 40 tahun. Saya menulis banyak tentang penerbangan dan pengembangan perangkat lunak. Waktunya telah tiba untuk menulis tentang kedua hal itu secara bersamaan.

Sekarang semua berita penuh dengan berita utama tentang kecelakaan pesawat model Boeing 737 Max baru (Inggris) , yang terjadi secara harfiah satu per satu dengan pesawat yang baru dirilis. Untuk industri yang keberadaannya sepenuhnya bergantung pada rasa kontrol penuh dan keamanan pelanggan, dua tabrakan ini menimbulkan bahaya eksistensial yang besar. Dan terlepas dari kenyataan bahwa selama dekade terakhir jumlah kematian dalam kecelakaan pesawat telah menurun, pencapaian ini sama sekali bukan alasan untuk kepercayaan diri yang berlebihan.

gambar
WestJet Boeing 737 MAX 8, acefitt , Creative Commons Attribution 2.0 Generic

Model Boeing 737 pertama kali muncul pada tahun 1967, ketika saya berusia 3 tahun. Itu adalah pesawat kecil dengan mesin kecil dan sistem kontrol yang relatif sederhana.

Maskapai (terutama Amerika Barat Daya) menyukai mereka karena kesederhanaan, keandalan, dan fleksibilitas. Selain itu, untuk mengemudikan mereka di kokpit alih-alih tiga atau empat orang pada waktu itu, hanya diperlukan dua anggota awak, yang memungkinkan maskapai penerbangan untuk mulai menabung secara signifikan. Seiring dengan perkembangan pasar transportasi udara dan munculnya teknologi baru, 737 tumbuh pesat dalam ukuran, dan kompleksitas elektronik dan mekanik meningkat. Tentu saja, tidak hanya 737 yang tumbuh, pesawat membutuhkan investasi besar baik dari industri pesawat maupun dari maskapai yang membelinya, oleh karena itu keduanya juga terus diperbesar.

Namun, sebagian besar kekuatan pasar dan teknologi ini bertindak atas dasar kepentingan ekonomi perusahaan, dan bukan demi keselamatan penumpang. Insinyur bekerja tanpa lelah untuk mengurangi apa yang disebut industri sebagai "biaya per penumpang-kilometer" —yaitu, biaya pengiriman penumpang dari titik A ke titik B.

Banyak kisah pengoptimalan ini berkaitan dengan mesin. Teorema Efisiensi (Efisiensi) mesin panas dari Carnot mengatakan bahwa semakin Anda membuat mesin semakin panas, semakin efisien jadinya. Prinsip ini juga berlaku untuk mesin gergaji, dan untuk mesin jet.

SD. Cara termudah dan tercepat untuk membuat mesin lebih efisien dalam hal konsumsi bahan bakar per unit daya adalah membuatnya lebih besar. Itu sebabnya mesin O-360 Lycoming di Cessna kecil saya memiliki piston seukuran piring besar. Karena itu, mesin diesel di kapal laut dibuat seukuran rumah tiga lantai. Dan untuk alasan yang persis sama, Boeing ingin menginstal mesin LEAP Internasional CFM yang besar di 737 yang baru.

Hanya ada satu masalah kecil: 737 asli dilengkapi dengan mesin sangat kecil dengan standar saat ini, yang membuatnya mudah untuk menempatkan mereka di bawah sayap. Namun, seiring dengan meningkatnya ukuran 737, mesinnya juga tumbuh, dan jarak antara mereka dengan tanah menjadi semakin kecil.

Untuk mengatasi masalah ini, banyak trik ditemukan (atau "retas," seperti yang disebut oleh pengembang perangkat lunak). Misalnya, hal yang paling mencolok dan jelas bagi publik adalah mengubah bentuk intake udara dari putaran ke oval untuk memberikan ruang lebih banyak di bawah mesin.

Dalam kasus 737 Max, situasinya menjadi kritis. Diameter bilah mesin yang dipasang pada 737 asli adalah 100 cm (40 inci), pada mesin baru untuk 737 Max diameter meningkat menjadi 176 cm Dengan perbedaan garis tengah lebih dari 30 cm, Anda tidak dapat lagi membuat asupan udara begitu oval sehingga mesin tidak mulai mengikis tanah.

Kemudian diputuskan untuk membangun mesin dari atas dan menggesernya maju dan naik relatif terhadap sayap. Hal ini, pada gilirannya, menyebabkan perpindahan garis aksial dari dorongan mesin. Sekarang, dengan peningkatan tenaga mesin, pesawat memiliki kecenderungan menuju pemasangan kabel, yaitu ke hidung.

Untuk referensi: sudut serang pesawat adalah sudut antara arah vektor kecepatan aliran udara yang masuk dan bidang sayap. Bayangkan Anda meletakkan tangan Anda keluar dari jendela mobil yang terbuka yang bergerak di sepanjang jalan raya. Jika Anda memegang telapak tangan Anda hampir sejajar dengan tanah, ini akan menjadi sudut serangan kecil; memutar telapak tangan Anda tentang bidang bumi, Anda akan meningkatkan sudut serangan. Ketika angle of attack menjadi terlalu besar (superkritis), warung aerodinamik terjadi sebagai akibat terganggunya aliran udara. Anda dapat memverifikasi ini sendiri dengan meletakkan tangan Anda keluar dari jendela mobil yang bergerak: perlahan-lahan putar tangan Anda, Anda akan merasakan peningkatan daya dorong yang mendorong tangan Anda ke atas hingga tangan Anda tiba-tiba jatuh ke bawah - ini adalah aliran sungai dengan kios berikutnya.

Dengan demikian, ternyata kecenderungan untuk mengkonversi dengan meningkatnya tenaga mesin dalam praktik berarti risiko pengembangan lebih lanjut dari kios pesawat jika pilot memeras gas (seperti kata anak saya suka). Perkembangan acara seperti itu menjadi sangat mungkin pada kecepatan penerbangan yang rendah.

Lebih buruk lagi, karena fakta bahwa nacelles mesin sangat maju dan sangat besar, mereka sendiri membuat lift, terutama pada sudut serangan yang besar. Artinya, gondola membuat situasi yang sudah buruk menjadi lebih buruk.

Saya menekankan: pada 737 Max, mesin nacelles sendiri pada sudut tinggi serangan bekerja seperti sayap dan membuat lift. Selain itu, pusat penerapan gaya ini bergeser jauh ke depan relatif terhadap pusat penerapan gaya angkat sayap, yang, pada gilirannya, mengarah pada fakta bahwa 737 Max cenderung meningkatkan sudut serangan lebih banyak lagi dengan peningkatan sudut serangan. Dan ini adalah contoh terburuk ketidakmampuan dalam aerodinamika.

Dalam dirinya sendiri, perubahan nada dengan perubahan kekuatan mesin adalah kejadian yang cukup umum dalam kontrol pesawat. Bahkan Cessna kecilku mengangkat hidungnya sedikit sementara mengoleskan gas Selama pelatihan, pilot diberitahu tentang kesulitan seperti itu dan diajarkan untuk mengatasinya. Namun, ada batas aman tertentu yang ditetapkan oleh regulator yang siap disiapkan oleh pilot.

Ini hal lain ketika pitch berubah dengan meningkatnya angle of attack. Sebuah pesawat terbang, yang sudah mendekati titik kedai aerodinamis, harus dalam keadaan apa pun tidak memiliki kecenderungan untuk lebih mengembangkan efek ini. Properti ini disebut "ketidakstabilan dinamis", dan satu-satunya kelas pesawat yang diizinkan - pejuang - dilengkapi dengan ketapel untuk pilot.

Setiap orang di komunitas penerbangan memimpikan sebuah pesawat terbang, yang sealami dan semudah mungkin untuk terbang. Misalnya, ketika mengganti tenaga engine, menurunkan flap, atau memperpanjang roda pendaratan, kondisi penerbangan tidak akan berubah secara nyata, gulungan tidak boleh terjadi, atau nada harus berubah - perilaku harus tetap dapat diprediksi.

Lambung pesawat (setrika itu sendiri) semula harus bekerja semampu mungkin, dan tidak membutuhkan “lonceng dan peluit” tambahan. Kanon penerbangan ini diletakkan selama penerbangan pertama Wright bersaudara ke Kitty Hawk.

Jelas, model Boeing 737 Max yang baru terlalu banyak meningkatkan daya tariknya, terutama pada sudut serangan yang sudah besar. Mereka melanggar hukum penerbangan tertua, dan mungkin kriteria sertifikasi FAA (Federal Aviation Administration) di Amerika Serikat. Tetapi alih-alih kembali ke papan gambar dan memperbaiki tubuh pesawat, Boeing memutuskan untuk mengandalkan "Sistem Augmentasi Karakteristik Manuver" ( MCAS) tertentu.

Boeing memecahkan masalah dengan besi menggunakan perangkat lunak.

Saya akan meninggalkan diskusi tentang kemunculan bahasa korporat ( sekitar Terjemahan: rupanya, penulis berarti bahwa nama "Sistem untuk meningkatkan kemampuan manuver" tidak berarti BAGAIMANA CARA itu benar-benar tidak ada yang tidak biasa untuk istilah penerbangan ) dalam penerbangan leksikon untuk artikel lain, tetapi mari kita perhatikan bahwa sistem ini dapat disebut secara berbeda, misalnya, "Cara murah untuk mencegah kios ketika pilot meninju," CWTPASWTPPI). Namun, mungkin layak untuk berhenti di MCAS.

Tentu saja, MCAS adalah alternatif yang jauh lebih murah daripada pemrosesan mendalam dari badan pesawat, mengingat kebutuhan untuk mengakomodasi mesin besar baru. Pemrosesan seperti itu mungkin memerlukan, misalnya, memperpanjang roda pendaratan depan (yang kemudian tidak bisa masuk ke dalam badan pesawat ketika ditarik ke dalam tubuh), melipat sayap ke atas, atau beberapa perubahan serupa lainnya. Itu akan sangat mahal.

Semua pengembangan dan pembuatan Max 737 berlangsung di bawah naungan mitos "ini adalah 737 tua yang sama baiknya." Ketahuilah bahwa ini bukan model lama, dan kemudian sertifikasi ulang akan memakan waktu bertahun-tahun dan membutuhkan jutaan dolar.

"Faktanya, pilot yang memiliki lisensi untuk menerbangkan Boeing 737 pada tahun 1967 dapat mengendalikan semua versi 737 berikutnya."
Dari ulasan versi artikel sebelumnya dari salah satu dari 737 pilot di salah satu maskapai terbesar.


Lebih buruk lagi, perubahan besar seperti itu akan membutuhkan tidak hanya sertifikasi ulang oleh FAA, tetapi juga pengembangan pesawat terbang layang yang benar-benar baru. Sekarang kita berbicara tentang uang yang sangat besar, baik untuk produsen pesawat terbang dan untuk maskapai penerbangan.

Dan semua karena argumen utama Boeing ketika menjual 737 Max adalah bahwa itu adalah 737 yang sama, dan setiap pilot yang terbang dengan model sebelumnya juga dapat mengendalikan Max - tanpa pelatihan ulang yang mahal, memperoleh sertifikat baru dan peringkat baru. Maskapai - dan Southwest adalah contoh utama - cenderung lebih memilih armada satu jenis pesawat "standar". Mereka lebih memilih untuk memiliki model pesawat tunggal yang dapat dikontrol oleh pilot mereka, sejak saat itu baik pilot dan pesawat terbang menjadi dipertukarkan, memaksimalkan fleksibilitas dan meminimalkan biaya.

Dengan satu atau lain cara, semuanya bergantung pada uang, dan MCAS telah menjadi peluang lain bagi Boeing dan pelanggannya untuk membuat uang mengalir ke arah yang benar. Kebutuhan untuk menegaskan bahwa karakteristik penerbangan dari 737 Max tidak berbeda dari 737 model sebelumnya adalah kunci untuk pertukaran dari armada 737 Max. Mungkin itulah alasan mengapa dokumentasi tentang keberadaan MCAS disembunyikan.

Jika perubahan ini tiba-tiba menjadi terlalu mencolok, misalnya, itu tercermin dalam manual untuk pesawat atau akan mendapat perhatian khusus ketika pilot menjalani pelatihan, maka seseorang - mungkin seseorang dari pilot - akan bangkit dan berkata: Hei, sesuatu yang tidak terlihat seperti 737. " Dan uang akan mengalir ke arah yang salah.

Seperti yang sudah saya jelaskan, Anda dapat melakukan percobaan dengan sudut serangan sendiri dengan hanya meletakkan tangan Anda keluar jendela mobil yang bergerak dan memutar telapak tangan Anda. Jadi, mesin yang kompleks seperti pesawat terbang juga memiliki mekanisme yang setara dengan tangan yang terpapar dari jendela - sudut sensor serangan.

Anda mungkin memperhatikannya saat menaiki pesawat. Sebagai aturan, ada dua dari mereka, satu di setiap sisi pesawat, biasanya tepat di bawah jendela kokpit. Jangan bingung dengan tabung pitot (baca tentangnya di bawah). Sudut sensor serangan terlihat seperti baling-baling cuaca, dan tabung pitot terlihat seperti ... hmm, tabung. Sudut sensor serangan terlihat seperti baling-baling cuaca justru karena itu baling-baling cuaca. Sayap mekaniknya bergerak sebagai respons terhadap perubahan sudut serangan.

Tabung pitot mengukur kekuatan yang aliran udara "tekan" pada pesawat, dan sudut sensor serangan menentukan dari mana aliran ini berasal. Karena tabung Pitot, pada kenyataannya, mengukur tekanan, mereka digunakan untuk menentukan kecepatan pesawat relatif terhadap udara. Sudut sensor serangan menentukan arah pesawat relatif terhadap aliran.

Ada dua set sensor sudut dan dua set tabung pitot, satu di setiap sisi badan pesawat. Biasanya, instrumen yang dipasang di sisi pilot utama mengambil bacaan mereka dari sensor di sisi lambung yang sama; sama halnya, instrumen pilot kedua menunjukkan nilai-nilai dari sensor sisi kapal. Pendekatan ini menciptakan redundansi alami pada peralatan, yang memungkinkan validasi silang yang cepat dan mudah oleh pilot mana pun. Jika co-pilot menganggap indikator kecepatan udara-nya aneh, ia dapat mengeceknya terhadap perangkat serupa di sisi pilot utama. Jika kesaksiannya menyimpang, maka para pilot mengetahui perangkat mana yang menunjukkan kebenaran, dan mana yang berbohong.

Sekali waktu ada lelucon bahwa ketika di masa depan pesawat bisa terbang sendiri, seorang pilot dan seekor anjing masih harus duduk di kokpit. Diperlukan seorang pilot agar penumpang lebih tenang dari kesadaran bahwa ada seseorang di depan. Anjing harus menggigit pilot jika dia mencoba menyentuh sesuatu.

Pada 737, Boeing tidak hanya membuat perangkat pesawat cadangan dan sensor, tetapi juga komputer on-board cadangan, memasang satu komputer masing-masing dari pilot utama dan kedua. Komputer penerbangan melakukan banyak hal berguna yang berbeda, tetapi tugas utamanya adalah untuk autopilot pesawat ketika diminta melakukannya, dan memverifikasi bahwa pilot tidak membuat kesalahan dalam mode manual pilot. Paragraf terakhir disebut "perlindungan dari berbagai mode penerbangan".

Tapi mari kita sebut sekop sekop - ini adalah anjing yang sangat "menggigit" dari lelucon.

Apa yang dilakukan MCAS? Sistem ini harus menurunkan hidung pesawat jika menganggap bahwa kapal berada di luar batas serangan yang dapat diterima untuk menghindari kios aerodinamis. Boeing memasang MCAS di 737 Max karena fakta bahwa mesin yang lebih besar dan lokasi barunya membuat kemacetan lebih besar daripada generasi model sebelumnya.

Pada saat itu, ketika MCAS memperhatikan bahwa sudut serangan menjadi terlalu besar, ia memerintahkan pemangkas pesawat (sistem yang membuat pesawat bergerak naik atau turun) untuk mengarahkan haluan kapal ke bawah. Dia juga melakukan sesuatu yang lain: secara tidak langsung, menggunakan apa yang Boeing sebut sebagai Elevator Feel Computer (elevator sensing computer, EFC), dia mendorong roda kontrol pilot (helikopter mendorong atau menarik pilot untuk menaikkan atau menurunkan hidung mereka). pesawat) turun.

Pada 737 Max, seperti kebanyakan pesawat modern lainnya dan bahkan mobil, komputer memonitor semua proses, atau bahkan secara langsung mengendalikannya. Dalam banyak kasus, tidak ada lagi hubungan mekanis langsung (mis., Kabel, saluran hidrolik dan tabung) antara instrumen kontrol pilot dan bulu aerodinamis yang nyata, lunas dan perangkat lain yang membuat pesawat terbang. Dan jika ada koneksi mekanis seperti itu, maka komputer memutuskan apa yang diizinkan bagi pilot untuk dilakukan dengan mereka (dan sekali lagi anjing yang menggigit yang sama).

Namun, penting bahwa pilot menerima respons fisik tentang semua yang terjadi. Di masa lalu yang indah, ketika kabel menghubungkan elemen kontrol pilot dengan bulu, mereka harus menarik helm dengan susah payah jika pesawat jatuh. Mereka harus memaksa mendorongnya jika pesawat itu mendapatkan ketinggian. Di bawah pengawasan komputer, sensasi alami kontrol menghilang. 737 Max tidak lagi memiliki "perasaan alami."

Ya, pada 737 ada sistem hidrolik berlebihan yang menghubungkan kontrol yang berinteraksi dengan pilot dan langsung bekerja ailerons dan bagian lain dari pesawat. Namun, sistem hidrolik ini sangat kuat sehingga tidak mengirimkan umpan balik langsung dari gaya aerodinamis yang bekerja pada aileron. Pilot hanya akan merasakan apa yang komputer rasakan. Dan terkadang sensasinya tidak begitu menyenangkan.

- , MCAS , - , . , , , , - - , .

, , , 737 Max. , MCAS , , ?

, MCAS , , , . , , ().

, MCAS, : «, 737», .

— . , , , , . . .

, , . , , , , , . «» , , . — .

737 Max — , . , .

, , , , . , , « ». . -. . — .

, — , , — .

. , , , , . , .

, , . , . , MCAS . , .

, MCAS . .

— HAL, .
— , , , .


MCAS , , , , , “” .

FAA . , , .

, , , FAA , . . FAA , , .

FAA : « , ?” : „ .” FAA: “ , .»

« » (“Designated Engineering Representative,” DER). , , FAA , .

, , , . , . DER , . , - , “ ".

, MCAS 737 Max , , . , , , .

: , MCAS, , 0.8 , , , .


, . , MCAS, , , , , . , ?

, — 737 Max. . 737 . . , , ( ), , . №3.

. , «» DER, .

. , , .

, 737 Max, . Cessna 172 1979 , . 737 (1955 1967).

, ( Garmin G5s) (CAN, Controller Area Network ), . CAN Drive-by-Wire ( ), ARINC , 737 Max.

. , 172, MCAS 737 Max. , 737 Max, , , , , , , Lion Air.

, « ” ( ), „“ . , Cessna, , , , . , „ “.

, $20,000 737 , . ?

, (“Supplemental Type Certificate,” STC). , FAA , Cessna 172 1979 Garmin , - , Cessna 172. .

, () ( ), , , . , .

, , , , .

, , . , , . , 172, , 172.

, , Cessna, , 737 Max.

: , , 737 Max , . , MCAS , , , . MCAS …


Perbedaan lain antara autopilot saya dan sistem dengan MCAS di 737 Max adalah bahwa perangkat yang terhubung ke bus CAN terus berkomunikasi dan melakukan pemeriksaan silang, yang, tampaknya, MCAS tidak. Sebagai contoh, sebuah autopilot secara konstan menyurvei kedua komputer on-board G5 untuk menentukan lokasi. Jika data menyimpang, sistem memberitahukan pilot dan dimatikan, beralih ke mode kontrol manual. Dia tidak mengarahkan pesawat ke tanah, jika dia tiba-tiba mulai percaya bahwa dia akan mulai jatuh.

Dan mungkin perbedaan terbesar adalah kekuatan yang harus dikerahkan pilot untuk menghancurkan perintah autopilot di pesawat saya dan pada 737 Max. Di 172 saya masih ada kabel yang langsung menghubungkan kontrol ke permukaan aerodinamis. Komputer dipaksa untuk menekan tuas yang sama seperti saya, dan itu jauh lebih lemah dari saya. Jika komputer salah memutuskan bahwa pesawat mulai jatuh, saya dapat dengan mudah mengatasi hambatannya.

Di Cessna saya, manusia masih selalu muncul sebagai pemenang dari pertempuran dengan autopilot. Tepatnya filosofi yang sama selalu dianut oleh Boeing dalam pengembangan pesawatnya, terlebih lagi, itu digunakan terhadap saingannya yang bersumpah Airbus, yang bertindak secara langsung berlawanan. Namun, dengan dirilisnya 737 Max, Boeing, tampaknya, tanpa memberi tahu siapa pun, memutuskan untuk mengubah strategi hubungan antara manusia dan mesin dan dengan diam-diam mengubah instruksi pengoperasian.

Semua kisah dengan 737 Max ini seharusnya tidak hanya mengajarkan kita bahwa komplikasi mengarah pada risiko tambahan, dan bahwa teknologi memiliki batasnya sendiri, tetapi juga apa yang harus kita prioritaskan. Hari ini, yang utama adalah uang, bukan keamanan. Mereka memikirkannya hanya sejauh diperlukan untuk melanjutkan pergerakan uang ke arah yang benar. Masalahnya menjadi semakin akut setiap hari, karena perangkat semakin tergantung pada apa yang terlalu mudah untuk diubah - perangkat lunak.

Kerusakan pada perangkat dan perangkat keras, apakah mesin yang letaknya buruk atau o-ring yang berhamburan dalam cuaca dingin, jelas sulit untuk diperbaiki. Ketika saya mengatakan "sulit," maksud saya "mahal." Cacat perangkat lunak, di sisi lain, dapat diperbaiki dengan cepat dan murah. Yang diperlukan hanyalah memposting pembaruan dan melepaskan tambalan. Selain itu, kami telah memastikan bahwa pembeli sekarang menganggap semua ini sebagai norma - baik pembaruan untuk sistem operasi di komputer, dan tambalan secara otomatis diinstal pada Tesla saya saat saya tidur.

Pada 1990-an, saya pernah menulis sebuah artikel yang membandingkan kompleksitas relatif prosesor Intel Pentium, yang dinyatakan dalam jumlah transistor per chip, dengan kompleksitas sistem operasi Microsoft Windows yang baru, dinyatakan dalam baris kode sumber. Ternyata mereka relatif sama kompleks.

Sekitar waktu yang sama, ternyata prosesor Pentium versi sebelumnya mengalami bug yang disebut kesalahan FDIV . Hanya sejumlah kecil pengguna Pentium (sekitar Terjemahan: ilmuwan dan ahli matematika) yang bisa mengalami masalah dengan itu. Cacat serupa ditemukan di Windows, yang juga hanya mempengaruhi sebagian kecil pengguna OS.

Namun, implikasi untuk Intel dan Microsoft pada dasarnya berbeda. Tambalan perangkat lunak kecil secara sistematis dirilis untuk Windows, sementara Intel harus menarik semua prosesor yang rusak pada tahun 1994. Ini menelan biaya $ 475 juta - lebih dari 800 juta dengan harga saat ini.

Menurut pendapat saya, kesederhanaan relatif dan kurangnya biaya material yang signifikan ketika memperbarui perangkat lunak telah menyebabkan pengembangan budaya kemalasan dalam komunitas pengembang. Selain itu, karena fakta bahwa perangkat lunak semakin banyak mengendalikan "perangkat keras", budaya kemalasan ini mulai merambah ke dalam perkembangan teknologi - misalnya, dalam pembangunan pesawat terbang. Semakin sedikit, kami memperhatikan pengembangan desain peralatan yang benar dan sederhana, karena sangat mudah untuk memperbaiki cacat dengan bantuan perangkat lunak.

Setiap kali pembaruan baru keluar untuk Tesla saya, komputer penerbangan Garmin di Cessna saya, termostat Nest, atau TV di rumah saya, saya sekali lagi menyadari bahwa tidak satu pun dari hal-hal ini yang telah dirilis dari pabrik benar-benar siap. Karena pencipta mereka telah menyadari bahwa ini tidak perlu. Pekerjaan dapat diselesaikan beberapa saat kemudian dengan merilis pembaruan berikutnya.
»Saya seorang insinyur jaringan, mantan programmer yang menulis perangkat lunak untuk avionik pesawat. Itu selalu penasaran bahwa kami harus menghindari keras untuk menempatkan motherboard baru di komputer bersertifikat, dan perangkat lunak tidak memerlukan sertifikasi apa pun (kecuali untuk pembatasan umum seperti "tidak dapat bekerja di bawah Windows" atau "harus ditulis dalam C ++"). Benar, sekitar 10 tahun yang lalu, saya harap semuanya berbeda sekarang. "
- Secara anonim, dari korespondensi pribadi
Boeing saat ini sedang menginstal pembaruan baru untuk komputer on-board dan MCAS 737 Max. Saya tidak tahu pasti, tetapi saya percaya bahwa pembaruan ini terutama akan fokus pada dua hal:

Yang pertama adalah mengajarkan perangkat lunak untuk memeriksa silang instrumentasi, seperti yang dilakukan pilot. Yaitu, jika satu sensor dari sudut serangan mulai melaporkan bahwa pesawat akan mulai jatuh, dan sensor lainnya tidak, yaitu, harapannya adalah bahwa sistem tidak akan lagi langsung mengarahkan pesawat dengan hidungnya ke tanah, tetapi masih terlebih dahulu memberi tahu pilot tentang konflik dalam pembacaan sensor.

Yang kedua adalah meninggalkan strategi "tembak dulu, Anda akan mengajukan pertanyaan nanti", yaitu, mulailah melihat sumber yang berbeda, bukan satu.

Bagi saya, saya tidak mengerti bagaimana ternyata kedua prinsip dasar industri penerbangan ini, fondasi pemikiran yang telah melayani industri dengan setia sampai sekarang, dapat dilupakan selama pengembangan MCAS. Saya tidak tahu dan tidak mengerti proses mana dalam pekerjaan DER yang telah sangat rusak sehingga membuat cacat mendasar dalam proyek tersebut.

Saya menduga bahwa alasannya terletak di tempat yang sama di mana alasan keinginan Boeing untuk memasok mesin yang lebih besar dan menghindari biaya besar yang terkait dengan ini adalah keinginan untuk makan keju gratis , yang, seperti yang diketahui semua orang, hanya dalam perangkap tikus.

Penekanan pada kebutuhan untuk mengembangkan sistem sesederhana mungkin ditunjukkan dengan baik oleh Charles Parrow, seorang sosiolog di Universitas Yale, dan penulis Kecelakaan Normal 1984 : Hidup dengan Teknologi Berisiko Tinggi . Seluruh esensi buku ini terkandung dalam judul. Parrow berpendapat bahwa kegagalan sistem adalah hasil normal dari operasi sistem yang kompleks dengan komponen yang terkait erat, ketika perilaku satu komponen secara langsung mempengaruhi perilaku yang lain. Terlepas dari kenyataan bahwa secara individual kesalahan semacam itu tampaknya disebabkan oleh kegagalan teknis atau proses yang rusak, pada kenyataannya kesalahan tersebut harus dianggap sebagai fitur integral dari sistem itu sendiri. Ini adalah kecelakaan yang "diharapkan".

Masalah ini terasa lebih akut daripada di sistem yang dirancang untuk meningkatkan keamanan. Setiap perubahan baru dibuat, setiap komplikasi menjadi kurang dan kurang efektif, dan pada akhirnya mengarah pada hasil yang sepenuhnya negatif. Memaksakan satu perbaikan di atas yang lain dalam upaya untuk meningkatkan keamanan pada akhirnya mengarah pada pengurangannya.

Ini adalah apa yang dikatakan prinsip rekayasa desain lama kepada kita - “Semakin sederhana semakin baik” ( “Tetap sederhana, bodoh” , KISS), dan versi penerbangannya: “Sederhanakan, tambahkan tambah terang” (“Sederhanakan, tambahkan tambah terang” )

Salah satu prinsip utama FAA dalam sertifikasi pesawat selama era Eisenhower adalah perjanjian kesederhanaan yang khas: pesawat tidak boleh menunjukkan perubahan signifikan di lapangan dengan perubahan tenaga mesin. Persyaratan ini muncul selama adanya hubungan langsung antara kontrol pilot di kokpit dan bulu pesawat. Persyaratan ini - ketika ditulis - dengan tepat memberlakukan persyaratan kesederhanaan pada desain badan pesawat itu sendiri. Sekarang, antara manusia dan mesin, lapisan perangkat lunak telah muncul, dan tidak ada yang tahu pasti apa yang sebenarnya terjadi di sana. Banyak hal menjadi terlalu rumit untuk dipahami.

Saya tidak bisa keluar dari kepalaku paralel antara bencana 737 Max dan pesawat ulang-alik Challenger . Kecelakaan Challenger terjadi karena orang mengikuti instruksi, dan bukan sebaliknya - ilustrasi lain dari bencana "normal". Peraturan mengatakan bahwa sebelum meluncurkan pesawat ulang-alik, sebuah konferensi diperlukan untuk memastikan kesiapan penuh untuk penerbangan. Tidak ada yang mengatakan bahwa ketika membuat keputusan, seseorang tidak boleh terlalu banyak membebani kemungkinan konsekuensi politik yang dapat timbul karena penundaan peluncuran. Semua data input ditimbang dengan cermat menurut proses yang ditetapkan, sebagian besar setuju untuk diluncurkan. Dan tujuh orang tewas.

Dalam kasus 737 Max, semuanya juga dilakukan sesuai dengan semua aturan. Aturan mengatakan bahwa pitch pesawat tidak boleh berubah terlalu banyak ketika tenaga mesin berubah, dan insinyur yang ditunjuk (DER) memiliki hak untuk menandatangani perubahan yang bertujuan untuk memecahkan masalah ini. Tidak ada dalam aturan bahwa DER tidak boleh dipandu oleh pertimbangan bisnis saat membuat keputusan. Dan sekarang 346 orang tewas.

Sangat mungkin bahwa MCAS, yang dirancang untuk meningkatkan keselamatan penerbangan, telah membunuh lebih banyak orang daripada yang bisa diselamatkan. Tidak perlu mencoba memperbaikinya dengan peningkatan lebih lanjut dalam kompleksitas, perangkat lunak tambahan. Itu hanya perlu dihapus.

Tentang penulis


Greg Travis - penulis, manajer pengembangan perangkat lunak, pilot, pemilik pesawat. Pada 1977, pada usia 13, ia menciptakan Note, salah satu platform media sosial pertama; waktu terbangnya lebih dari 2000 jam, itu mengendalikan segala sesuatu mulai dari pesawat layang hingga Boeing 757 (dalam simulator dengan simulasi gerakan penuh).

Source: https://habr.com/ru/post/id449564/


All Articles