As a company, RoboCom has both very focused domain expertise, as well as broad technical experiences. These experiences allow us to perform at all phases of the software development life cycle: proposal, planning, budgeting, definitions, analysis, modeling, design, coding, implementation, testing, integration, deployment and maintenance. Our experience includes developing real-time embedded systems, desktop distributed database enterprise systems, fat and thin client interfaces, client control applications, dedicated test tools, HMIs, modeling/simulation, network emulation, network impairments and re-purposing open source software.
A strength of our company is our agility, adaptability, and versatility resulting from these collective work experiences. Our work experiences provide a solid foundation for providing comprehensive solutions across broad technical domains in a world of ever evolving technologies.
The following list of projects in reverse chronological order are ones that we have completed since forming the company, as well as significant projects from our past. We have been involved in developments for decades, therefore this is not a comprehensive list.
The Extended Mobile Ad-hoc Network Emulator (EMANE) real-time network emulation framework provides real time network emulation of complex communication devices and custom radio waveforms.
We implemented and developed a real-time network emulation framework for analyzing and testing the performance of a multi-node network using a Networking Waveform based radio waveform. This implementation required the development of thousands of lines of Linux bash shell scripts to orchestrate and control the full network emulation environment based on using LinuX Containers (LXCs) for virtualization. Software components executing within individual Linux containers included EMANE software components, custom networking radio software components, and other custom developments.
The EMANE network emulation modules (NEM) protocol stack supports customization through the development of custom “shim” layers that exist as part of the executing NEM software stack. A custom shim layer is inserted between component layers in an NEM layer stack without requiring those components to have knowledge of its presence. Custom MAC Layer and PHY Layer shims were required to support integration of value added functionality into the baseline EMANE network emulation stack in a benign manner. The MAC Layer shim was responsible for eavesdropping on the control messaging passing through the network emulation stack, and whose content is serialized using Google Protobuf technology, decoding, and then forwarding content on to a detector application.
Frequency agile communications systems need to be tested with interfering sources, or jammers. This development effort required the development of a custom jammer "shim" which provides jamming interference into the EMANE simulation to evaluate the system response. The jammer shim is configured to support multiple operating modes such a fixed frequency, sweep frequency, and hop frequency sets with controllable signal levels, noise levels, bandwidths, frequencies, and sweep or hop rates.
Analysis of emulation results was supported by the development of a standalone custom EMANE over the air (OTA) real-time spectrum and waterfall viewer application as described in the post EMANE Real-Time Spectrum and Waterfall Viewer.
For more information on the design and development of the EMANE network emulation scripts and the custom MAC and PHY Layer shims, refer to the post EMANE Network Emulation.
For more information on the development of a full featured EMANE Jammer Network Emulation Module, refer to the post EMANE Jammer Network Emulation Module.
All custom software was written in C++ compatible with the EMANE framework, C++ using the Qt framework for the EMANE viewer, or Linux bash shell scripting for creating, configuring, managing, and operating the EMANE emulation environment.
We developed the network stack for an Small Business Innovation Research (SBIR) Phase 2 research and development effort to create a low latency, high throughput, software defined radio (SDR) resilient to RF jamming. This network stack, which operates on both the control and data planes, was developed in C++/Qt code and implemented as a Linux user space daemon.
The radio software executes on a network of Xilinx ZC706 multi-core ARM based hardware platforms operating under embedded Linux and Raspberry Pi 3 ARM devices used for digital domain testing using wired connections prior to RF interface integration. A software defined transceiver for the network consists of a combined Analog Devices FMCOMMS dual-transceiver FMC card with a Xilinx ZC706 Development kit. The ZC706 is a Xilinx Zynq-based system similar to the more common ZedBoard and ZC702 development kits except that it provides significantly more programmable logic space.
The software implements smart bridge/firewall technology which limits Ethernet Layer 2 packets transmitted over the RF interface from the wired interface to only packets destined for known host devices passively learned from the network, packets necessary for network discovery and management, or packets filtered by Ethernet frame type.
The software stack provides SNMP agent support with compatibility to legacy radio and configuration persistence to XML formatted files. The technology includes CPU pinning and real time thread priorities to obtain closer to real time performance on a generalized embedded Linux operating system distribution which provides support for user data rates up to 100 Mbps.
The headless daemon provides a full featured and mature web interface developed for “mobility first” using the popular Twitter Bootstrap web framework which is served from a single tier integrated web server. The web interface provides basic browser authentication over SSL and role based access to content. The web interface provides a full range of functionality including viewing the current SNMP supplied configuration, importing and exporting dynamic configuration via an integral FTPS/FTP client, viewing the current log file and setting the log verbosity runtime, loading SSL PEM files for the HTTPS protocol, viewing runtime statistics, creating and managing both web and SNMP users, etc.
The radio software provides standard Linux logging with integral log rotation and user settable log levels. Advanced logging is provided with highly detailed microsecond precision signal timing (as a software logic analyzer) by way of Value Change Dump (VCD) generated output with web settable signal capture filters to support remote diagnostics. For more information on advanced trace logging, refer to our embedded viewer product.
The application includes a fully integrated FTP/FTPS client to allow for importing and exporting dynamic configuration and log files. Secured interfaces include support for the HTTPS, FTPS, and the SNMPv3 protocols.
Distribution, configuration, and updates of the software components to various hardware platforms are by way of a developed Debian (.deb) package.
More information on this development is described in the news post Maritime Radio SBIR Phase 2.
A customized Time Division Multiplexing channel access protocol for the maritime environment was integrated into the RoboCom Low Latency Radio IP Network Stack. The channel access protocol was developed in the RoboCom common code architecture supporting both radio hardware and OPNET modeling and simulation (M&S) tools.
For more information on our OPNET capabilities, refer to our OPNET Wireless Networking Suite.
A leading developer and manufacturer of high performance aeronautical telemetry products was devoting significant resources with platform support for its legacy fat client based radio control application under Windows. The solution was to create a thin client web equivalent application, which being browser based, avoided the issues associated with fat client applications (incompatible graphics drivers and Windows DLL Hell). The challenge for the web based implementation was supporting real time imaging of six concurrent graphs over a browser interface at a refresh rate that was both pleasing to the eye and technically possible on a typical modern day laptop to desktop computer using standard web browsers.
We created an embedded Arch Linux based web interface providing real time streaming of RF receiver status as complex eye pattern and power spectral density plots (6 concurrent plots at 8 frames per second), configuration, and control for a high performance aeronautical telemetry receiver.
The site includes a page lockout scheme to ensure integrity of changes from multiple concurrent web users. A network page displays real time information for all similar radios found in the network obtained through active periodic messaging. Both client and server side input validation is provided. Loading and saving of user defined preset configurations to the current radio configuration is supported as well as importing and exporting of radio configuration to/from external JSON formatted files.
The web site interfaces with a Front Panel Controller C#/.NET/Mono application running under embedded Arch Linux via SQLite database tables, database triggers, and custom binary files including images with appended metadata, and radio network status as a packed binary file.
For more information on our web based embedded real time control and status interface developments, refer to our Web Monitor & Control Product.
To support the development of the iNET Link Manager, we developed a real time radio emulator cross platform GUI test application in Qt/C++ to simulate the network interface messaging and timing of RF transceivers. The radio emulator executes as a real-time application on a cluster network of Raspberry Pi ARM platforms running under UbuntuMATE or Linux desktops under CentOS/RHEL.
Contents for the various generated messages come from loaded spreadsheet files which define message content and repeat patterns to allow for soft coding different test scenarios and conditions.
The radio emulator generates real time signal timing via Value Change Dump (VCD) file generation for recording and analysis of precise signal timing.
For more information on our real-time radio emulator developments, refer to our radio simulator products.
An Ethernet network is subject to various network impairments which can include duplicate, dropped, and delayed packets. To facilitate evaluating system software networking behavior under impaired conditions, we developed a network impairment application which executes on an embedded or desktop Linux platform as part of a network impairment test lab. This application allows precise control of Ethernet packet duplication, drops, and delays to evaluate how legacy and currently being developed system software reacts.
As part of this effort, it was necessary to diagnose and rework a legacy multiple man year developed Windows based C# fat client .NET based application used to configure, control, and monitor a telemetry receiver network to provide resiliency to Ethernet network defects.
For more information on network impairment, refer to our network impairment software product. If you need help in setting up a network impairment test lab, or reworking a legacy application to handle network defects, we have experience with these issues and can help.
We developed embedded system software and simulation components for the Defense System Networked Radio (DSNR) program's networked radio. The DSNR program was aimed to replace Patriot missiles in the United States. The DSNR radio, and by inference the DSNR radio simulator, has data and control plane exchanges with a host device by way of Cisco routers in a Mobile Ad Hoc Network (MANET) configuration. This is part of Cisco’s Mobile Ad Hoc Networks for Router-to-Radio Communications strategy. In this Cisco strategy, the PPPoE protocol, which stands for Point-to-Point Protocol over Ethernet, is extended to enable a router or radio to query or report link-quality metric information.
This networked radio uses the PPPoE protocol as a network protocol for encapsulating Point-to-Point Protocol (PPP) frames inside Ethernet frames. We researched, designed, developed, and documented all PPPoE specific threads, interfaces, and routines to support this real time multi-threaded military radio which executes under embedded MontaVista Linux on a PowerPC platform. Cisco routers are used extensively within this mesh network. As such, we developed all of the Cisco router configurations to support the MANET network configuration and testing of multiple radios using the PPPoE protocol with credit flow extensions to control user data flows.
We were members of a design team which created an embedded Linux process which implemented a dynamic TDMA scheduler for the DSNR network radio based on obtaining Cisco router's dynamic view of the network tree coupled with user specified required bandwidths for data flows defined by link endpoints. To obtain a dynamic tree view of the network, networked Cisco routers’ unicast and multicast router tables content were obtained periodically via SNMP commands. The bandwidths required for end to end and multicast connection data flows were then overlaid upon the live network topology to determine the bandwidth allocations per each network point to point link.
As a risk abatement measure, large defense program recognize the benefits of emulation/simulation in advance of the development of an embedded system. Emulation or simulation of a radio allows developers to prototype the system software, perform preliminary software design, evaluate network protocols, system timing, and interfaces prior to the development of a custom PCB and system software.
We developed a real time multi-threaded GUI application in C++/wxWidgets which executes on RedHat Fedora Linux that emulates the network interface, protocols, and delay timing of a custom developed radio. This application is used in advance of the development of the actual radio and much of the developed software eventually became part of the embedded radio software stack.
The radio emulator simulates Mobile Ad Hoc Network (MANET) radios and provides PPPoE connections to Cisco routers for router-to-radio communications and PPP Data Link Layer bridging for peer router-to-router communications. The developed software fully implements credit flow for traffic control, and quality of service (QoS) extensions to prioritize certain classes of data (per RFC4938).
To inform an upstream SNMP Manager, this application generates event notifications via SNMP traps, and SNMP is used for customizing radio parameters such as neighbor lists, packet latencies, packet drops and bandwidth allocations per link.
For more information on our radio emulator developments, refer to our radio emulator products.
The Wideband Networking Waveform (WNW) is a military radio protocol for mobile ad hoc networking (MANETs) for software defined radios. It was developed as part of the Joint Tactical Radio System (JTRS) program of the U.S. Department of Defense, and was intended for US and NATO military use. The WNW waveform uses an OFDM physical layer, and with variable frequency usage to best utilize the available bandwidth. The waveform uses the Software Communications Architecture (SCA) software architecture, and has NSA approved security.
We developed an OPNET model for the WNW waveform and performed analysis on its characteristics with respect to maximizing bandwidth through the use of variable frequencies. We used our RoboComNV network visualization product as part of the WNW OPNET development and analysis. The OPNET simulation drove our network visualization application rendering the spatial layouts of communications nodes and created and populated several 2D line charts.
For more information on our OPNET capabilities, refer to our OPNET Wireless Networking Suite.
We developed the embedded systems software for a secure, frequency hopping, spread spectrum wireless transceiver used with next generation networked intelligent munitions. The controller for this transceiver required firmware to be developed for dual processors: a 32-bit TI 5510 DSP and a 16-bit TI MSP430 RISC low power mixed signal processor. The 30 thousand lines of embedded ‘C’ language code for the transceiver developed followed object oriented constructs and utilized the TI DSP BIOS RTOS while following the IEEE 802.11 wireless specification for the implementation of the OSI communications stack.
We developed the system requirements and architecture, hardware interfaces and protocols, device drivers, development of application level processes (duty-cycled low powered sleep mode, over the air programming, built in self test, establishing a global clock) and all 7 ISO/OSI network stack layers: Physical (including all hardware and interface device drivers: EHPI, SPI, RS-232, Flash), Logical Link Control, and Medium Access Control (using Carrier Sense Multiple Access with Collision Avoidance), Network, Transport, Session, Presentation, and Application.
We developed a Windows based test application in C++ and MFC that allowed for synthesizing the interface control messages and all message arguments through a GUI based user interface. This test application was used by ourselves and other component vendors for this system to allow an operator to first script a sequence of messages and message arguments to be issued for testing, and then run the scripted configuration wherein the created message stream is sent to a device under test (DUT), and the received messages from the DUT were decoded from binary into human readable format. For more information on our simulator developments, refer to our radio simulator products.
A custom networking protocol was developed to support the deployment of 100’s of XM-7 Spider radios connected to a central control point creating multiple hop routes under hostile jamming conditions. The use of adjacent nodes to act as forwarders was employed to allow the network to remain fully connected. The network consisted of hand placed XM-7 Spider units with radios connected to a handheld unit for control. The XM-7 Spider units are generally fixed in location though the remote control point is free to move as required during the operation of the network.
The overall system effectiveness was largely determined by the latency required when delivering data packets between endpoints. The ability to provide a high data rate control channel was not an option due to near ground placement of the antenna, limitations of ground based propagation interference and hostile jamming. The low data rate control channel required to meet the communications requirement and the large network of XM-7 Spider units required resulted in limitations when sensor/control information began to flood the network during periods of high activity in simulations of network CONOPs and supporting network analysis. The routing protocol developed leveraged groups of adjacent nodes to act as forwards in a low latency hybrid layer 2 group forwarding algorithm.
For more information on the group routing network protocol, see the SPIE paper Efficient routing in dense UGSS and wireless munitions control systems.
The network layer and network group forwarding algorithm for the XM-7 Spider transceiver was initially modeled and verified within the OPNET simulation environment in a common code format, and then migrated to the embedded platform.
For more information on our OPNET capabilities, refer to our OPNET Wireless Networking Suite.
We created the firmware for L3-Nova’s commercial product NovaRoam. Nova’s NovaRoam was the first MANET routing radio based on IETF MANET routing protocol standards. The radio was deployed in numerous applications in the commercial, industrial and military environments and was L3-Nova’s most successful commercial product. A collaborative effort in 2003 with the University of Cincinnati Wireless Networking Lab and Professor Samir Das resulted in an IETF MANET AODV routing protocol option in addition to the TORA/IMEP protocol, and custom routing protocols were developed.
We created a multithreaded application for embedded Debian Linux as 3K lines of C++ source code which provides the touch screen user interface for a commercial leak test instrument. This application was written using Qt/C++ and communicates with a real time processor via UDP messaging in a dual ColdFire CPU configuration.
The user interface provides the characteristics of modern cell phone fluid interfaces including touch screen control, swipe navigation, rich multiline list controls, embedded keyboards, pop up context menus, icon based selection screens, animated scene transitions, over scroll animations, international language support, and kinetic scrolling.
For this instrument's user interface, we implemented a real time auto-scaling and auto-ranging 2D line graph plot which utilizes a max-min data decimation algorithm to handle plotting unlimited data.
We developed a database table based code generation application written in Visual Basic for Applications (VBA) which automatically generates embedded ‘C’ code (or any other text based programming language) in a target international language for a world leader in the design and manufacture of standard and custom leak test solutions. The code generation application is based on user created template files with embedded SQL statements. This application has become an essential productivity tool used by the embedded firmware developers. It featured the ability to export and import language content in XLIFF format to provide support for language translation, and the generation of source code with International language support.
For more information on automated database driven source code generation, refer to our application source code generation product.
We developed a custom Microsoft Office Add-In for a cloud storage based company which allows users to send and receive files of any size with a focus on huge files for collaboration. For this effort, we designed and developed a version neutral, application neutral, lightweight Microsoft Office for Windows add-in in C++/ATL/COM that allows a user to send very large documents from within Office applications to the cloud based application server.
We were responsible for modifying, diagnosis, field support, and enhancing IDX’s Systems ColdServ application. ColdServ is a listener agent/application that obtains electronic medical records (EMR) from a mainframe computer over a TCP/IP network connection for printing and storing EMR content to computer output to laser disk (COLD) long term storage. The EMR originates on a Tandem mainframe as part of the IDX System's LastWord Enterprise Clinical System. IDX Systems, currently owned by GE Healthcare, provides medical management software used by medium to large hospitals, physician groups, and medical management firms.
We were responsible for the commercial release of an industry leading client/server ODBC driver/middleware tool that allows users to access and manipulate IBM host data using any ODBC compatible Windows application. This driver supports IBM’s Distributed Relational Database Architecture (DRDA) protocols. We enhanced product performance and compatibility with leading commercial applications, developed multi threaded test applications for driver verification and bench marking, diagnosed and fixed numerous customer deployment field problems and created installation applications (32 and 16 bit releases).
We created a custom medical procedure and billing application, by transforming years of legacy billing content stored in single user Microsoft Excel spreadsheet repositories, into a multi-user distributed solution based on a Microsoft Access or SQL Server database backend with Visual Basic for Applications (VBA) coding and using Microsoft Access forms for the front end user interface. This transformed system provided a complete multi-user database entry and reporting solution for managing medical procedures and associated CPT codes for billing and insurance.
This solution required the creation of a custom application in C++ to transform and convert legacy medical records originally in Excel format into normalized database format to allow for importing into Microsoft Access databases. This solution was used for medical claims processing for reimbursement of historic and ongoing family practice department medical procedures.
We designed and developed as a standalone wireless pager gateway system in C++/MFC utilized in medical enterprises for automated consult referrals. This system is a listener agent/application that obtains medical referral information from a network accessible computer over a TCP/IP link, and implemented and utilized the Telelocator Alphanumeric Protocol (TAP) for sending short messages via a land-line modem to a provider of pager and/or SMS services, for onward transmission to pagers and mobile phones.
We were part of the small software development team that created one of the industry's leading highly evolved electronic patient record application suite that provides streamlined processing and fast, easy access to all forms of health information regardless of the source.
We were responsible for development and maintenance of a major Electronic Health Record (EHR) provider's flagship image-enabling application into a production environment of over 1400 workstations. Image enabling allows the medical record query, viewing, and annotation application to be integrated into upstream higher level Disease Management Systems. The integrated application provides physicians and clinicians access to the entire electronic medical record (EMR). Imaging enabling was implemented technically by providing a full featured OLE automation interface to the EMR query application.
We were responsible for the design, coding, testing, implementation, maintenance, bug corrections and performance enhancements of various component modules of a high-end enterprise wide client/server based medical document imaging system. We created or modified client software modules including standalone servers, executables, and support DLLs to support FileNET and LaserData Optical servers for long term data storage to COLD.
We developed a C++/MFC/embedded SQL based quality assurance application to verifying the integrity of all images stored on magnetic or optical storage for EMRs.
We developed a general-purpose text/image viewer toolset/suite as embeddable OLE components or OLE servers for use in EMR applications for viewing medical documents including annotation support.
As part of the professional services team, we developed a custom image conversion applications for a leading west coast hospital to automate the conversion/import/migration electronic medical records stored on legacy FileNET optical servers into the Electronic Medical Record (EMR) system. This 24x7 operating application created electronic medical records within the EMR repository with proper indices conversion and document content retrieval from a Unix based FileNET optical server.
Our engineers have experience planning and leading the development of software and firmware based projects. This discipline involves the full software development life cycle from proposal, to implementation, project monitoring and control, to final testing and deployment.
We have internal project management for all of the software, firmware, modeling and simulation, and hardware projects for which we have involvement.
We are currently extending this expertise to help out other small companies manage their own projects.