Implementation concepts

leJOS structure



Figure: leJOS components

The leJOS project is based on three major parts:

  1. leJOS Toolset
    Provides tools for firmware installation(firmdl), compile (lejosc), link (lejoslink) and download leJOS Programs (lejosdl).
    Also some internal tools for developing the leJOS VM are provided (as GenerateConstants).
  2. leJOS Virtual Machine, incl. emulator
    Provides the leJOS virtual machine, incl. other platforms (e.g. Gameboy, other undergoing porting tasks), and a host platform for emulating the virtual machine.
  3. leJOS Client environment
    Provides client side libraries for interfacing to leJOS, e.g. for IR based communication and Vision support.

LDT components



Figure: LDT components

All LDT components are marked in yellow, all leJOS components are marked in light blue.

The LDT provides two API's for communicating with the toolset, which ships with leJOS.

The leJOS tools have been adapted to the introduced API's. Their functionality will be used within leJOS commandline tools, and within the Eclipse environemt, using different hooks for adpating to platform (ToolsetFactory, IProgressMonitorToolset).

The LDT provides two types of project:

Note: It has to be discussed, whether launching a program should be synchronized between RCX downloading and starting the client application.

LDT plugin concept



Figure: LDT plugins

The LDT will be structured into the following plugins (shaded in light grey) :

Plugin namePlugin description
org.lejosLibrary plugin with the leJOS version
org.lejos.toolsleJOS toolset. This plugin is independent of Eclipse, will be migrated later into the leJOS base installation.
org.lejos.ldt.coreThe LDT core implementation.
org.lejos.ldt.docsThe provided LDT documentation.