Modular Programming Techniques for Distributed Computing Tasks

Abstract

This paper describes design patterns used in developing a software platform for mobile robot teams engaged in distributed sensing and exploration tasks. The goal of the system presented is to minimize redundancy throughout the development and execution pipelines by exploring the application of a strong type system to both the collaborative development process and runtime behaviors of mobile sensor platforms. The solution we have implemented addresses both sides of this equation simultaneously by providing a system for self-describing inputs and outputs that facilitates code reuse among human developers and autonomous agents. This well-defined modularity allows us to treat executable code libraries as atomic elements that can be automatically shared across the network. In this fashion, we improve the performance of our development team by addressing software framework usability and the performance and capabilities of sensor networks engaged in distributed data processing. This framework adds robust design templates and greater communication flexibility onto a component system similar to TinyOS and NesC while avoiding the development effort and overhead required to field a full-fledged web services or Jini-based infrastructure. The software platform described herein has been used to field collaborative teams of UGVs and UAVs in exploration and monitoring scenarios.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Aug 01, 2004
Accession Number
ADA515704

Entities

People

  • Anthony Cowley
  • Camillo J. Taylor
  • Hwa-chow Hsu

Organizations

  • Moore School of Electrical Engineering

Tags

Communities of Interest

  • Air Platforms
  • Autonomy
  • Energy and Power Technologies
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Abstracts
  • Collision Avoidance
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Computing System Architectures
  • Data Processing
  • Detectors
  • Distributed Computing
  • Frequency
  • Infrastructure
  • Networks
  • Operating Systems
  • Platforms
  • Sensor Networks
  • Software Design

Fields of Study

  • Computer science
  • Engineering

Readers

  • Agent-Based Social Robotics and Mobile-Assisted Learning in Virtual Environments.
  • Distributed Systems and Data Platform Development
  • Software Engineering.

Technology Areas

  • AI & ML
  • AI & ML - Autonomous Systems
  • Autonomy
  • Autonomy - Autonomous System Control