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 redigera

Externa länkar redigera