ภาษาแอสเซมบลีที่ใช้ในระบบอากาศยาน


9

วันนี้ผู้บรรยายของฉันพูดถึงเหตุผลที่ระบบอากาศยานถูกตั้งโปรแกรมเป็นภาษาแอสเซมบลีเนื่องจากโปรแกรมที่เขียนมีข้อผิดพลาดน้อยกว่า คำสั่งนี้เป็นจริงหรือไม่? เพราะเมื่อเขาถามความคิดเห็นของเราฉันพูดว่าการชุมนุมสามารถสร้างโปรแกรมได้เร็วขึ้นดังนั้นมันจึงเป็นภาษาที่ดีสำหรับโปรแกรมระบบอากาศยานแบบเรียลไทม์ ฉันค้นหาใน google แต่ดูเหมือนจะไม่พบบทความที่ชัดเจนถึงคำชี้แจงของอาจารย์


24
ไม่ว่าคุณจะเข้าใจผิดอาจารย์ของคุณหรืออาจารย์ของคุณเป็นคนงี่เง่า
พอลอาร์

3
คุณไม่ต้องการเขียนซอฟต์แวร์ควบคุมอุปกรณ์สำคัญแบบเรียลไทม์ในชุดประกอบ มีภาษาที่ดีกว่ามากสำหรับการพัฒนาซอฟต์แวร์ตามเวลาจริงและการพัฒนาซอฟต์แวร์ที่สำคัญ
CVn

5
แค่สงสัยเกี่ยวกับอายุอาจารย์ของคุณ อย่างไรก็ตามเขาอาจจะพยายามชี้ให้เห็นเท่านั้น (เห็นได้ชัดว่าล้มเหลว) ว่าภาษาสมัยใหม่จำนวนมากเช่นจาวาไม่ได้อยู่ในขอบเขต (จาวาได้สะกดคำนี้ในใบขับขี่ btw) สำหรับภารกิจที่เกี่ยวข้องกับอากาศยาน แอ็พพลิเคชันที่สำคัญ
ZJR

1
@ZJR: ที่จริงแล้ว AFAIK ผู้ผลิต UAV เยอรมันใช้ Java สำหรับระบบควบคุมการบิน พวกเขาอาจซื้อใบอนุญาตที่แตกต่างกัน?
Jörg W Mittag

1
@ JörgWMittag: UAV อาจฆ่าคนด้วยวิธีอื่น แต่ 'U' หมายถึงความล้มเหลวในการควบคุมการบินหมายความว่ามันจะไม่เป็นอันตรายต่อชีวิตมนุษย์ทันที ใบอนุญาต Java บอกว่ามันไม่เหมาะสำหรับระบบที่มีความสำคัญต่อภารกิจ แต่ก็ไม่ได้ป้องกันไม่ให้ใครทำการเลือก
DaveE

คำตอบ:


29

คำพูดของอาจารย์ของคุณเป็นเท็จพิสูจน์ได้ ร่วม Strike Fighterรหัสควบคุม 's ถูกเขียนใน C ++ 777 จากโบอิ้งใช้ + 99% ADA JPL ใช้Cเป็นส่วนใหญ่ในการขับเคลื่อนยานอวกาศ

ฉันแน่ใจว่ามีตัวอย่างเพิ่มเติม แต่ฉันสงสัยว่าหลายคนเป็นเจ้าของหรือจัดประเภท

นี่คือบทความที่จะกล่าวถึงรายละเอียดบางอย่างเกี่ยวกับเรื่องของการทดสอบซอฟต์แวร์ avionics ในระดับทั่วไป


โครงการนาซ่าบางโครงการใช้ภาษา Lisp ในอดีต ผู้ผลิต UAV ชาวเยอรมันใช้จาวาด้วยซ้ำ
Jörg W Mittag

เครื่องบินทิ้งระเบิด B2 ถูกเขียนใหม่ใน C. เมื่อเร็ว ๆ นี้ที่มา: tech.slashdot.org/story/08/07/14/1934228/…
user16764

