The LSTS software tool chain for networked vehicle systems
José Braga, Pedro Calado, Paulo Dias, Ricardo Martins, José Pinto, João Borges de Sousa (University of Porto, Portugal)
The tutorial is about the software tool chain developed by the Laboratório de Sistemas e Tecnologias Subaquáticas (LSTS) from Porto University for networked ocean and air vehicle systems. The LSTS software tool chain encompasses all functionalities required to program and control air and ocean vehicles, data-loggers and communication gateways. 
The tutorial shows, by example, how to design and implement networked vehicle systems with the help of a field-tested software tool chain encompassing communication protocols, control and navigation, on-board deliberation, and mixed initiative control. The software tool chain comprises the GNU/Linux distribution GLUED, the communications protocol IMC, the command and control unit Neptus, and the on-board embedded software DUNE. It is available, free of charge, in source form for non-commercial use. The growing community of users spans over 12 countries in three continents. The tutorial begins with an overview of the software suite, including key concepts and how components interact, and how the suite is deployed and used on LSTS's systems. We then introduce IMC, an XML-defined, message oriented, communication protocol, used for logging and interaction between systems. We describe the features of the protocol, how to use and extend it. We proceed by presenting DUNE, a self-contained run-time environment for embedded systems written in C++ that provides an operating-system and architecture independent platform abstraction layer. We describe DUNE's capabilities, including hardware-the-loop simulation. We close this part of the tutorial by showing how to write a simple DUNE's module. The next segment of the tutorial concerns Neptus, a command and control software used by human operators to interact with networked vehicle systems. Neptus supports all phases of a mission's life cycle: planning, simulation, execution, revision and dissemination. We show how to perform these tasks using a simulated vehicle and data from real missions. The tutorial proceeds with a hands-on session on how to install and use the software. Finally, a few hands-on case studies are discussed to show the end-to-end use of the software. 
The target audience includes researchers and developers in academia and industry interested in the development and deployment of advanced networked vehicle systems. Background in software development and computer languages, such as Java and C++, is essential to take full advantage of the tutorial.