Tethys Scripting Language¶
This section describes the main constructs of the Tethys Scripting Language.1
Note
- This section mainly uses TethysL syntax for illustration, but the conceptual model of the language applies regardless of the particular syntax (XML or TethysL).
- In general, the documentation structure for language constructs, keywords, grammar description, etc., is still being worked out.
Main Constructs¶
Todo
Some sort of brief general intro about the main constructs and concepts...
For the notation used in various parts to this documentation, see Notation.
Mission¶
Todo
The general structure of a mission is:
mission ⟨id⟩ {
⟨testCode⟩?
⟨description⟩?
⟨defineArgs⟩?
⟨defineOutput⟩?
⟨endRunGroup⟩?
⟨maTypeChoice⟩*
}
Aggregate¶
Todo
The general structure of an aggregate is:
aggregate ⟨id⟩ {
⟨testCode⟩?
⟨description⟩?
⟨defineArgs⟩?
⟨defineOutput⟩?
⟨runMode⟩?
⟨endRunGroup⟩?
⟨preemptive⟩?
⟨maTypeChoice⟩*
}
Behavior¶
The keyword behavior
in TethysL allows to invoke a particular LRAUV behavior,
which are defined at the C++ level.
The Behaviors section describes some of commonly
used LRAUV behaviors.
Todo
More general behavior aspects that should be explained to the user?
The general form of this construct is:
behavior ⟨behaviorId⟩ ⟦ id = "someId" ⟧? {
⟨description⟩?
⟨executionMode⟩
⟨endRunGroup⟩?
⟦ ⟨behaviorChoice1⟩ | ⟨behaviorChoice2⟩ ⟧*
}
Todo
To what level of detail to explain the grammar here?
Execution modes¶
😊
Everything you always wanted to know about parallel/sequence/progression
,
but were afraid to ask!
Todo
-
M. A. Godin, J. G. Bellingham, B. Kieft and R. McEwen, "Scripting language for state configured layered control of the Tethys long range autonomous underwater vehicle," OCEANS 2010 MTS/IEEE SEATTLE, 2010, pp. 1-7, doi: 10.1109/OCEANS.2010.5664515. ↩