One of the objectives of the PROTEUS project is to provide domain-specific languages (and related tools like editors, consistency checkers, etc ...) suitable to specify missions, environments and robot behaviours that have been specified by robotics experts involved in the project.
A domain-specific language (DSL) is a modelling or programming language dedicated to a particular problem domain that offers specific notations and abstractions that increase programmers productivity within that domain. Models offer a high-level way for domain users to specify the functionality of their system at the right level of abstraction. DSLs and models have historically been used for programming complex systems. However recently they have garnered interest as a separate field of study. Robotic systems blend hardware and software in a holistic way that intrinsically raises many crosscutting concerns (concurrency, uncertainty, time constraints, ...), for which reason, traditional general-purpose languages often lead to a poor fit between the language features and the implementation requirements. DSLs and models offer a powerful, systematic way to overcome this problem, enabling the programmer to quickly and precisely implement novel software solutions to complex problems within the robotics domain. The discussions under the PROTEUS project have lead to the decision of defining three domain-specific languages (DSLs):
The discussions under the PROTEUS project have lead to the decision of defining three domain-specific languages (DSLs):