Interview mit Régis Latawiec von IS2T auf der embedded world 2014

Java als "Weltsprache" für Embedded-Systeme

Redaktion JAXenter
© Nürnberg Messe/Frank Boxler

Auf der embedded world 2014 machten wir am Messestand von IS2T Halt, einer französischen Softwareschmiede, die unter anderem Java Virtual Machines für individuelle Einsatzszenarien baut. Mit Régis Latawiec, Chief Operating Officer bei IS2T, sprachen wir über die Rolle von Java im Internet der Dinge, die zunehmende Virtualisierung von Embedded-Systemen – und darüber, wie der Entwicklungsprozess dadurch agiler wird. 

JAXenter: Welche Art von Dienstleistungen bietet Ihr Unternehmen an?

Régis Latawiec: IS2T ist ein Software- Editor, der Lösungen für die Software-Entwicklung in Embedded-Systemen bietet. Unser Flaggschiff ist die virtuelle Plattform MicroEJ, die eine einheitliche Ausführungsumgebung für eine Vielzahl von Embedded-Prozessoren bietet. Natürlich können virtuelle Plattformen andere Sprachen als Java verwenden, aber wir haben uns für Java-Technologie entschieden, weil es eine der „Weltsprachen für Anwendungen“ ist und eine große Community von mehr als 9 Millionen Entwicklern bietet. Wir glauben, dass Java eine gute Wahl ist, wenn es darum geht, Virtualisierungsmöglichkeiten für objektorientiertes Programmieren anzubieten, vor allem im Zusammenspiel mit dem nativen Pendant C.

Regis LatawiecRégis Latawiec ist seit 2007 bei IS2T. Davor arbeitete er für verschiedene Halbleiter-Hersteller. Als Application Department Manager und Product Marketing Manager hat er Märkte für Mikrocontroller im EMEA-Raum erschlossen. In ständigem Austausch mit Vertriebsteams betreute er außerdem Produktlinien basierend auf 32-bit-Mikrocontrollern vom ersten Design bis zu Markteinführung und Verkaufsstart (Bild: IS2T).

JAXenter: Wann wurde Ihr Unternehmen gegründet?

Latawiec: Um 2006. Fred Rivard, CEO von IS2T, war zuvor bei OTI und Teil des Eclipse-Java-Compiler-Teams. Ein paar Jahre später, beim IBM-Java-Virtual-Machine-Team, hatte er wieder verstärkt mit Java-Technologie-Design zu tun. Mit der ersten Finanzierungssumme von 1 Millionen Euro schufen wir die MicroEJ-Technologie und unsere ersten Produkte, mit denen wir individuell gestaltete Java-Plattformen für die Industrie anboten.

Im Jahr 2009 starteten wir Partnerschaften mit Software- und Chipherstellern, also innerhalb des Embedded-Ökosystems, und begannen mit der Lieferung einsatzbereiter Standardplattformen. Der Embedded-Markt ist sehr fragmentiert, da es viele verschiedene Typen von Mikroprozessoren, RTOS, Kommunikations-Stacks, User-Interface-Stacks, Linker und so weiter gibt. Weil sie geringere Komplexität und eine Erleichterung des Entwickelns von neuen Produkten wünschten, fragten Kunden aus verschiedenen vertikalen Märkten nach generischen Standard-Software-Plattformen. Schon bald waren wir gefordert, binnen kurzer Zeit verschiedene Java-Plattformen entwerfen, die auf Java Virtual Machines (JVM) basierten und auf jeder Art von Mikroprozessoren oder Mikrocontrollern laufen konnten. Deshalb entwickelten wir die entsprechenden Tools, Prozesse und Software-Komponenten intern. Heute haben wir mehr als 20 verschiedene Java Virtual Machines, die zwar auf unterschiedliche Märkte zugeschnitten sind, aber eine einheitliche Schnittstelle bieten, mit der man Embedded-Java-Anwendungen entwickeln kann. Obwohl wir vor allem auf Embedded-Prozessoren abzielen, können wir neue einsatzbereite Java-Plattformen für alle mögliche Architekturen innerhalb von nur wenigen Monaten herstellen. Soweit wir wissen, ist keiner unserer Wettbewerber dazu in der Lage.

