Oprogramowanie lub Borg: wielkie zagrożenie dla statku kosmicznego?

Oprogramowanie lub Borg: wielkie zagrożenie dla statku kosmicznego?

Twój statek wykonuje nieoczekiwaną kolizję - jak niezawodne jest oprogramowanie, aby sobie z tym poradzić?

Artykuł został przygotowany na podstawie materiałów specjalisty Icarus Interstellar, Donny A. Dulo, czołowego matematyka, programisty, inżyniera systemu Departamentu Obrony USA. Przeczytaj więcej o Icarus Interstellar w artykule Discovery News.

Kiedy twój statek kosmiczny galopuje galaktykę z prędkością światła, znajduje się ledwo widoczny wzrost w pokładowych czujnikach zasięgu. Im bardziej zbliżasz się do źródła, tym silniejsze są jego przepływy, każdy z nich w gęstej formacji jest wysyłany w twoim kierunku. W niepokoju ty i twój zespół zajmujesz miejsca na statku i zdajesz sobie sprawę z najgorszego: musisz stawić czoła dużej armadzie sześcianów Borga i ich kul.

Na szczęście udało ci się odeprzeć statek od poważnej kolizji, manewrując przez niewielką, ledwo zauważalną lukę odkrytą podczas wstępnego przygotowania planu nawigacji, a statek odszedł bez szwanku. Trzeba było trochę zboczyć z kursu, ale statek jest bezpieczny, a twoja załoga jest teraz bezpieczna.

Jak tylko zaczniesz ponownie obliczać trasę, odkrywasz inny sygnał. Moduł systemu podtrzymywania życia statku zawiódł z powodu błędu oprogramowania, który wystąpił podczas manewru unikania kolizji. Oprogramowanie uszkodziło systemy podtrzymywania życia zespołu i rozumiesz, że statek nie jest już w stanie wyciągnąć powietrza do oddychania w ciągu najbliższych 24 godzin. System tworzenia kopii zapasowych był bezradny, a sam komponent sprzętowy kopii zapasowej korzysta z tych samych procedur oprogramowania. Urządzenia ratownicze pozwalają na 48 godzin na oddychanie powietrzem, a jednostki mobilne na pokładzie są wyposażone w zestawy powietrzne przeznaczone na 8 godzin oddychania.

Wysyłasz najlepszych informatyków i inżynierów oprogramowania do maszynowni, aby zdiagnozować problem. Powiadamiają cię, że rozwiązanie problemu zajmie przynajmniej cztery dni, aby wyizolować i wyeliminować błędy w kilkuset milionach linii kodów kontrolujących systemy podtrzymywania życia statku.

Twoja sytuacja jest teraz szczególnie trudna. Żądasz raportu z niekrytycznych systemów i pilnie wysyłasz zespół programistów. Teraz poczekasz, wiedząc, że życie wszystkich obecnych członków załogi jest teraz w rękach zespołu programistów.

Opisany powyżej scenariusz pokazuje istotną naturę oprogramowania podczas długiej podróży statkiem. Pojawia się naturalne pytanie: co to jest wielki wróg: flotylla kosmicznych złoczyńców lub słabość systemu oprogramowania systemów okrętowych?

Dla osób znających bardzo złożoną naturę systemu oprogramowania odpowiedź jest oczywista; jest to oprogramowanie, które stwarza największe zagrożenie.

Oprogramowanie lub Borg: wielkie zagrożenie dla statku kosmicznego?

Podróżowanie w przestrzeniach międzygwiezdnych wymaga samowystarczalnego statku i załogi, co implikuje szybkie decyzje w celu rozwiązania najpoważniejszych problemów technicznych. Wykładnicza złożoność i kruchość tkwiąca w ostatecznym oprogramowaniu sprawia, że ​​jest to jedno z najsłabszych ogniw w potrzebach długoterminowego przetrwania na pokładzie statku międzygwiezdnego. Wyobraź sobie w pełni funkcjonalny statek kosmiczny, z setkami milionów linii kodu i dziesiątkami, a nawet setkami tysięcy swoich zmiennych i stanów. Diagnozowanie pojedynczego błędu w wierszu kodu jest prawie niemożliwe w sytuacji awaryjnej, nawet przy zastosowaniu najbardziej zaawansowanych automatycznych procedur testowania. Napięcie sytuacji w połączeniu z nieodłącznymi trudnościami logiki matematycznej i ogromną ilością kodu spowoduje napięcie w pracy nawet najlepszych zespołów inżynierów, którzy obecnie prowadzą prace.

