Berta Sándor

Túlzottan megbízunk az automata rendszerekben

A fizikai és a digitális világ összekapcsolásától sokan várnak kisebb fajta csodát, a szakemberek azonban inkább arra számítanak, hogy megdőlhet a számítógép-tudomány néhány korábbi paradigmája.

Napjainkban már szinte az élet minden területén megtalálhatók az úgynevezett beágyazott rendszerek, legyen szó a légi közlekedésről, az erőművekről, az adatbázisokról vagy éppen az űrhajókról. Az emberek egyre gyakrabban bíznak meg a mikrochipekben és a különböző érzékelőkben. Ha egy asztali PC leáll, az legfeljebb egy embernek vagy családnak rossz, de ha mondjuk a légi közlekedést irányító rendszer csődöl be, az komoly katasztrófákat okozhat és több ezer életét befolyásolhatja. A beágyazott rendszereknek gyorsan, de legfőképpen megbízhatóan kell működniük ahhoz, hogy időben feldolgozhassák és továbbíthassák a beérkező adatokat. Csak így kerülhet el egy repülőgép egy katasztrófát vagy egy autó egy balesetet.

"Egy ilyen válogató, osztályozó, rendszerező algoritmustól természetesen azt is elvárjuk, hogy a feladatait gyorsan végezze el. De valójában nem az a fontos, hogy egy számítást egy vagy három milliszekundum alatt hajt-e végre. Ugyanakkor vannak rendszerek, például a légi irányításban, amelyeknél fontos az időtényező betartása" - jelentette ki Tom Henzinger, a klosterneuburgi Tudományos és Technológiai Intézet munkatársa. A helyzetet súlyosbítja, hogy mivel egyre több területen kapnak kiemelt szerepet a számítógépek, így ezek a tényezők is egyre fontosabbá válnak.

"Egyszerűen irritál, hogy az emberek olyan egyszerűen elfogadják, hogy a számítógépes rendszerek hajlamosak a hibázásra" - tette hozzá Henzinger. A szakember aggodalma érthető, hiszen egyre több feladatot végeztettünk el a számítógépekkel. Ráadásul különbséget kell tenni a hibák között is. Hiba lehet ugyanis már az is, ha egy rendszer nem képes a kellő gyorsasággal vagy megbízhatósággal elvégezni a feladatát. Érdekes azt is megfigyelni, hogy mennyit változott az emberek magatartása az elmúlt két évtizedben. Eleinte csodálták a számítógépeket és a teljesítményüket, de ma már csak fogyasztási cikknek tekintik őket és a csodálatból érdektelenség lett. Szintén kiemelendő az is, hogy miközben szinte minden területen használunk számítógépeket, egyre kevesebbet tudunk a működésükről.

Edward A. Lee, a Berkeley Egyetem munkatársa előadásain sokszor beszél arról az álmáról, hogy milyen jó lenne egy lámpák nélküli városban közlekedni. Sajnos azonban ez az ötlet jelenleg megvalósíthatatlan. Nem az ehhez szükséges alkatrészek hiányoznak, hanem egyszerűen a mai technológiákkal nem lehet ezeket úgy összekötni vagy ötvözni, hogy megbízhatóan együtt dolgozzanak.

"Ennek ellenére nagyon optimista vagyok abban a tekintetben, hogy a jövőben ilyen rendszereket is építünk majd és el fogjuk érni, hogy rendeltetésszerűen működjenek. Ahhoz viszont, hogy ezt elérjük egy sokkal jobb absztrakciós rendszer kell, vagyis ki kell zárni a nem fontos információkat azért, hogy a meglévő problémák megoldására összpontosíthassunk" - hangsúlyozta a szakember. Lee szerint a mai emberek nem képesek a teljes rendszerre koncentrálni, az ugyanis túlzottan összetett és bonyolult.

Az Egyesült Államokban már megszületett a digitális és a fizikai világ ötvözésének elnevezése, ami a Kiberfizikai Rendszerek (CPS). Legalábbis így nevezi a folyamatot Helen Gill, az amerikai Nemzeti Tudományos Alapítvány kutatója. A következő lépcsőfokot az jelentheti majd, hogy vajon sikerül-e és ha igen, mikor megalkotnia az emberiségnek a hiba nélkül működő szoftvereket és hardvereket.

Hozzászólások

