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,
Dolphin: A task orchestration language for autonomous vehicle networks, IROS'18
- IROS'18 companion video (extended version) - click the image below.
-
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.
- Keila Lima, LSTS/FEUP, previously a MSc student at DCC/FCUP.
- Eduardo R. B. Marques, DCC/FCUP and CRACS/INESC-TEC
- José Pinto, LSTS/FEUP
- João B. Sousa, LSTS/FEUP
- Nuno Neto, DCC/FCUP, enabled support for the MAVLink protocol.