openroberta-lab icon indicating copy to clipboard operation
openroberta-lab copied to clipboard

Extend Nepo language for parallel programming

Open bjost2s opened this issue 6 years ago • 4 comments

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

bjost2s avatar Mar 20 '18 08:03 bjost2s

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.

ensonic avatar Mar 20 '18 13:03 ensonic

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:

  • one task is doing motor control
  • another one in parallel is playing music or listening to sensors

bjost2s avatar Mar 20 '18 13:03 bjost2s

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.

rbudde avatar Sep 07 '18 09:09 rbudde

Definition of done

  • a concept for discussion in a meeting
  • for this concept extend the wiki by a new entry

boonto avatar Sep 07 '18 13:09 boonto