Információs Technológia

IT BLOG

Debuggolás a mély űrben

2022. május 25. 10:30 - RottenBiller

A NASA mérnöke visszaemlékezett, a 150 millió mérföld távolságban végzett hibakeresésre

pexels-felix-mittermeier-956999.jpg

 

Rendkívül divatos szakma manapság a szoftverfejlesztés, számítógép programozás. Rengeteg színes hirdetés kecsegtet egy új, jobb élet reményével ennek a szakmának a megtanulásával. Talán sokan, akik programkódokat állítanak elő, ennek a munkának a leginkább favágós, nehéz részének, a debugálst, a hibakeresést gondolják.

 

A számítógépes programozásban, szoftverfejlesztésben a hibakeresés megtalálásában és megoldásának folyamatát nevezzük debuggolásnak. Mindenkinek, aki valaha programkódot állított elő, meggyűlt a baja a hibakereséssel és legalább egy olyan történetet el tud mesélni, amikor nagy erőfeszítések kellettek ahhoz, hogy ne dobja sutba az egészet.

 

Az alábbi történet megismerése talán hozzá segíthet bennünket ahhoz, hogy megértsük, milyen jó, fejlett körülményekkel rendelkezünk az esethez képest. A NASA mérnöke visszaemlékezett arra, hogy hogyan végeztek hibakeresést LISP-en egy űrszondán futó programkódban, miközben az űrszonda, több száz millió mérföld távolságban volt a bolygónktól.

 

A Földtől 240 millió mérföld távolságban lévő űrszondában tudó kódban kerestek és javítottak hibákat a NASA mérnökei.

 

A napokban mesélt arról egy NASA mérnök, hogy egy mély űri kutató misszió során egy űrszondában futó LISP programozási nyelven megírt kód hajtott végre repülésirányítási feladatokat.

 

A program lefagyott, amikor az űrszonda a földtől több száz millió kilométer távolságra volt. A mérnökök érintetlenül álltak az eset előtt, nem tudták, hogy mi okozhatta a meghibásodást.

 

A hibakeresést nagymértékben nehezítette, hogy nem rendelkeztek hozzáféréssel az érintett rendszerekhez, továbbá egy rendkívül keskenysávú kapcsolatot tudtak csak kialakítani.

 

Nem beszélve arról, hogy ilyen nagy távolságban a rádióüzenetek fél óra alatt teszik meg az utat.

 

A feladat kritikus jellegére tekintettel, minden apró parancsot egy teljes bizottságnak kellett végrehajtania, miután több szinten elfogadásra kerültek a tervezett lépések, akkor lehetett csak ténylegesen elküldeni a szondának.

 

 

Ron Garret szoftvermérnök figyelemre méltó történetének során, amikor a mélyűrben végeztek hibakeresést még néhány dologra felhívta a figyelmet. Az 1988-as években, amikor még nem létezett sem a Java, sem a Python, de még a JavaScript és a C++ programozási nyelv sem.

 

Ami volt az a Pascal, a C, a Basic és persze a gépi kód. Ezek voltak a népszerű programozási nyelvek és ott volt még a LISP. Egy olyan programozási nyelv, ahol a probléma megoldás listákban és funkciókban történik. A LISP nyelv ismerete felér egy szuperhatalommal a szoftvermérnök szerint.

 

Ezt a programozási nyelvet azonban nem használták a NASA-nál, mert volt egy olyan előítélet a programozási nyelvvel kapcsolatban, hogy furcsa és ismeretlen. Garret csoportjának azonban tetszett a nyelv azon tulajdonsága, hogy ki lehet fejleszteni a LISP segítségével egy egyedi nyelvet, amelyet fel lehet használni a robot hardverhez. Egy robotszimulátorban gondosan írták és tesztelték a kódot.

 

A kifejlesztett kódbázis ellenére, amikor a szonda elérte a Marsot C nyelven írt kóddal hajtották. Ebben az esetben a használata elmaradt. 1998-ban azonban új igazgatója lett a NASA-nak. Az új igazgató New Millenium elnevezésű projektet indított. A projektben számos mélyűri felfedező küldetés szerepelt és a LISP kód új lehetőséget kapott.

 

Garret csapata egy innovatív döntéshozó szoftveren dolgozott, amit LISP-ben írtak és napokig, napokig és napokig tesztelték pontosan ugyanazon a hardveren, amely az űrbe ment.

"Nagyon bíztunk benne, hogy működni fog. És nem működött..."

 

Szólj hozzá!

A bejegyzés trackback címe:

https://informacios-technologia.blog.hu/api/trackback/id/tr4017839905

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása