-
Notifications
You must be signed in to change notification settings - Fork 122
Develop a generic Interpreter for The Simulator's Byte Code
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
Home | Community | Installation | Team
Installation Tutorials
- Instructions to run a openroberta lab server using DOCKER
- Instructions to run the Open Roberta Lab Server natively on ubuntu ‐ not recommended
- Raspberry Pi 2/3/4 and the Open Roberta Lab
- EV3 and leJOS
- EV3 and ev3dev
- Creating the OR leJOS image
- Arduino Create Agent
- Mbed DAL: Generation and automation
Development
-
Workflows
-
Architecture
-
Blockly
-
Software engineering issues
-
Misc
-
Notes on robots
Textual Representation
Contribution
Discussions on future development