Java-loze realtime VM werkt door tijdens beheer op afstand

Reading time: 3 minutes

Author:

De Zwitserse Java-specialist Esmertec heeft een realtime objectgeoriënteerd softwareplatform geïntroduceerd voor kleine embedded toepassingen. OSVM (Operating System Virtual Machine) biedt een beveiligde omgeving om programmatuur te draaien en deze via een bedrade of draadloze verbinding op afstand te beheren zonder dat het sys-teem daar iets van merkt. Het bedrijf uit Zürich heeft het Panningse Logic in de arm genomen om de software in Europa te distribueren.

Esmertecs oplossing omvat het OSVM Embedded Platform, dat op het target loopt, en de OSVM-IDE, draaiend op een ontwikkel-pc onder Linux of Windows. Het Embedded Platform bestaat uit een compacte virtuele machine, geschreven in C, die onder meer voorziet in garbage collection. Boven op deze VM draaien de applicaties, bibliotheken, drivers en andere modules, uitgevoerd in de objectgeoriënteerde programmeertaal Smalltalk. De software op het doelsysteem is ook te combineren met legacy C-programma‘s door deze als bibliotheken beschikbaar te maken op het platform.

De OSVM-IDE is een geïntegreerde ontwikkelomgeving op basis van het open source Eclipse-raamwerk. Gebruikers kunnen Smalltalk-programmatuur schrijven en deze uploaden naar het target om de code vervolgens interactief te debuggen. Verder is het mogelijk om bestaande toepassingen op afstand te beheren en zonodig te patchen.

Voor de communicatie met het Embedded Platform maakt de IDE gebruik van het Serial Line Internet Protocol (SLIP) over een bedrade of draadloze verbinding, bijvoorbeeld Bluetooth, Ethernet of GPRS. Via de zogeheten reflectieve interface van de virtuele machine krijgt de ontwikkelomgeving informatie over de status van het doelsysteem. Zo kunnen gebruikers bijvoorbeeld zien welke applicaties er op het target draaien en welke modules er zijn geladen.

Dankzij een ingebouwd realtime besturingssysteem kan het OSVM Embedded Platform direct op de kale hardware draaien. Het is echter ook mogelijk om de virtuele machine op een extern OS te zetten. Ontwikkelaars die daarin zijn geïnteresseerd, kunnen gebruikmaken van de meegeleverde portinglaag inclusief handleiding. Voor een aantal off-the-shelf besturingssystemen, zoals µC/OS, Nucleus en ThreadX, biedt dit gereedschap een eenvoudige overzetmogelijkheid. Daarbij creëert het een interface naar het threadingmechanisme van het doel-OS, zodat de VM zijn eigen scheduling kan uitvoeren. Tevens maakt de tool de communicatieprotocollen van het besturingssysteem beschikbaar om de verbinding met de IDE te kunnen realiseren.

De OSVM-technologie van Esmertec in actie

Gebruikers van OS‘en die niet worden ondersteund, bijvoorbeeld omdat de software bedrijfseigen is, kunnen terecht in Panningen. ’Logic kan dan de portinglaag leveren voor het betreffende besturingssysteem‘, verklaart Eric Jacques, salesmanager voor nieuwe technologieën bij Esmertec. ’Een andere mogelijkheid is dat Logic ons inschakelt om het platform over te zetten. Over het algemeen duurt dat niet langer dan twee tot vier weken.‘ Esmertec verwierf de OSVM-technologie een jaar geleden met de overname van OOVM (Object Oriented Virtual Machines). Dat Deense bedrijf heeft er bij de ontwikkeling expliciet voor gekozen om geen gebruik te maken van Java. ’Ze wilden een taal waarmee ze een dynamisch en schaalbaar systeem konden bouwen‘, legt Jacques uit. ’Dat streven strookte niet met J2ME, de Java-standaard voor embedded. Die definieert profielen voor bijvoorbeeld mobiele telefoons, maar is niet zo geschikt voor echt compacte ingebedde toepassingen. Met J2ME is het niet mogelijk om applicaties voldoende in te krimpen. De gekozen aanpak heeft ervoor gezorgd dat OSVM veel dichter op de hardware zit dan een JVM en daardoor betere prestaties levert.‘

’OSVM is een doorbraak voor embedded systemen met schaarse resources‘, vertelt Lars Bak, voormalig CEO van OOVM en nu als hoofdarchitect van OSVM werkzaam bij Esmertec. ’Door het design compleet anders aan te pakken wilden we een zeer compacte en snelle oplossing maken voor fabrikanten van apparaten en chipsets. OSVM is ontworpen om geavanceerde functionaliteit te bieden waar bestaande systemen doorgaans niet over kunnen beschikken.‘

Esmertec richt zich met name op consumentenelektronica en mens-machine- en machine-machinetoepassingen zoals billboards, printers, snoepautomaten, verkoopterminals en vlootmanagementsystemen. Daarnaast willen de Zwitsers ecosystemen gaan opzetten waarbij OEM-klanten het OSVM-platform aanschaffen om er vervolgens hun eigen applicaties boven op te zetten.