Splash: A Graphical Programming Framework for an Autonomous Machine.

2019 
Autonomous machines have begun to be widely used in various application domains due to recent remarkable advances in machine intelligence. As these autonomous machines are equipped with diverse sensors, multicore processors and distributed computing nodes, their software architecture has become more and more complex. This leads to a demand for a new programming framework that has an easy-to-use programming abstraction. In addition, such framework requires support for genuine end-to-end timing constraints and run-time detection of their violation. In this paper, we present a graphical programming framework named Splash that explicitly addresses the programming challenges that arise during the development of an autonomous machine. We set four design goals to solve these challenges. First, Splash must provide an effective programming abstraction that supports the stream processing of an autonomous machine. Second, it must enable programmers to specify genuine, end-to-end timing constraints and monitor the violation of such constraints. Third, it must support exception handling, mode change and sensor fusion. Finally, it must support performance optimization and tuning during system implementation. We present the syntax and semantics of the key language constructs of Splash and show how we achieve our design goals. To show the utility of our programming framework, we have written an adaptive cruise control (ACC) application in Splash as an example. We also present the findings that we have obtained during the development process of the ACC application using Splash.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    7
    References
    0
    Citations
    NaN
    KQI
    []