ย้อนกลับไปในยุคมืด (ต้นทศวรรษ 1980) F-16A / B ใช้ภาษาแอสเซมบลีสำหรับชุดการจัดการร้านค้าและ JOVIAL J3B สำหรับคอมพิวเตอร์ Firecontrol F-16C / D ใช้ JOVIAL J73 สำหรับทุกอย่างในช่วงสองสามช่วงตึกแรกและฉันเชื่อว่าพวกเขาเปลี่ยนไปใช้ Ada ในปีต่อ ๆ มา ฉันไม่รู้ว่าพวกเขาใช้อะไรวันนี้
John R. Strohm

5

ฉันทำงานกับ OBOGS ซึ่งเป็นส่วนประกอบที่เสียบเข้ากับเครื่องบินหลายลำ โดยทั่วไปเราใช้ C สำหรับอุปกรณ์ที่บินได้ แต่หากมองผ่านไฟล์ประวัติจะมีโครงการประกอบสองสามโครงการอยู่ในนั้น

มันเป็นแฟชั่นตรงไปตรงมา ภาษาเพิ่มขึ้นและลดลง เหตุผลที่ผู้คนใช้อย่างใดอย่างหนึ่งแตกต่างกันไปทั่วสถานที่และส่วนใหญ่เป็นส่วนตัว ฉันพบว่ามีเหตุผลบางอย่างที่บางคนแย้งว่าการชุมนุมเป็นทางเลือกที่เหมาะสมสำหรับบางโครงการโดยสิ้นเชิงเพราะมันจะมีข้อผิดพลาดน้อยกว่าในภาษาอื่น ๆ และเขาอาจจะพูดถูก แต่นั่นเป็นเพราะผู้ชายคนนั้นไม่รู้วิธีเขียนโค้ดใน C ว่าคุ้มค่า ภาษาที่ดีที่สุดสำหรับงานนั้นคือภาษาที่คุณรู้จัก (และภาษาที่ดีที่สุดสำหรับการเติบโตส่วนบุคคลของคุณคือภาษาที่คุณไม่ต้องการ)

คุณสามารถบอกได้ว่าการชุมนุมนั้นใกล้กับฮาร์ดแวร์มากขึ้นใจลอยน้อยกว่าและตรงกว่าพร้อมคำแนะนำเพิ่มเติมในสิ่งเดียวกันในภาษาอื่น ๆ คุณสามารถพูดได้ว่ามันเป็นไปได้ในขอบเขตของความเป็นไปได้ที่แอสเซมบลีสามารถเขียนเพื่อตัดค่าใช้จ่ายและสูบบุหรี่อย่างรวดเร็ว ถ้าคุณรู้ว่าคุณกำลังทำอะไร แต่สำหรับข้อผิดพลาดได้ง่ายความเร็วในการพัฒนาอ่านง่ายและความสามารถในการรักษาโรคมะเร็ง? ทั้งหมดนั้นขึ้นอยู่กับความสามารถของโปรแกรมเมอร์และสิ่งที่พวกเขาได้ทำงานมาตลอด 20 ปีที่ผ่านมา การวัดว่าโครงการใดที่ภาษามีจำนวนข้อบกพร่องจำนวน X ขึ้นอยู่กับปัจจัยทางสังคมวิทยาทำให้ส่วนใหญ่เป็นตัวชี้วัดที่ไร้ค่า ไม่มันเป็นแค่แฟชั่นทั้งหมด

มันเป็นการดีที่จะรู้ว่าโค้ดของคุณเป็นยังไงบ้างดังนั้นฉันจะบอกว่ามันสำคัญที่จะต้องเรียนรู้การประกอบ ถ้าเพียงเล็กน้อย แต่ฉันจะไม่เขียน avionics ใด ๆ ในนั้น


1
สุดท้ายแล้วการเขียนแอสเซมบลีหมายถึงรหัสเครื่องโดยรวมน้อยลงถ้าคุณรู้ว่าคุณกำลังทำอะไรอยู่และคุณก็รู้ว่ารหัสเครื่องที่ได้จะเป็นอย่างไร คุณไม่จำเป็นต้องเชื่อถือคอมไพเลอร์เพื่อทำให้ถูกต้องสำหรับคุณ
Hawken
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.