Common programming model
Multiple language support
Programms can not damage the RCX runtime system (memory access)
important for Web experiments
Ways to Go
Compiling .NET usercode with a RCX library
IL to target code compiler
IL interpreter
Sourcecode transformation
.NET Usercode and RCX Library
Original Lego firmware
No running program on the RCX
Sending Opcodes via infrared link
Not full feature set (Sensors must be polled)
All computation are made on the PC
Running as DCL Experiment (testing)
No autonomic processing
IL to Hitachi Compiler
Hitachi backend for GCC available
GCC frontend has to parse the IL (ILDASM Output at the moment)
Build a Code Tree for Backend
Includes no runtime system
Now: Calling of static functions with parameters implemented
IL Interpreter on RCX
Base runtime system which can process special prepared images
Assembly (Exe) has to be converted
Whole BCL doesn’t fit on RCX (32k – OS)
Link Assembly against a special class library
limited feature set
The image contains only references to the native RCX function
Source Code Transformation
Convert .NET Sourcecode to legOS
Converter for each .NET language required
Possibly loss of functionality and behavior
VisualRDK
GUI-based development
fit for pupils capabilities
can create source code for different targets
legOS
DCL API
C# based DCL API
Fischertechnik
Future Work
Fischertechnik in the DCL ?
GCC Frontend for IL and BCL
Virtual testbed in schools (VS + VisualRDK)
Comments