OpenRoberta / openroberta-lab

The programming environment »Open Roberta Lab« by Fraunhofer IAIS enables children and adolescents to program robots. A variety of different programming blocks are provided to program motors and sensors of the robot. Open Roberta Lab uses an approach of graphical programming so that beginners can seamlessly start coding. As a cloud-based application, the platform can be used without prior installation of specific software but runs in any popular browser, independent of operating system and device.
Apache License 2.0
127 stars 122 forks source link

Extend Nepo language for parallel programming #143

Open bjost2s opened 6 years ago

bjost2s commented 6 years ago

The idea is to offer additional start-blocks for all systems that are capapble to execute threads / task in parallel.

ensonic commented 6 years ago

The main issue that needs to be considered is accessing the same resource from multiple 'threads', e.g. one threads does [turn left 90°] and the other thread does [turn right 45°]. Classically the one executed later will overwrite the previous call and win. This is hard to debug.

bjost2s commented 6 years ago

Teacher who were asking for this feature told me, that it is ablolutely fine, that users take care about this problem and learn how to use it. Also e.g. Lego Software Ev3 offers this for a long time. The main usecase for this is:

rbudde commented 6 years ago

the first step should be to write a concept about which kind of parallel execution we want to have and check the possibilities to implement this for different robots. Parallel execution is a lot about communication between parallel executing unit. Furthermore it must be discussed whether associating parallel units with conditions (events, timer) has to be supported or not.

boonto commented 6 years ago

Definition of done