Webbläsaren som du använder stöds inte av denna webbplats. Alla versioner av Internet Explorer stöds inte längre, av oss eller Microsoft (läs mer här: * https://www.microsoft.com/en-us/microsoft-365/windows/end-of-ie-support).

Var god och använd en modern webbläsare för att ta del av denna webbplats, som t.ex. nyaste versioner av Edge, Chrome, Firefox eller Safari osv.

Tailoring native compilation of Java for real-time systems

Författare

Summary, in Swedish

Popular Abstract in Swedish

De vardagliga ting som omger oss, allt från leksaker till bilar, såväl som den utrustning som används i tillverkningen av dem innehåller ett växande antal inbyggda datorer. Inbyggda system är ofta ansvariga för

kritisk funktionalitet, vilket leder till att en mängd tids- och resurskrav måste uppfyllas. Industriell konkurrens och det ständigt växande förhållandet mellan prestanda och pris för inbyggda datorer leder till exponentiell komplexitetsökning i programvaran, vilket i sin tur leder till ett ökande behov av bättre programmeringsspråk än de idag existerande. Java har valts som ett exempel på ett säkert, objektorienterat programmeringsspråk som skulle kunna leda till effektivare utveckling av programvara i inbyggda system.



Ett antal definierade begrepp, som portabilitet, skalbarhet och realtidsprestanda måste uppfyllas för att Java skall kunna användas som programmeringsspråk i hårda realtidssystem. För att dessa krav skall uppfyllas förordas binärkodskompilering av Java samt användning av anpassad automatisk minneshantering. Vi har implementerat en kompilator med runtime-system för Java, och då använt och utvärderat nya forskningsbaserade verktyg för kompilatorkonstruktion som medger ett nytt sätt att implementera optimeringar och andra kodtransformeringar som en mängd transformeringar på ett abstrakt syntaxträd.



Såvitt känt för oss är detta den första implementationen av binärkodskompilerad realtidsjava, som klarar hårda realtidskrav. Ett nytt transparent gränssnitt för minneshantering gör det möjligt att generera, eller skriva, C-kod oberoende av vilken specifik minneshanteringsalgoritm som skall användas. Genomförda experiment visar på goda realtidsprestanda. Givet våra bidrag och resultat ser vi kompilerad realtidsjava , eller liknande språk som C#, som ett industriellt acceptabelt alternativ.



Vi föreslår också en teknik för flerlagrad drifttagning av inbyggda applikationer, som bygger på det faktum att alla program skrivna i Java har en vädefinierad mening.



Samma kompilatorkonstruktionsverktyg och -tekniker som använts för implementation av vår javakompilator ser också ut att kunna underlätta utveckling på högre abstraktionsnivåer. Detta exemplifieras i en prototyp till en kompilatorkompilator på ontologinivå.

Publiceringsår

2006

Språk

Engelska

Dokumenttyp

Doktorsavhandling

Förlag

Computer Science, Lund University

Ämne

  • Computer Science

Nyckelord

  • systems
  • numerical analysis
  • Java
  • embedded systems
  • real-time
  • aspect-oriented
  • object-oriented
  • Computer science
  • compiler construction
  • control
  • Datalogi
  • numerisk analys
  • system
  • kontroll

Status

Published

Handledare

  • Klas Nilsson

ISBN/ISSN/Övrigt

  • ISBN: 91-628-6830-6

Försvarsdatum

14 juni 2006

Försvarstid

13:30

Försvarsplats

Room E:1406, E-building, Ole Römers väg 3, Faculty of Engineering, Lund University

Opponent

  • Peter Puschner (Prof.)