A témához csak regisztrált és bejelentkezett látogatók szólhatnak hozzá!
Bejelentkezéshez klikk ide
(Regisztráció a fórum nyitóoldalán)
  • philcsy #17
    "A programhiba meg az összes azonos programmal rendelkezőt, ilyen egyszerű"
    Az ilyen mindegyiket tönkretevő programhibákat viszont egyszerűen lehet teszteléssel szűrni.
  • Glutamin #16
    A programozásnak egy része intuitív, ezt sosem fogják tudni automatizálni szerintem. A mechanikus részekre (lásd Access), már vannak egész tűrhető megoldások, hogy a rabszolgamunkát csökkentsék.
  • BlackRose #15
    Nem megfelelő karbantartás miatt sokkal több katasztrófa van mint hibásan beágyazott rendszer miatt. Egyszerűen azért mert az első közvetlen emberi hiba és nehezebb korlátok között tartani, a másik viszont gépi hiba = közvetett (emberi) hiba mert végül is emberek csinálták, és sokkal könnyebb kezelni, javítani, szem előtt tartani.
  • teddybear #14
    Tökmindegy, hogy melyik vacak, és hogy hosszabb ideig kellett volna nyomni. Egy gyújtáskapcsolót sokkal egyszerűbb elfordítani. És az azonnal kikapcsolja a motort, elektronika ide vagy oda.
  • teddybear #13
    A nem megfelelő karbantartás csak azt az egy gépet teszi tönkre, amelyikről szó van.

    A programhiba meg az összes azonos programmal rendelkezőt, ilyen egyszerű.
  • philcsy #12
    Ja. Az autónak is kellett majd 100 év mire olyan "biztonságos" lett mint ma. A tökéletesség túl szigorú elvárás. Nem a gépektől szigorú hanem saját magunktól. A cikkben említett repülés is idővel lett biztonságos. Balesetek meg mindig vannak.
    Mi a különbség aközött hogy nem megfelelő karbantartás vagy hibásan beágyazott rendszer okozta a katasztrófát?
  • BlackRose #11
    Azért képezünk ki technikusokat mérnökök mellé, mert nem lehet mérnökökből elegendőt képezni és ha lehetne is akkor sincs szükség, hiszen ha hiszed ha nem az kórva sok pénzbe kerül és felesleges egy szívsebészt képezni ki sebek kötésére, a technika is ilyen, vannak feladatok amelyekre mérnöki tudás kell és vannak feladatok amelyeket az nélkül is meg tudunk oldani elfogadható szinten. A Gaussz görbe elkerülhetetlen dolog, mindég lesznek jobb és roszabb szakemberek, különböző szinten a fontos, dolog, hogy a munkájuk terméke megfelelő legyen, hogy gazdaságosan tudjuk előállítani és, hogy a plusz oldal felülmúlja a minusz oldalt. Az életben minden két vagy több NEM TÖKÉLETES dolog közötti választás, igy van ez a programozásban is. Filozofálhatunk vagy csinálhatunk valamit amit az emberek alkalmaznak és alkalmazni akarnak.

    Az automata rendszereknél is ez a kérdés, nem az, hogy túl megbízunk e vagy sem, hanem, hogy mi az alternatíva... és még hasonló erőforrások alkalmazása melett nem tudunk jobb alternatívát felmutatni addig az van ami van, felesleges dumálni és az embereket félelmíteni, ezt tudjuk ma, holnap többet fogunk tudni, ez a fejlődés, ez az egyetlen út előre. Vannak kockázatok, vannak tévedések és vannak áldozatok is, de ez nélkül mi emberek olyan lények akik nem ismerik a tökéletességet nem juthatunk el sehová. Fontos dolog, hogy adott esetben a veszélyekre válaszolni tudjunk megfelelő módon (response capacity >= danger potential).
  • BlackRose #10
    4. generációs programozási nyelvek... haha látom igazi értéktelen egyetemi képzésben volt részed :) a programozúsi nyelvek nem úgy fejlődnek ahogy a 80-as években gondolták, új nyelvek általában kutatás céljából születnek, és az ami fontos a meglévő absztrakciókra való építés. Röviden a modern nyelveknek van némi közük az úgynevezett 4. generációs nyelvekhez olyan szampontból, hogy elfogadják a deklaratív ellemeket az imperatív ellemek mellé, ugyanakkor olyan dolgok jelentek meg amelyekre mondjuk 20 évvel ezelőtt nem igen számítottak (mint pl. a multicore). Ha érdekel a dolog közelebről, akkor nézd meg Anders Hejlsberg előadásait a nyelvek fejlődéséről, a C# 4.0-ról és a C# "Next"-ről.

    http://channel9.msdn.com/posts/adebruyn/TechDays-2010-Developer-Keynote-by-Anders-Hejlsberg/

    http://channel9.msdn.com/posts/matthijs/C-40-and-beyond-by-Anders-Hejlsberg/

    A fejlődés óriási, csak éppen az elvárások sok esetben régi és téves alapokon vannak, a fejlődés és a fejlesztések a valóságból erednek nem pedig valami 30 évvel ezelőtti elképzelésekre. És pl. az Accessban levő megoldások nem alkalmasak mindenféle feladatra, de azt mondani, hogy nem alkalmasak komoly feladatokra naív dolog, hiszen több tízezer megoldást készítettek és készítenek vele amelyeknek összértéke akár több miliárd dollárt ellenértékü feladatok elvégzésével egyenlő... én ezt nem nevezném komolytalan feladatoknak.
  • Kara kán #9
    Milyen elveket szoktál alkalmazni?
    Nem mintha épp nagy szakértője lennék a dolognak, úgy 15 éve tanultam én is a Jackson módszerről, meg utána olvasgattam a genetikai algoritmusokról, de fogalmam nincs, hogy gyakorló rendszertervezők ma miket használnak. Van erre is esetleg szoftver?
    Emlékszem, még akkor rebesgették, hogy még a programozás terhét is leveszik a vállunkról, mert megszületnek a 4. generációs programozási nyelvek, tehát valaki egy varázslóval tud írni mondjuk C nyelvű programot. Hát, ahhoz képest sehol nincs a dolog.
    Persze, van pl. a Microsoft Accessben adatbázis-varázsló meg ilyenek, de ezek komoly feladatokra nem alkalmasok.
  • Sith #8
    Nem egészen az egy emberre gondoltam, és nem így :)
    hanem inkább arra pld hogy egy inteligens kamerás megfigyelő rendszerhez magát a kamerán futó szoftvert megírják mondjuk Izraelben a szerver szolgáltatást megírják mondjuk Indiában majd ezt az egészet mondjuk Münchenben próbálják beleverni valami intleigensnek mondott rendszer egészébe... arról már nem is beszéllek mi van ha valakinek megtetszik a müncheni ötlet és ugyan ezt meg akarja valósítani mondju Rioban