Quy trình phát triển mã cho nhiệm vụ Voyager?


29

Voyager 1 đạt đến không gian giữa các vì sao vào tháng 8 năm 2012 và là vật thể nhân tạo ở xa nhất tồn tại. Ra mắt ngay sau khi tàu vũ trụ sinh đôi của nó, Voyager 2, vào năm 1977, Voyager 1 khám phá hệ thống Jovian và Saturnian khám phá các mặt trăng mới, núi lửa đang hoạt động và vô số dữ liệu về hệ mặt trời bên ngoài.

Voyager 1 và 2 được thiết kế để tận dụng sự liên kết hành tinh hiếm hoi chỉ xảy ra một lần trong 176 năm và vẫn là tàu vũ trụ được di chuyển tốt nhất trong lịch sử. Cả hai tàu vũ trụ đều mang theo một viên nang thời gian gọi là Golden Record, một đĩa đồng mạ vàng 12 inch chứa âm thanh và hình ảnh được chọn để mô tả câu chuyện về thế giới của chúng ta với người ngoài hành tinh.

Tôi đoán rằng phần lớn những người đang xây dựng phần mềm cho các nhiệm vụ này hiện đã nghỉ hưu, nhưng trong 35 năm qua lập trình, các ngôn ngữ lập trình đã phát triển cho đến nay.

Vì vậy, nó đã ra mắt vào năm 1977. Sau 35 năm, Voyager đạt đến không gian giữa các vì sao. Có bao nhiêu dòng mã và nó được viết bằng ngôn ngữ nào? Quá trình phát triển đằng sau nhiệm vụ này là gì (vẫn còn hoạt động)?.

Vì vậy, kế hoạch lớn hơn với mã trong nhiệm vụ này là gì và ngôn ngữ nào là cơ sở mã được viết?



10
May mắn thay, ngày nay khá dễ dàng để tìm thấy những thứ như thế này trên Internet. Đọc popularmechanics.com/space/a17991/ cường .
Robert Harvey

3
trong 35 năm qua lập trình, các ngôn ngữ lập trình đã phát triển cho đến nay Có, nhưng chúng chưa có ngôn ngữ được sử dụng cho Voyager và ilk của nó :-)
Dấu hiệu suất cao

Gần cuối liên kết Cơ học phổ biến, nó nói, "... với đủ cơ sở trong các ngôn ngữ lắp ráp để giữ cho tàu vũ trụ hoạt động."
dbasnett

Rất có khả năng ngôn ngữ lắp ráp dựa trên khoảng thời gian, và cũng có khả năng đó là chỗ ngồi của quần bạn nhiều hơn, bắn từ hông, so với các quy trình khá đau đớn và tốn kém được sử dụng ngày nay.
old_timer

Câu trả lời:


19

(Chỉnh sửa: 12/7/2017, một năm sau, tôi tìm thấy câu trả lời có thẩm quyền) Trong một bài viết về phát triển phần mềm cho các sứ mệnh không gian của NASA. https://www.nasa.gov/pdf/418878main_FSWC_Final_Report.pdf Trên trang 31, bảng sau đây nằm trong biểu đồ cho thấy mức độ phù hợp với mức tăng logarit của dòng mã: (Vì vậy, ước tính 3K của tôi là đúng về tiền .)

  • 1969 Mariner-6 (30)
  • 1975 Viking (5K)
  • 1977 Voyager (3K)
  • 1989 Galileo (8K)
  • 1990 Cassini (120K)
  • Đường dẫn năm 1997 (175K)
  • 1999 DS1 (349K)
  • 2003 SIRTF / Spitzer (554K)
  • 2004 MER (555K)
  • MRO 2005 (545K)

Đây ban đầu là một câu hỏi để tìm kiếm câu trả lời cuối cùng, vì vậy chúng tôi đã ước tính như sau:

Theo bài đăng dưới đây, có mã có sẵn cho Apollo 11 và nhiều thứ khác có nguồn gốc khác của NASA, nhưng nguồn thăm dò dường như bị thiếu một cách đáng thất vọng:

https://voat.co/v/programming/comments/306663

Tôi đã googled và không tìm thấy bất cứ điều gì kết luận hơn ngoài sự thật rằng nó đã được viết lại trong F77 cho phần lớn và có khả năng có thể gửi cho chúng tôi dữ liệu trên không gian giữa các vì sao đến năm 2024 nếu mọi thứ diễn ra hoàn hảo.

Điều này rất gần gũi: http://history.nasa.gov/computers/Ch6-2.html

Chỉ có "phần dưới" của ngân hàng bộ nhớ 4K được sử dụng bởi hệ thống dữ liệu chuyến bay là mã. Đây có lẽ là phức tạp nhất trong ba máy tính trên Voyager để chúng tôi có thể đạt giới hạn trên từ đây. Vì vậy, 2k byte bộ nhớ cho các hướng dẫn có kích thước lệnh 1 byte sẽ là khoảng 2000 hướng dẫn lắp ráp. Hoặc, có thể 1000 dòng Mã Fortran. Nhân với ba để lập trình lại) và bạn có giới hạn trên là 3000 dòng lắp ráp trong bản gốc. Không khoa học hay nghiêm ngặt, nhưng tốt nhất tôi có thể tìm ra.

Và như tin tức mới nhất, Allan Lasser đã đưa ra Đạo luật Tự do Thông tin cho mã nguồn cho phần mềm phân tích và kiểm soát của Nhiệm vụ Voyager tiết lộ rằng mã đó là (C) Caltech, và ngoài tầm với của bất kỳ yêu cầu nào của FOIA, thực tế là có thể chỉ đạo những nỗ lực tiếp theo để nghiên cứu mã nguồn đó.

Và thông qua một yêu cầu FOIA có liên quan của Allan Lasser, chúng tôi biết rằng hợp đồng JPL / Caltech cho Voyager cũng vượt quá sức mạnh của FOIA vì hợp đồng được NASA coi là có chi tiết có xu hướng xâm phạm an ninh CNTT.


Nếu bất cứ ai có số liệu thống kê tốt hơn cho byte trên mỗi hướng dẫn lắp ráp hoặc hướng dẫn trên mỗi dòng, vui lòng thêm. Tôi không thể tìm thấy bài báo về tính biểu cảm mà tôi biết rằng tôi đã đọc trong quá khứ ...
BenPen

14

Bài viết này trong Wired cho thấy rõ rằng mã được viết trong Fortran 5 và sau đó được chuyển sang Fortran 77 và một số yếu tố hiện có trong phiên bản C:

Phần mềm phân tích và kiểm soát ban đầu của tàu vũ trụ được viết trong Fortran 5 (sau này được chuyển sang Fortran 77). Một số phần mềm vẫn còn ở Fortran, mặc dù các phần khác hiện đã được chuyển sang C. hiện đại hơn một chút.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.