eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJak to robią w NASA › Re: Jak to robią w NASA
  • X-Received: by 2002:ac8:6bcf:: with SMTP id b15mr13484309qtt.239.1567846549808; Sat,
    07 Sep 2019 01:55:49 -0700 (PDT)
    X-Received: by 2002:ac8:6bcf:: with SMTP id b15mr13484309qtt.239.1567846549808; Sat,
    07 Sep 2019 01:55:49 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
    e.net!feeder.erje.net!news.uzoreto.com!newsreader4.netcologne.de!news.netcologn
    e.de!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer03.am4!peer.am4.highwin
    ds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!o2
    4no7834821qtl.0!news-out.google.com!d29ni952qtg.1!nntp.google.com!o24no7834819q
    tl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Sat, 7 Sep 2019 01:55:49 -0700 (PDT)
    In-Reply-To: <5d72afa6$0$3531$426a74cc@news.free.fr>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.205.84;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 178.36.205.84
    References: <1ua4wui506zbf$.dlg@tyczka.com>
    <4...@g...com>
    <qkjqqi$1b59$1@gioia.aioe.org>
    <0...@g...com>
    <r...@t...com>
    <e...@g...com>
    <1...@g...com>
    <1...@g...com>
    <a...@g...com>
    <qkoqr3$1eec$1@gioia.aioe.org>
    <a...@g...com>
    <8...@n...net>
    <1...@g...com>
    <qksqus$1h0q$1@gioia.aioe.org>
    <3...@g...com>
    <5d7219bc$0$6446$426a74cc@news.free.fr>
    <0...@g...com>
    <8...@g...com>
    <5d7267e0$0$15200$426a34cc@news.free.fr>
    <5...@g...com>
    <5d72afa6$0$3531$426a74cc@news.free.fr>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <3...@g...com>
    Subject: Re: Jak to robią w NASA
    From: "M.M." <m...@g...com>
    Injection-Date: Sat, 07 Sep 2019 08:55:50 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    X-Received-Bytes: 5720
    X-Received-Body-CRC: 180717594
    Xref: news-archive.icm.edu.pl pl.comp.programming:213969
    [ ukryj 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: