Skip to content

Develop a generic Interpreter for The Simulator's Byte Code

Reinhard Budde edited this page Aug 3, 2023 · 3 revisions

preconditions: experience with the programming languages Java, Python, C++, Javascript; interest in algorithm and data structures; interest in software design

This project is not high on our wish list.

context: OpenRoberta is a learning platform. It uses a graphical programming language (based on blockly) and has code generators for Java, Python and C++, which generate code for many robots. A simulator written in Javascript is available, which executes byte code (self-defined, represented as JSON objects), that is generated by a simulation code generator.

idea: an alternative to generate code in the target languages Java, Python and C++, then compile and link it and then upload the binary to the robot, is: use the generic byte code of the the simulation code generator in all robots. If byte code interpreter were available written in Java, Python and C++ (based on theJavascript interpreter), only the generated byte must be sent to the robot. Programming the robot would be faster and more efficient. The existing Javascript byte code interpreter is a proof, that this is feasible.

task: analyse the byte code and the Javascript interpreter. There are many possibilities to improve the design and the code.

Rewrite the interpreter in Java, Python, C++. This should be done test-driven. High coverage by tests is expected.

Modify the existing old uploaders of the binaries to the robots: they transfer the byte code only and the byte code is used by the interpreter written.

note: the project is about programming and testing. It is not closely related to embedded systems (even if these are the target of the work). A course in compiler design would help

contact: reinhard.budde AT iais.fraunhofer.de

Clone this wiki locally