Software-Entwicklung Echtzeit für Lua-Skripte

Mit RT Lua können Hardware- und Applikations-Entwickler mittels Skripten programmieren und testen – und das mit deterministischem Verhalten.

Lua ist eine prozedurale Sprache mit einem relativ überschaubaren Wortschatz von Schlüsselwörtern. Die Befehle werden von einem Interpreter ausgeführt, der in C implementiert ist. Durch diese Konstruktion ist Lua sehr kompakt: Der Interpreter benötigt nur 120 KB. Allerdings ist die Sprache durch Module erweiterbar und kann so in ihrem Befehlsvorrat an viele Anwendungsgebiete angepasst werden. Lua wird gerne als „eingebettete“ Sprache in Kombination mit C verwendet, d.h. einige Programmteile sind in C implementiert, einige in Lua.

Kombination mit Echtzeit-Betriebssystem

Im Embedded-Bereich wird Lua gerne für das Prototyping eingesetzt, wo die einfache Syntax zu schnellen Ergebnissen führt. Wenn die Ergebnisse gut sind, spricht nichts dagegen, den Code auch für ein Produktivsystem zu übernehmen – außer: die mangelnde Echtzeitfähigkeit. Da Lua auf die Zwischenschicht des Interpreters angewiesen ist, der eine inkrementelle Garbage Collection durchführt, können Ausführungszeiten zur Laufzeit nicht garantiert werden.

Mit RT Lua hat die Firma Profimatics nun ein Software-Paket (Bild) geschnürt, das diesen Mangel behebt. Dazu kombiniert Profimatics Lua mit dem Echtzeit-Betriebssystem INtime von TenAsys. Für die Echtzeitfähigkeit nutzt RT Lua die APIs von INtime. Diese Kombination verbindet die Vorteile der Programmiersprache Lua wie Geschwindigkeit, leistungsfähige Befehlen und gute Erweiterbarkeit mit dem Echtzeit-Betriebssystem INtime. Der Anwender kann eine Vielzahl von Funktionen nutzen – von der Interprozesskommunikation über den direkten Zugriff auf die vorhandene Hardware (I/O, PCI-Bus) bis hin zu TCP/IP-Kommunikation.

RT Lua kommt vor allem für das unkomplizierte Rapid Prototyping und Testen von Echtzeit-Systemen infrage, womit beispielsweise die Inbetriebnahme spezieller Realtime Hardware mit wenigen Skriptkommandos möglich ist. Damit wendet sich RT Lua unter anderem an Hardware-Hersteller und OEMs, die mit geringem Aufwand die Echtzeit-Tauglichkeit ihrer Produkte evaluieren wollen. Dank RT Lua gelingt dies mit Hilfe weniger Befehle und ohne das aufwändige Einbinden von Treibern, die vorher in C oder C++ geschrieben werden mussten.