LUCAS utvecklar Javaför styrning av Mars-fordon
2009 skickar NASA nästa generations obemannade fordon till Mars. Med stor sannolikhet kommer programvara som utvecklas vid LUCAS – Center för industriell programvaruteknik på LTH, Lunds tekniska högskola, att följa med och lägga grunden till att laboratorierna kan arbeta självständigt, effektivt och säkert.
Tidigare i år rönte Mars Exploration Rovers (MER) stor uppmärksamhet genom sin förmåga att ta sig fram på Mars yta och utföra mycket framgångsrika analysuppdrag. Våra kunskaper om den röda grannplaneten har formligen exploderat. NASA planerar att skicka nästa generation fordon till Mars år 2009. De ska bli större, starkare, ha längre räckvidd och framförallt vara än mer självständiga än MER. Komplexiteten i programvaran som styr fordonen ökar avsevärt. För att klara utmaningarna vill NASA programmera styrsystemet i programspråket Java.
– En av Javas starka sidor i det här sammanhanget är att det, till skillnad från traditionella programspråk som C, och C++, är mycket säkert och stabilt att programmera i. Olika program som är skrivna i Java kan t ex inte förstöra varandras minne – något som mycket väl kan hända i andra programspråk om man inte är ytterst försiktig, säger Roger Henriksson som forskar och undervisar i realtidsprogrammering vid Institutionen för Datavetenskap, LTH.
Hittills har priset man fått betala för säkerheten i Java varit problem i realtidssystem, det vill säga system som är beroende av snabba, men framförallt förutsägbara reaktionstider. I normal Java har man inte kunnat garantera att en signal från omgivningen kan påverka styrningen av ett fordon inom de mikrosekunder man har på sig. Om t ex ett självgående fordon på Mars upptäcker en grop i sin färdväg måste datorkraften användas till att bromsa istället för att skicka fotografier till jorden. Men det problemet blir historia med realtidsjava.
Företaget SUN Microsystems och dess forskningsavdelning SUN Labs är drivande aktörer vad utvecklingen av Java och har från och till intresserat sig för realtidsfrågor. Men sedan SUN Labs, i samverkan med Carnegie Mellon University i USA, fått i uppdrag av NASA att programmera nästa generation marslandare i Java har det blivit fart på utvecklingen. För att lösa minneshanteringen har man vänt sig till LUCAS som redan år 1998 genom Roger Henrikssons avhandling visade hur det kan gå till.
– Vår specialitet inom realtidsjava är garbage collection, d v s den delen av Java som håller reda på upptagna och lediga delar av internminnet åt de andra programmen, berättar Roger Henriksson.
Det är lätt att inse att det ligger mycket prestige i att programmera en marslandare.
– Vi är naturligtvis både stolta och smickrade över att ha blivit inbjudna att skicka vår programvara till Mars. Men projektet har större konsekvenser än så. Vi använder redan idag vårt realtidsjava i olika experimentella system, i t ex industrirobotar tillsammans med ABB och andra industripartners. Eftersom ett kommersiellt företag som SUN nu använder vår lösning i sina system blir det lättare att använda realtidsjava i skarp drift även för andra, t ex svensk industri. Därigenom får vi, tillsammans med våra partners, ännu bättre möjlighet att behålla vår tätposition på området programvara för inbyggda system, kommenterar professor Boris Magnusson, forskningsledare vid LUCAS.
LUCAS-dagen 18 oktober
Den som vill veta mer om Marsprojektet och realtidsjava kan anmäla sig till LUCAS-dagen på LTH den 18/10. Då kommer bl a Greg Bollella, projektledare på SUN Labs, att berätta om programmeringsprojektet i sin helhet. Roger Henriksson ska försöka bringa ytterligare klarhet i LUCAS insatser och garbage collectorn.
OM LUCAS – CENTER FÖR INDUSTRIELL PROGRAMVARUTEKNIK
LUCAS är en centrumbildning på Lunds Tekniska Högskola (LTH) med forskare inom tillämpad programvaruteknik från Institutionerna för Datavetenskap, Telekommunikationssystem och Reglerteknik.
LUCAS forskning rör sig inom tillämpningsområden som robotteknik, trådlös kommunikation, processtyrsystem och mobilt Internet. De tekniska frågeställningarna kan t ex beröra konfigurationshantering, programvaruarkitekturer, programmeringsspråk, testmetodik för programvara, styrning och utvärdering av programvarukvalitet och realtidsproblem. I samarbete med industrin utvecklas nya tekniker för att bemästra komplexa tekniska programvarusystem. Industrin hjälper i gengäld till att delfinansiera t ex doktorandtjänster och förse forskarna med projekt och produkter som forskningsobjekt.
LUCAS finansieras med en tredjedel från industrin, en tredjedel från institutionella sponsorer som t ex Vinnova och SSF samt en tredjedel från Lunds Tekniska Högskola.
Mer information och kompletterande illustrationer och fotografier:
Mer information om LUCAS: http://www.lucas.lth.se
Kontaktinformation
KONTAKTPERSONER:
Prof. Boris Magnusson, Boris.Magnusson@cs.lth.se, 046-222 80 44 / 070-623 80 44
Dr. Roger Henriksson, Roger.Henriksson@cs.lth.se, 046-222 96 35 / 070-675 90 07
Jonas Wisbrant, Jonas.Wisbrant@cs.lth.se, 046-222 34 83 / 070-99 89 002