Realtidsjava

Realtidsjava är ett begrepp för en kombination av tekniker som kan användas för att skriva program som uppfyller krav på realtidssystem i programmeringsspråket Java. Att använda Java i realtidssammanhang är ett aktivt forskningsområde och motiveras av inneboende egenskaper i språket som gör det säkrare än vissa populära programmeringsspråk som C och C++. Några av dessa egenskaper är automatisk minneshantering, stöd för trådar och hantering av jämlöpande programmering, typsäkerhet och det faktum att det är relativt enkelt programmeringsspråk.

Java Community Press har introducerat en specifikation för realtidsjava, JSR-01 Real-Time Specification for Java (RTSJ). Ett antal implementationer som mer eller mindre följer specifikationen har gjorts, däribland Sun Microsystems Mackinac, IBMs WebSphere Real Time, Aonix PERC and JamaicaVM från aicas.

Ett alternativ till att använda realtidsanpassade virtuella maskiner är att kompilera Javakod direkt till maskinkod, vilket har använts i projektet Lund Java-based Real-Time. Detta har utvecklats inom den tvärvetenskapliga forskargruppen Productive Robotics vid Lunds tekniska högskola som handlar om att exekvera program utvecklade i Java i små inbyggda system. En forskningsprototyp har tagits fram med vilken man kan kompilera Javakod till maskinkod via C.

Tanken är att dra nytta av enkelheten och objektorienteringen i Java vid utveckling och samtidigt få möjlighet att exekvera på små begränsade plattformar. Fördelen med att kompilera via C är att det redan finns tillgängliga kompilatorer för många tillgängliga processorer samt att underlätta länkning till extern kod som drivrutiner.

Referenser

  • Burns, Alan; Andy Wellings (2001). Real Time Systems and Programming Languages: Ada 95, Real-Time Java and Real-Time C/POSIX. Addison Wesley. ISBN 0201729881 
  • Nilsson, Anders (maj 2006) (på engelska) (PhD thesis). Tailoring native compilation of Java for real-time systems. Dept. of Computer Science, Lund University. ISBN 91-628-6830-6. http://www.cs.lth.se/home/Anders_Nilsson/doc/TailoringNativeCompilation.pdf. Läst 1 oktober 2010  Arkiverad 25 februari 2007 hämtat från the Wayback Machine.

Externa länkar

  • Real-Time Specification for Java (RTSJ)
  • IBM WebSphere Real Time
  • LJRT - Lund Java based Real-Time
  • JamaicaVM — Java Technology for Realtime