REACT: Event-driven Asynchronous Concurrent Turing-complete

Software development for Robotics is challenging. Programming language support is balkanized (non-standard and lacking support), resulting in environments with a steep learning curve, particularly for hobbyists. The innate complexity of concurrent programs in addition to the abstraction gab between the problem domain level and the implementation level further exacerbate the problem. REACT (recursive acronym for REACT: Event-driven Asynchronous Concurrent Turing-complete) is a programming language designed to make robot programming intuitive and easy to learn, applicable to a wide range of applications, while providing powerful expressiveness. REACT proposes a new model-based programming paradigm that enables programmers to write concurrent and abstract domain programs as if they were simple sequential programs, with atomic actions updating a single, shared global state. Additionally, REACT allows programmers to declaratively define security invariants and policies. The REACT runtime environment executes the program and is in charge of ensuring the high-level semantics of models, automatically handling (and hiding from the programmer) complications such as network communication, serialization, synchronization, security, concurrency and races.