Uçak Sisteminde Kullanılan Montaj Dili


9

Bugün öğretim üyem, uçak sisteminin montaj dilinde neden programlandığının yazılı programın daha az hataya sahip olmasının nedenini belirtti. Bu ifade doğru mu? Çünkü görüşümüzü sorduğunda, montajın daha hızlı bir program oluşturabileceğini söyledim, bu yüzden gerçek zamanlı yönlendirilmiş uçak sistemi programı için iyi bir dil. Google'da arama yapıyorum ancak öğretim elemanımın ifadesini açıklayan bir makale bulamıyorum.


24
Ya okutmanınızı yanlış anladınız ya da okutmanınız bir aptal.
Paul R

3
Sen do not montaj gerçek zamanlı kritik ekipman kontrolü yazılımı yazmak istiyorum. Hem gerçek zamanlı yazılım geliştirme hem de kritik yazılım geliştirme için daha iyi diller mevcuttur.
CVn

5
Sadece okutmanınızın yaşını merak ediyorum. Her neyse, sadece java gibi bir dizi modern dilin sınır dışı olduğunu (java, beraberindeki lisansta, btw) uçakla ilgili görev için belirtmişti (görünüşte başarısız oluyor) -kritik uygulamalar.
ZJR

1
@ZJR: Aslında, Alman İHA üreticisi AFAIK uçuş kontrol sistemi için Java kullanıyor. Belki farklı bir lisans aldılar?
Jörg W Mittag

1
@ JörgWMittag: Bir İHA, insanları başka yöntemlerle öldürebilir, ancak 'U', uçuş kontrolünün başarısız olması, insan hayatını hemen tehlikeye atmadığı anlamına gelir. Java lisansı, kritik görev sistemleri için uygun olmadığını , ancak kimsenin bu seçimi yapmasını engellemediğini söylüyor.
DaveE

Yanıtlar:


29

Öğretim elemanınızın ifadesi muhtemelen yanlıştır. Müşterek Saldırı avcı 'in kontrol kodu C ++ yazılmıştır. Boeing'in 777'si% 99 + ADA kullanıyor . JPL, uzay gemilerini sürmek için çoğunlukla C kullanır .

Daha fazla örnek olduğundan eminim ama birçoğunun tescilli veya sınıflandırılmış olduğundan şüpheleniyorum.

İşte aviyonik yazılımın daha genel bir düzeyde test edilmesi konusunda bazı ayrıntılara giren bir makale .


Bazı NASA projeleri de geçmişte Lisp lehçesi kullanıyordu. Bir Alman İHA üreticisi Java kullanıyor.
Jörg W Mittag

B2 bombardıman uçakları kısa süre önce C'de yeniden yazıldı. Kaynak: tech.slashdot.org/story/08/07/14/1934228/…
user16764

Karanlık Çağlarda (1980'lerin başında), F-16A / B, Mağaza Yönetim Seti için montaj dilini ve Firecontrol Bilgisayarı için JOVIAL J3B'yi kullandı. F-16C / D, JOVIAL J73'ü ilk birkaç blok için her şey için kullandı ve inanıyorum ki sonraki yıllarda Ada'ya geçtiler. Bugün ne kullandıklarını bilmiyorum.
John R. Strohm

5

Çeşitli uçaklara takılan bir bileşen olan OBOGS üzerinde çalışıyorum. Uçan cihazlar için genellikle C'yi kullanırız, ancak tarihsel dosyalara baktığımızda orada birkaç montaj projesi var.

Dürüst olmak gerekirse moda. Diller yükselir ve düşer. İnsanların birini ya da diğerini kullanma nedenleri her yerde değişiklik gösterir ve çoğunlukla özneldir. Bir noktada birisinin montajın tamamen bir yerde bir proje için doğru seçim olduğunu iddia etmesinin tamamen akla yatkın olduğunu düşünüyorum çünkü diğer dillerden daha az hataya sahip olacaktı. Muhtemelen haklıydı, ama bunun nedeni, adamın C'de nasıl kodlanacağını bilmiyor olmasıydı. İş için açık ara en iyi dil bildiğiniz dildir. (Ve kişisel gelişiminiz için en iyi dil, bilmediğiniz bir dildir.)

Nesnel olarak, montajın donanıma daha yakın olduğunu, daha az soyutlanmış, daha doğrudan olduğunu ve diğer dillerde aynı şey için daha fazla talimat olduğunu söyleyebilirsiniz. Hatta montajın tepegözü kesmek ve hızlı sigara içmek için yazılabileceği ihtimalini bile söyleyebilirsiniz. Ne yaptığını biliyorsan. Ancak hataya yatkınlık, gelişme hızı, okunabilirlik ve kanseri tedavi etme kabiliyetine gelince? Bütün bunlar programcının yeteneğine ve son 20 yıldır ne üzerinde çalıştıklarına bağlı. Hangi dilde X hata miktarının olduğu projelerin ölçümleri sosyolojik faktörlere tabidir, bu da onları büyük ölçüde değersiz metrikler haline getirir. Hayır, hepsi çok moda.

Kodunuzun ne ile kaynaştığını bilmek güzel, bu yüzden montajı öğrenmenin önemli olduğunu söyleyeceğim. Sadece biraz. Ama içine herhangi bir aviyonik yazmam.


1
Sonunda, montajı yazmak, ne yaptığınızı biliyorsanız daha az makine kodu anlamına gelir ve sonuçta ortaya çıkan makine kodunun nasıl görüneceğini tam olarak bilirsiniz; sizin için doğru olması için bir derleyiciye güvenmeniz gerekmez.
Hawken
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.