Schon bald waren wir gefordert, binnen kurzer Zeit verschiedene Java-Plattformen entwerfen, die auf Java Virtual Machines (JVM) basierten und auf jeder Art von Mikroprozessoren oder Mikrocontrollern laufen konnten.

JAXenter: Mit wie vielen Mitarbeitern?

Latawiec: Eigentlich nur mit ein paar Leuten. Eine Menge Faktoren spielen dabei eine Rolle: die Mikroprozessorarchitektur, die RTOS-Komplexität, die Hardware-IP-Blocks – z. B. die Bus-Accelerator, Direct Memory Access, Pipelines –, die in dem Chip enthalten sind.

JAXenter: Wie ist das möglich?

Latawiec: Ein Knackpunkt bei der Softwareentwicklung ist die Expressivität der verwendeten Programmiersprache. Wenn man sich bekannte Software-Unternehmen ansieht, fällt auf, dass jedes seine eigene Sprache verwendet: Oracle hat Java, Microsoft das Java-ähnliche C#, SAP hat Abab usw. Wir verfolgten eine ähnliche Strategie und wollten unsere Programmiersprache für die Entwicklung von Java Virtual Machines optimieren. Heute bringt uns das den Vorteil, dass wir eine hohe Produktivität und eine außergewöhnliche Performance beim Ausführen von Programmen haben. Es ist vermutlich nicht überraschend, dass es eine Erweiterung der C- und der Java-Sprache ist, deren Vorteile in einer Sprache vereint sind.

JAXenter: Können Sie mehr über diese Sprache sagen?

Latawiec: Im Moment leider nicht, da das sie ein wesentliches Asset unseres Unternehmens ist. Zu gegebener Zeit werden wir die Sprache aber öffentlich machen.

JAXenter: Wo liegen Ihre Märkte?

Latawiec: Wir konzentrieren uns auf Design-to-Cost-Embedded-Systeme in verschiedenen Größenordnungen – von kleineren Connected Devices mit HMIs bis hin zu komplexeren IoT-Lösungen. Wir bieten keine virtuelle Plattform, weder für PCs noch für Server, aber wir sind in etlichen Marktsegmenten aktiv, da unsere Technologie so klein ist, dass auf jede Art von Mikroprozessor passt. Unsere Konkurrenten liegen auch im Bereich Smartphones und Tablets.

In der Vergangenheit bauten Firmen meist ihre eigenen Softwareplattformen auf, aber in ihren Systemen war alles eng miteinander verzahnt und dementsprechend schwer zu warten. Heute haben sich die Dinge geändert, und Unternehmen können einfach einsatzbereite Plattformen kaufen, um Zeit und Ressourcen zu sparen. Der Markt ist jetzt reif genug und offen gegenüber Outsourcing-Strategien, wenn es darum geht, Embedded-Geräte schnell auf den Markt zu bringen. 

JAX 2014Einen „Deep Dive“ in die Java-SE-Programmierung für ARM-Prozessoren bietet Stephen Chin (Oracle) auf dem Internet of Things Day der JAX 2014. Am Abend besteht dann die Gelegenheit, die erworbenen Kenntnisse in Chins Hackerspace anzuwenden. Mehr unter: http://jax.de/2014/special-days/internet-things-day 

JAXenter: War das abzusehen, als Sie die Firma gründeten?

Latawiec: Auf jeden Fall, wir haben diesen Trend schon früh erkannt. Als die Java-Anwendungsplattformen in den frühen neunziger Jahren aufkamen, war Java als Sprache äußerst beliebt. Nicht nur, weil es dem objektorientierten Programmier-Paradigma folgt und eine Virtual Machine bietet, sondern auch aufgrund seiner Produktivität und Skalierbarkeit.

