Lego.Net Bernhard Rabe
Fischertechnik.NET ? Bernhard Rabe
3 Motivation Common programming model Multiple language support Programms can not damage the RCX runtime system (memory access) – important for Web experiments
4 Ways to Go Compiling.NET usercode with a RCX library IL to target code compiler IL interpreter Sourcecode transformation
5.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
6 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
7 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
8 Source Code Transformation Convert.NET Sourcecode to legOS Converter for each.NET language required Possibly loss of functionality and behavior
9 VisualRDK GUI-based development fit for pupils capabilities can create source code for different targets – legOS – DCL API – C# based DCL API – Fischertechnik
10 Future Work Fischertechnik in the DCL ? GCC Frontend for IL and BCL Virtual testbed in schools (VS + VisualRDK)