Dolphin is a task orchestration language for autonomous vehicle networks. A Dolphin program expresses an orchestrated execution of tasks defined compositionally for multiple vehicles. Building upon the base case of elementary one-vehicle tasks, the built-in operators include support for composing tasks in several forms, for instance according to concurrent, sequential, or event-based task flow.
The language is implemented as a Groovy DSL, facilitating extension and integration with external software packages, in particular robotic toolkits. We have done so for the LSTS toolchain and MAVLink-enabled vehicles.
Keila Lima, Eduardo R. B. Marques, José Pinto, João B. Sousa, Programming networked vehicle systems using Dolphin - Field tests at REP’17, IEEE/MTS Oceans’18. This is a short paper describing field tests we conducted during REP’17.
Keila Lima, Dolphin: A domain-specific language for autonomous vehicle networks, MSc Thesis, MIERSI/DCC/FCUP, 2017, supervised by Eduardo R. B. Marques and José Pinto.
Nuno Neto, MAVLink plugin for the Dolphin language, BSC project report, 2020, supervised by Eduardo R. B. Marques.