Seit damals hat sich der Embedded-Markt weiterentwickelt – wenn man z.B. heute den ARM Cortex M4 nimmt, hat der in etwa die gleiche CPU-Leistung wie ein PC von damals. Die Design-Prozesse, die sonst bei PCs oder Servern verwendet werden, kommen jetzt auch  beim Embedded-Software-Design zur Anwendung: Virtuelle Anwendungsplattformen sind heutzutage eine sehr verbreitete Technik.

Dank der Portabilität von Java können wir ein Simulationssystem für Prototypen und zur Validierung bieten. Wenn ein Kunde einen Prototyp seines Systems auf dem PC fertig gestellt hat, kann er normalerweise nicht die tatsächlichen, vom Embedded-System verwendeten, Sensoren oder Aktoren benutzen. IS2T bietet die Möglichkeit, die Simulation so mit virtuellen Sensoren oder Aktoren zu erweitern, dass man Software-Anwendungen vollständig auf dem PC testen kann, bevor man sie auf dem Embedded-System deployt. Der Simulator zeigt zudem den für die Software benötigten Memory-Footprint an, so dass man zielsicher das am besten geeignete Hardware-System auswählen kann, um die vom Marketing-Team gewünschten Funktionen auszuführen. Wenn Prototyping möglich ist und wenn die fürs Prototyping verwendete Technologie bis zum Ende des Prozesses gleich bleibt, können Software -und Hardwaresysteme parallel designt werden. Das ermöglicht auch die Umstellung auf agile Prozesse wie Extreme Programming, Scrum usw. MicroEJ ist also nicht nur eine Technologie, sondern liefert auch einen Entwicklungsprozess, der auf eine schnelle Markteinführung und eine genau aufs Gerät zugeschnittene Stückliste ausgelegt ist.

[ header = Internet der Dinge, OSGi, Hypervisoren ]

JAXenter: So viel zu Embedded Java. Wie sehen Sie das Internet der Dinge allgemein? 

Latawiec: Unsere Vision vom Internet der Dinge ist durch Portabilität und Ubiquität geprägt. „Compile once, run anywhere“ ist akzeptabel, solange auf der Hardware Java läuft. Das ist es, was wir haben kommen sehen: dass jedes Gerät Java ausführen kann, vom Ein-Dollar- Mikrocontroller bis zur 15-Dollar-Variante. Wenn man erst einmal weiß, dass jedes Gerät Java-Technologie ausführen kann, kann man ein Java-Programm in der Cloud, auf einem Gateway oder auf Edge-Geräten bereitstellen. Heute arbeiten wir mit Gateways, die gerade einmal so groß sind [zeigt ein Rechteck der Größe von zwei Kreditkarten], mit denen Sie jedes Gerät in Ihrem Haushalt verbinden können. Ähnliches gilt für Wearables. Hier [auf der embedded world] sind z. B. Nike oder Adidas. Wird ein solches Gerät verwendet, werden Daten gesammelt. Dann ist eine konsistente Zusammenführung komplexer Daten nötig, um Ihre Tätigkeiten überwachen zu können. Leider kann das nicht remote von Ihrem Smartphone gesteuert werden, weil es augenblicklich, passieren muss und nicht immer drahtlose Kommunikation umfasst. Ein tragbarer Gateway ist die Lösung. Deshalb konzentrieren wir uns auf kleine Speicher-Footprints. Sie wissen wahrscheinlich über OSGi Bescheid?

Das ist es, was wir haben kommen sehen: dass jedes Gerät Java ausführen kann, vom Ein-Dollar- Mikrocontroller bis zur 15-Dollar-Variante.

JAXenter: Ja. Ich erinnere mich, gelesen zu haben, dass Sie Mitglied der OSGi Alliance sind.

