High-performance visualizations and simulations for ocean environments and the mine countermeasure mission using C3L

John Phillip Sustersic, Jr., Mahmut Kandemir, Shashi Phoha, Mendel Schmiedekamp

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Scopus citations


Effectively developing complex distributed systems of interacting devices has challenged the state of the art for many years. Practical application domains like hunting for mines in the ocean using collaborating groups of unmanned, underwater vehicles have underscored the need for not only better programming languages for scalable distributed system design but also better development, modeling and visualization tools that enable the developers to more rapidly identify and avoid problems, then converge on viable solutions. The Command, Communication and Computation Language (C3L) was developed specifically for this application and utilizes a purely asynchronous, discrete-event driven architecture to achieve formal controllability and behavioral properties specifically for the application domain of unmanned, Autonomous Underwater Vehicles (AUVs) participating in a Mine Counter- Measures (MCM) mission. In such applications, collaborating AUVs act as a distributed system of autonomous agents. Effectively programming distributed systems has proven to be technically challenging, requiring a language with a foundation of strong controllability properties, the computational expressiveness approaching a general-purpose language and the ability to easily express communication between devices. C3L abstracts the complexities of communication and distributed control into a unified framework based on raising events, freeing the application developer from the tedious tasks of programming lower-level functionality and allowing him or her to focus on the higher-level behavioral requirements of the mission. The C3L language also features a rigorous yet intuitive plant model that explicitly designates state-space variables and procedures controlling precisely how controllable aspects of the statespace may change. This programming paradigm enables the developer to take a design that begins as a mathematical model and implement it almost directly as a program for evaluation. A compiler based on the Microsoft Phoenix framework for compiler design and optimization has been created to take C3L programs and generate executable code for either simulation studies or for direct implementation on actual hardware. This compiler automatically extracts task-level parallelism inherent in C3L programs and generates a multi-threaded application with no explicit actions required by the programmer; such applications are ideal for the multicore and many-core processors of today's and tomorrow's computers and embedded controllers. In complex, distributed systems, visualizations of performance and behaviors can be critically important to the overall utility of the application in either simulation studies or in actual applications. To best position C3L as a powerful language for modeling and implementing such systems, the Visualization Tool Kit (VTK) was integrated with the C3L compiler. This permits a C3L program to generate directly powerful, 4-D presentations of data in a fully configurable way. Figure 1 illustrates a representative screen shot of such a visualization, depicting two collaborating AUVs in a MCM mission in a section of the Chesapeake Bay. The bathymetry was generated directly from NOAA echo depth sounding data in a text-based XYZ format; such data is freely downloadable from the Internet. Functions were created to convert the latitude and longitude data from the depth sounding data to meters, and then convert the irregularly-spaced depth sounding data to a surface using a filtered 2D Delaunay triangulation. The complexity of the resulting surface may be reduced using a quadric decimation filter if desired. Consequently, a C3L-based simulation or application may include visualizations not only of the 'actors' in the distributed system but also in a realistic scenario capable of utilizing actual bathymetry. We present the visualization support integrated into the C3L compiler and describe the language extensions developed to leverage these capabilities in either simulation studies or in actual implementations. We show how the C3L language and its visualizationenabled compiler allow distributed system development to go from a purely mathematical state-based model through simulation studies directly to actual implementations. Finally, we present an example application from the mathematically model through a C3L simulation implementation.

Original languageEnglish (US)
Title of host publicationOCEANS 2008
StatePublished - Dec 1 2008
EventOCEANS 2008 - Quebec City, QC, Canada
Duration: Sep 15 2008Sep 18 2008

Publication series

NameOCEANS 2008


OtherOCEANS 2008
CityQuebec City, QC

All Science Journal Classification (ASJC) codes

  • Computer Networks and Communications
  • Computer Vision and Pattern Recognition
  • Oceanography

Fingerprint Dive into the research topics of 'High-performance visualizations and simulations for ocean environments and the mine countermeasure mission using C3L'. Together they form a unique fingerprint.

Cite this