-
Data: 2019-09-07 10:55:49
Temat: Re: Jak to robią w NASA
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Friday, September 6, 2019 at 9:12:39 PM UTC+2, Mateusz Viste wrote:
> On Fri, 06 Sep 2019 12:03:02 -0700, Maciej Sobczak wrote:
> > Obowiązek zapewnienia 100% pokrycia istnieje dla *całego*
> > kodu a nie tylko dla jakiegoś drobnego kawałka, który napisałeś sam, a
> > pokrywanie kodu jakiejś obcej biblioteki albo wykazywanie jej zgodności
> > z wymaganiami projektu to jest coś, czego nikt nie chciałby robić.
>
> W tym momencie zdałem sobie sprawę, że myślimy o całkiem innych rzeczach
> - tzn. ty piszesz o tworze dużo bardziej ekstremalnym niż założyłem (co
> jest zupełnie zgodne z pierwotnym tematem "NASA").
>
> No i faktycznie - jeśli przyjąć, że piszemy logikę kontrolera stacji
> orbitalnej Jowisza, to "normalne" programowanie odpada.
Nie odpada. Oprogramowanie do kontroli stacji kosmicznej na której
miałoby przebywać choćby milion ludzi, też ma elementy bardziej i mniej
krytyczne. Błędy w tych mniej krytycznych czasami można skorygować w
trakcie działania. Ale 'jądro' takich systemów i niektóre jego
części faktycznie najlepiej zrobić od zera, obłożyć testami, dać
matematykom do analizy, itd...
> Zostaje pisanie
> pod "bare metal", gdzie program musi być wrzucony pod ściśle określony
> adres, każda zmienna ma ściśle określone miejsce w pamięci,
To ma zaletę i wadę. Po pierwsze jest zaleta, bo jeśli w fazie testów
zmienne były pod danym adresem, to i w fazie działania będą pod tym
samym adresem. Z drugiej strony jeśli kompilator do każdego testu
przetasuje adresy przed każdym uruchomieniem, to mogą wyjść ukryte
błędy.
> a sam program
> jest sprawdzony za pomocą wszystkich możliwych kombinacji danych.
Jeśli procedura działa 1 mikro-sekundę, i pobiera na wejście 32
bity danych, to czas uruchomienia dla wszystkich kombinacji zajmuje
ponad godzinę. Jeśli wyjście procedury zajmuje też 32 bity, to
do kompletnego sprawdzenia potrzebujemy plik o rozmiarze 16GB
który nie zawiera błędów. Dla procedury która trwa mili-sekundę i
pobiera 64 bity danych, taki proces uruchamiania trwa pół miliona
lat przy użyciu 1000 komputerów!
Z tego co słyszałem testuje się na wyrywki. Napisanie oprogramowanie
do sterowania rakietą zlecano ośmiu kompletnie niezależnym zespołom.
Każda wersja procedury jest uruchamiana na tych samych danych
wejściowych. Oczywiście to wszystko nie wystarcza, próbuje się
udowodnić że kod nie ma błędów, a w trakcie działania jest robione
głosowanie, jeśli 7 wersji danej procedury dało odpowiedź 0, a jedna
odpowiedź 1, to używa się odpowiedzi 0, a ta procedura która dała
odpowiedź 1 dostaje mniejszą wagę w do obliczania 'średniej ważonej'.
Pozdrawiam
Następne wpisy z tego wątku
- 07.09.19 17:04 Maciej Sobczak
- 07.09.19 17:21 Maciej Sobczak
- 07.09.19 19:35 M.M.
- 08.09.19 00:18 g...@g...com
- 08.09.19 08:13 AK
- 08.09.19 08:58 g...@g...com
- 08.09.19 11:19 AK
- 08.09.19 11:36 M.M.
- 08.09.19 12:13 g...@g...com
- 08.09.19 17:32 Maciej Sobczak
- 08.09.19 22:17 Maciej Sobczak
- 09.09.19 17:56 AK
- 11.09.19 07:30 M.M.
- 11.09.19 09:21 Maciej Sobczak
- 11.09.19 20:09 AK
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-06 PROGRAM DOPŁAT DO AUT ELEKTRYCZNYCH TO ABSURD. ZA ŚRODKI Z KPO KUPIMY NIEMIECKIE I CHIŃSKIE AUTA
- 2025-02-05 ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-07 Smar do video
- 2025-02-06 Litowe baterie AA Li/FeS2 a alkaliczne
- 2025-02-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-07 Warszawa => System Architect (Java background) <=
- 2025-02-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-07 Warszawa => Solution Architect (Java background) <=
- 2025-02-07 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-07 Lublin => Programista Delphi <=
- 2025-02-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-07 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-07 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo