Senior software developer with extensive experience in satellite image processing and spacecraft monitoring and control.
Software Developer
Integral Systems, Inc. (Lanham, MD)
Software developer on ISI's next generation, CORBA middleware-based, EPOCH IPS satellite telemetry and command system.
Designed and developed the spacecraft command database server.
Ported EPOCH's proprietary-protocol-based, telemetry processing applications into a TAO/ACE CORBA environment.
Upgraded telemetry processing and simulation software for new satellite types.
Created a Python tool to convert customers' existing display page definitions (which use ISI's proprietary page description language) to XML for importation by our Windows-based EPOCH Client.
Developed my own lightweight CORBA library and code generator for independent testing of application interfaces.
Wrote numerous tools in C, C++, and Python on Unix and Windows that allow on-site and remote monitoring and control of our system for testing purposes.
Software Developer
Integral Systems, Inc. (Lanham, MD)
Software developer on the distributed, object-oriented successor (Version 3) to ISI's EPOCH satellite control system.
Ported legacy telemetry processing applications into a networked C++ environment.
Maintained and enhanced the telemetry processing and simulation software, including upgrades for new satellite types.
Developed a (C++ network communications library](http://www.geonius.com/software/index.html#liberal).
Wrote networked interfaces to and a software emulator for the IN-SNEC CORTEX Telemetry and Command hardware units.
Developed numerous tools in C, C++, Tcl/Tk, and Java that allowed on-site and remote monitoring and control of our system for testing purposes.
Software Developer
Integral Systems, Inc. (NASA Goddard Space Flight Center)
Software developer on NASA's EOSDIS Test System (ETS), which simulates various external interfaces to the Earth Observing System Data and Information System (EOSDIS).
Added ETS enhancements to selected LZP-II software applications (see below).
Participated in the design of a telemetry data simulator to be implemented in C++.
Developed an extensible, FTP server toolkit used to implement an embedded FTP server that accesses files via an in-house file system.
Created an embedded, user-programmable HTTP server that permits our systems to be monitored and controlled from a World Wide Web browser.
Software Developer
Integral Systems, Inc. (NASA Goddard Space Flight Center)
Software developer on LZP Phase II, a NASA R&D project to build a high-rate (50Mbps) packet processing system based on VLSI hardware and embedded software running on multiple 68040 processors.
Developed a number of library functions used to help port the existing PDOS-based software to VxWorks and to allow the testing of embedded software under UNIX.
Developed an extensible I/O package that dynamically loads application-specific, user-level device drivers.
Used the I/O package to add device-independence to the programs that sort and assemble packets into data sets.
Developed an embedded, user-programmable debugger and a workstation-based, user-programmable GUI used during system integration and test.
Software Consultant
Integral Systems, Inc. (Laurel, MD)
Software consultant to Computer Sciences Corporation on SIR-C/X-SAR, an ESA project to build a distributed, VAX-based control center for a shuttle-borne radar instrument.
Ported parts of the UNIX-based TPOCC software (see below) to VMS.
Contributed to the writing of the customer's Architectual Design Document and of our own Detailed Design Document.
Used prior TPOCC, C, UNIX, and VMS experience to assist other members of the group in the design, code, test, and integration of various subsystems, including the X/Motif-based GUIs, the real-time telemetry and command software, and the database management utilities.
Wrote many general-purpose and project-specific library routines.
Developed tools and simulators used to test our software and to integrate it with our customer's systems.
Redesigned and coded the distributed monitor program that arbitrates the primary/backup status of the redundant telemetry processors.
Supported the reverse engineering of the existing TPOCC software and, when time permitted, worked on upgrading that software to ANSI C standards.
Programmer/Analyst
Integral Systems, Inc. (Lanham, MD and Laurel, MD)
Programmer/analyst for TPOCC, a NASA R&D project to build a generic satellite control center based on distributed UNIX workstations and readily adaptable to new missions.
Developed an extensible, network-based, command language (TSTOL) interpreter server using UNIX LEX and YACC; the interpreter is now in use at a number of sites, independently of TPOCC.
Made significant contributions in the areas of display generation, spacecraft commanding, and telemetry processing.
Initiated and wrote 75% of the project's shared software library, as well as most of the utility programs.
Issued numerous memos that allowed other members of our group to quickly come up-to-speed on the intricacies of UNIX and TPOCC.
Participated in the system and comprehensive design presentations and my self-imposed, software documentation standards were incorporated in the project's standards.
Edited the TPOCC programmer's reference guide, a large part of which I wrote myself.
Senior Software Analyst
General Electric Company, Space Division (Lanham, MD)
Senior software analyst for an image processing system built to handle Landsat and SPOT satellite imagery.
Lead the team responsible for telemetry processing and geometric and radiometric correction data generation.
Prepared and presented the first build, integration, and test demonstration of the project.
Developed a number of tools, including a test environment that allowed stand-alone testing of individual programs and an interactive, image display utility that was widely used in the testing and verification of the image processing hardware and software.
Co-recipient of a $230K cost improvement award.
Belonged to the core team selected to see the project through to its completion (factory acceptance test and customer training) after the closing of our facility.
Software Analyst
General Electric Company, Space Division (Lanham, MD)
Software analyst for an automatic testing system for various digital system components that were to be placed on the MILSTAR communications satellites.
Created the initial high-level design and structure of the real-time firmware that resided in the Intel 80286 single board computers used to control the test equipment.
Designed, coded, and tested the systems firmware, including device drivers for IEEE-488 and RS-232C interfaces.
Programmer/Analyst
General Electric Company, Space Division (Lanham, MD and NASA Goddard Space Flight Center)
Programmer/analyst for the image processing system of NASA's Landsat-4/5 remote sensing satellite ground station.
Designed, coded, tested, and maintained a variety of programs, ranging from real-time applications to file processing.
Analyzed and documented the results of formal demonstrations of software to our customer.
Developed a number of interactive data analysis and display tools for the Systems Engineering and Mathematical Analysis departments.
Developed an automatic structure chart generator which resulted in a $10K cost improvement award.
Programmer
Laboratory for Pattern Analysis, University of Maryland (College Park, MD)
LNK Corporation (College Park, MD)
Performed development and maintenance programming for various projects in the areas of data analysis, image processing, and pattern recognition. The applications included EKG signal processing (using the WAPSYS waveform parsing system), handwritten character recognition, and scene analysis.
B.S. Computer Science
University of Maryland, College Park, Maryland