Podobnie jak w przypadku Borg, gdzie wszystko przemyślano z wyprzedzeniem, sporządzono plany awaryjne i zaplanowano trasy ewakuacji, możliwe jest planowanie bezpieczeństwa długoterminowego oprogramowania statku kosmicznego. Planowanie to musi jednak nastąpić zarówno podczas rozwoju statku, jak i podczas jego operacji międzygwiezdnych. Kluczem do nowego paradygmatu inżynieryjnego jest „zrównoważony rozwój”, który może być łatwo zastosowany do rozwoju i rozwoju oprogramowania.

W długoterminowej misji kosmicznej, możliwe ograniczenia oprogramowania zostaną zakwestionowane, jednak możliwość niepowodzenia nie będzie odpowiadać nikomu.

Oprogramowanie, jak również członkowie załogi, którzy z niego korzystają, muszą być stabilne, aby poradzić sobie ze wszystkimi krytycznymi sytuacjami w utrzymaniu bezpieczeństwa. Koncepcja zrównoważonego rozwoju jako dyscypliny inżynieryjnej pojawiła się w połowie 2000 r. Jako sposób na ograniczenie awarii w złożonych systemach, w świetle wysiłków inżynieryjnych. Trwałość inżynierii, jako koncepcji oprogramowania, jest ujęta w sposobie, w jaki ludzie radzą sobie ze złożonością systemu oprogramowania, aby odnieść sukces w krótkim czasie, nawet w najtrudniejszych sytuacjach. Odporność inżynieryjna skupia się na zdolności systemu do dostosowania się do stale zmieniającej się sytuacji i warunków, tak aby utrzymać pozytywny stan kontroli nad systemem w celu uniknięcia awarii. W połączeniu ze zdolnością systemu do adaptacji, możliwości czynnika ludzkiego w systemie są niezbędne dla większej zdolności adaptacji do zmieniających się warunków. Połączenie systemów człowiek-maszyna zapewnia nowe podejście do bezpieczeństwa, zapewniając ludziom elementy do zdobywania wiedzy i przewidywania procesów w systemie, pozwalając im stać się aktywną częścią operacji bezpieczeństwa samego systemu.

Istnieją dwa aspekty inżynierii odporności oprogramowania: odporność oprogramowania poprzez rozsądny proces rozwoju zorientowanego bezpieczeństwa oraz bieżące działanie oprogramowania w czasie rzeczywistym z pozytywną odpowiedzią człowieka w operacjach cyklicznych. Ogólny program działa zgodnie z koncepcją, że bezpieczeństwo jest podstawową wartością wraz z ciągłym oczekiwaniem na potencjalną awarię oprogramowania.

Zatem osoba, ukierunkowując uwagę na bezpieczeństwo, pomaga zmienić równanie ryzyka w systemie wsparcia środków, aby przerwać łańcuch kaskadowej awarii oprogramowania przyczynowości, jednocześnie zmniejszając niestabilność systemu. Rezultatem jest bezpieczniejsza, bardziej opłacalna i przewidywalna wydajność oprogramowania, we współpracy z użytkownikami, uczestnicząca w pełnym zakresie procesów oprogramowania i ewolucji.

Stabilność metod inżynieryjnych nadal się manifestuje i skupia się na redundancji oprogramowania logicznego, adaptacyjnych metodach interwencji, analizie intelektualnej, wśród wielu innych technik inżynierii dźwięku. Wśród konstrukcji inżynierskich istnieje dźwięk uzasadniony zasobami ludzkimi, a protokoły zarządzania operacyjnego mają na celu skupienie się na zdolnościach załogi do adaptacji do zmieniających się warunków i łagodzenia nawet najbardziej złożonych sytuacji awaryjnych oprogramowania. Dzięki zestawom elastycznych metod tworzenia oprogramowania i wykonalności technicznego przywództwa organizacyjnego oraz zespołowi skupionemu na zarządzaniu oprogramowaniem awaryjnym, złożony system ma zdolność przetrwania katastrofalnej awarii, która pomaga zapobiec całkowitej awarii załogi.

W naszym przykładzie awaryjny system podtrzymywania życia nie powiódł się, ponieważ był to ten sam program, co system główny, a zatem w tej samej sytuacji kopia zapasowa również nie powiodła się. Bardziej wytrzymały system użyje innego programu z pakietu oprogramowania i zestawu algorytmów systemu kopii zapasowych do wykonania tej samej pracy, dzięki czemu system będzie bardziej stabilny.

System odporny na błędy, podobnie jak oprogramowanie, jest bardziej modułowy i matematycznie sprawdzalny, co zapewnia coraz bardziej realne sposoby adaptacji, refaktoryzacji i naprawy. Zmniejszona złożoność i bardziej wystandaryzowane oprogramowanie oraz struktury algorytmiczne zapewnią dodatkowe gwarancje poprawy stabilności.

Wtedy człowiek, jako element zrównoważonego systemu, wchodzi do gry. Po awarii systemu podtrzymywania życia załoga jest na służbie, natychmiast przełączając system na komponenty zapasowe, w których przepływa inny zestaw procedur oprogramowania, w tym zupełnie inny zestaw logiki matematycznej.

Wszyscy członkowie załogi są przeszkoleni w zakresie niuansów sprzętu i oprogramowania statku, a także obowiązków w zrozumieniu wszystkich rodzajów błędów obliczeniowych i sposobów radzenia sobie z nimi. Znacznie później system oprogramowania zespołu inżynierów przystępuje do naprawy awarii w łańcuchu logicznym podstawowego zestawu procedur oprogramowania, ponieważ system kopii zapasowych działa bez zarzutu.

Oprogramowanie lub Borg: wielkie zagrożenie dla statku kosmicznego?

Zadanie naprawy jest prostsze, ponieważ oprogramowanie jest bardziej modułowe, łatwo rozkładane hierarchicznie i starannie udokumentowane pod względem projektowania, architektury, a także w matematycznie sprawdzonych strukturach. Zespół uzupełnia zespół inżynierów oprogramowania drugiego poziomu, którzy posiadają niezbędny rozwój i pełnią drugorzędne funkcje załogi i wysoko wykwalifikowanego zespołu oprogramowania podstawowego.

Skrypt został dobrze przećwiczony z wyprzedzeniem, podczas treningu, a gracz każdego zespołu zna jego funkcję: koder, weryfikator, matematyk, tester i realizator. W systematycznie zorganizowanej działalności zarządzania inżynierią opracowywany jest nowy zestaw logiki dla systemu głównego. W ciągu dwóch dni jest sprawdzany i ostatecznie idzie do pracy. Po wykonaniu eksperymentu z pełnym udziałem załogi statek powrócił do pierwotnej kolejności bitwy.

Stosując wytrwałość w opracowywaniu oprogramowania i obsłudze statku kosmicznego w czasie rzeczywistym, załoga może zwiększyć przeżywalność statku, nawet w czasie, gdy pojawiają się poważne problemy z oprogramowaniem. Dzięki opracowaniu i zastosowaniu najnowocześniejszych teorii i metodologii opracowywania oprogramowania na rzecz zrównoważonego rozwoju, statek będzie miał narzędzia i wyszkoloną załogę do bezpiecznego przeprowadzania dogłębnych operacji oprogramowania.

Metody zrównoważonego rozwoju można również stosować do innych form technologii, a także operacji na statkach, tworząc holistyczną kulturę bezpieczeństwa, która poprawi ogólne przetrwanie statku.

Tak więc zrównoważony rozwój uczyni statek długowiecznym, przeznaczonym do przejścia przez galaktykę z nieograniczonymi możliwościami dla obecnych i przyszłych pokoleń. Nawet gdy nie ma szans przed Borgiem. Misją Icarus Interstellar jest promowanie badań nad statkami kosmicznymi, zarówno dla pojazdów załogowych, jak i bezzałogowych. Oprogramowanie zajmie ogromną część tych przyszłych systemów, a stabilność badania pomoże osiągnąć najwyższe cele, przede wszystkim dotarcie do gwiazd, a następnie przejście między nimi, jak w cywilizacji międzygwiezdnej.

Komentarze (0)
Szukaj