Latawiec: Hinter dem OSGi-Framework steht eine große Community von Ingenieuren. Alle Eclipse-Plug-ins sind OSGi-basierte Komponenten. Aber OSGi muss auf einer Infrastruktur aufsetzen, die die von einem Dienst verwendeten Ressourcen kontrolliert – RAM, CPU-Last, Daten, I/O-Zugang. Entweder haben Sie eine entsprechende Auswahl an kryptografischen Methoden zur Auswahl, was das Ganze allerdings kompliziert macht. Oder Sie stellen eine Java Virtual Machine bereit, die jeden Anbieterdienst, jeden Objektinhaber, jeden Urheber einer Aufgabe usw. identifizieren kann, so dass Sie die Dienste mithilfe eines integrierten Hypervisors regulieren. Genau das tun wir.

JAXenter: Können Sie das näher erläutern?

Latawiec: Die Java Virtual Machine kann Dienste in einem geschützten Modus ausführen. Der Kern der Java Virtual Machine verfolgt alle Services als „Features“ (eine Gruppe von OSGi- Bundles). Wenn eine Funktion auf eine andere zugreifen muss, wird das über den Kernel abgewickelt. Der Kernel beherrscht alles. Er ist wie ein Hypervisor. Wenn ein Feature beginnt, sich seltsam zu verhalten, kann der Kernel es abwürgen und wieder in den vorherigen Zustand zurückversetzen, wie OSGi, aber sicher. 

JAXenter: Letztes Jahr wurde auf der JavaOne bekanntgegeben, dass JavaSE und JavaME vereinheitlicht werden. Welche Konsequenzen hat das für Java und das Internet der Dinge?

Latawiec: Oh, das ist sehr gut für die gesamte Java -Ökosystem. Wir sind sehr glücklich, dass Oracle beschlossen hat, alles in einer Reihe von Kern-APIs zu vereinheitlichen, die auf allen Geräten, von Java SE für den PC bis hin zu MicroEJ-basierten Geräten, verwendet werden können. 

JAXenter: Sie glauben also, Java kann endlich sein Versprechen „Write once, run anywhere“ halten?

Latawiec: Absolut. Darum sind wir hier. Unsere erste virtuelle Maschine lief auf einem 8-Bit-Mikrocontroller. Wir erweiterten sie für 32-Bit-Core-Architekturen wie die ARM Cortex-M-Serie, die jetzt ganz gängig ist. Unser Ausgangspunkt war eine sehr eingeschränkte Hardware, und wir haben versucht, eine Architektur zu erstellen, die überallhin portiert werden kann. Mittlerweile sind wir bei Cortex M0+ bis Cortex A8 und massiven Multi- Core-Systemen angekommen. 

JAXenter: Heute wurde ARM der Embedded-Award für seine neue Technologie verliehen, den V8R, auf dem mehrere Betriebssysteme laufen können. Wie, denken Sie, wird diese Innovation die Embedded-Welt insgesamt beeinflussen?

Latawiec: Es wird die Art, wie man programmiert, verändern. Für IS2T ist das sehr gut, da eine Java Virtual Machine grundsätzlich auf eine Vereinfachung der Software-Design-Ansätze abzielt, die mit Multi-Core-Systemen immer komplexer werden. Mit einer Java Virtual Machine müssen Entwickler nichts über die Hardware wissen. Wir sind an in vielen Projekten mit 256 bis 1.024 Kernen pro Chip beteiligt. Für diese besonderen Projekte können wir ein einheitliches Programmiermodell zur Verfügung stellen, auch wenn es sich unter der Haube um ein sehr komplexes System handelt.

JAXenter: Was sind derzeit die größten Herausforderungen für den Embedded-Markt?

Latawiec: Java-Entwicklern den Embedded-Bereich schmackhaft zu machen – und umgekehrt [lacht]. 

Das Interview wurde zuerst auf JAXenter.com veröffentlicht. Aus dem Englischen von Selim Baykara. 

Aufmacherbild: Nürnberg Messe / Urheberrecht: Frank Boxler NuernbergMesse

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: