F. David Jones

Pyrrhus Software

PO Box 1352

Phoenix, AZ  85001-1352


tel: +1 480-951-1019

fax: +1 480-607-3762

e-mail: jones@pyrrhusoft.com

website: www.pyrrhusoft.com




I am a senior software engineer with some twenty (20) years experience in Avionics Software, Systems Programming, Process Control, Real Time Programming and business applications.














AT&T 3B2



AT&T 6300



AT&T 7300



HP 64000






IBM 370/168






PDP 11/23


Shells (var.)




Sun 3/50






VAX 11/780







Windows NT





          Operating Systems


          Software Tools

          Software Engineering




          B.S. EE Univ. of Manchester, England

          M.S. EE Univ. of Manchester

          Post-Graduate Studies EE  Carnegie Mellon University




I have worked and studied in the areas of Process Control, Real Time Programming, Command and Control, and most fields of the computer industry including some data processing.  Currently, I am a free-lance software consultant and consider myself to be a professional programmer.  The following is my experience in reverse chronological order.


May 2004 to present

I am developing the C coding guidelines annex for the Architecture Analysis & Design Language (AADL). This involves taking examples of AADL specifications and creating equivalent C programs.  In addition, AADL has threads to model units of concurrent execution and I am mapping this to POSIX threads.


December 2003 to May 2004

I have been performing additional system administration functions on the heterogenous LAN including the installation and integration of DSL services.


August 2003 to November 2003

I worked at SEAKR Engineering on the functional analysis, specification, design, implementation and documentation of a solid-state data recorder for a near earth orbit satellite system.  This system was composed of software modules written in Ada 95 that were targeted to the 1750A processor.  A driving factor on this project was to develop system software from existing software modules as well as designing the software system to function on a variety of platforms in the future.  The project included the unification and parameterization of the existing code base as well as the development of an infrastructure for use in future systems.


January 2002 to present

I have been performing system administration functions on a heterogenous LAN composed of PCs running various operating systems: Win2000, WinNT, Win98, Win95, OS/2, and Linux.  This includes network troubleshooting, hardware and OS installation, and solving the various interoperability problems.


February 2001 to August 2001

I worked at DDC-I on the Tartan Ada Development System (TADS).  This involved changes to the Ada runtime for various target boards including the 1750A, the Cyclone i960, and the 68K.  In addition, I assisted various DDC-I customers on using the TADS product including Honeywell, Lockheed-Martin, and NASA Goddard.


September 1998 to July 2000

I have had independent consulting assignments involving Windows NT, Windows 95, Linux, and VMS and UNIX system administration.  I have been responsible for setting up a thin Ethernet LAN using Linux SAMBA.  I have also been involved with rebuilding the Tartan Ada language development system for the VAX for DDC-I who now own the product.


April 1997 to August 1998

I worked at Honeywell in their Flight Management Systems department, developing Avionics software in Ada for the Airbus.  The Honeywell software development process is rigorous, being based on the DO-178B standard.  I am also familiar with MIL-STD 2167A.


June 1996 to October 1996

I developed device drivers for OS/2 and Linux for a Panasonic SCSI PCMCIA controller card.


May 1995 to October 1995

I worked on two projects for Tartan, Inc., now owned by Texas Instruments.  The first was to port the Tartan Ada debugger to support the White Mountain SBus emulator board.  The second was a utility to convert from Tartan's object file format to IEEE-695.


June 1994 to November 1994

I developed the low-level support routines for inter-processor communication for the Tartan Ada Language development system.  This package permitted both polling and interrupt-based mechanisms.  The initial application was a VMEbus system using an Ariel Hydra-II  (Quad C40 DSPs) and a Motorola MVME 167 (68040).  VxWorks was used with the 167 board.


March 1994 to May 1994

I ported the Tartan debugger from SunOS to OS/2 and DOS.


May 1993 to November 1993

I implemented, in C, the interface between the Tartan debugger and Texas Instruments' XDS510WS emulator which supports TI's family of DSPs: C3x, C4x, and C5x.


November 1991 to August 1992

I developed software in C for Cleveland Machine Controls.   The two major areas were the man machine interface resident on the PC and the serial communications to the 68332 single board computer.


September 1991 to October 1991

I developed utilities for MEDRAD in VAX BASIC to do automatic check reconciliation with Pittsburgh National Bank. Checks from Accounts Payable are written to a tape for the bank to process.   The bank returns a tape of checks paid that is then processed by the second utility program.


December 1990 to June 1991

I developed image-processing software, in C and assembler, to run under DOS, for a retail business.  Digitized video images were transmitted over a local area network and sent to various color printers.


April 1990 to July 1990

I worked for Cimflex Teknowledge where I developed the interface software between component placement machines and applications programs.  The software was written in C for VMS and used mailboxes for the interprocess communications.


November 1989 to February 1990

I worked for Cimflex Teknowledge where I developed a VMS package in C to periodically extract RMS file data and transmit it to an hp850 running UNIX.  There were two versions of the communication layer; one used an RS 232 protocol, the other, TCP/IP sockets.


January 1989 to June 1989

I worked for Control Logic developing various parts of a multi-tasking SCADA package for the IBM AT.  My responsibilities comprised building the interface to the AMX86 real time executive, doing real time trends using the HALO graphics package, and acting as a general advisor on multi-tasking software.  All the software was written in C.


May 1987 to April 1988

I worked for Allen-Bradley developing software in C for the IBM PC that allowed their customers to program and control PLCs via PCs.  The development was done on a VAX 8600 and then cross-compiled for the PC.


December 1986 to January 1987

I acted as troubleshooter for Pittsburgh's municipal computer network. This was comprised of  AT&T 3B2s and 7300s.  The work involved performing UNIX System Administrator functions.


June 1986 to November 1986

I wrote business application software in C, interfacing with the Informix Database Management System.  The environment was UNIX System III on an Altos 68000.


September 1985 to April 1986

I developed process control software in C for an AT&T 6300 running XENIX V.  This included graphics and communications modules.


September 1984 to August 1985

I wrote business applications software for two UNIX based systems.  Both projects required C language programming to access the Database Management Systems being used (Informix and Unify).  At the same time, I was responsible for all UNIX System Administrator functions.


November 1983 to March 1984

I developed graphics and data acquisition software in C on an IBM PC running Concurrent CP/M 86.  This was used for a building automation system.


September 1981 to June 1983

I developed utility and support programs, including local networking software and mini to mainframe communication software.   The mini was Western Digital's microEngine running a modified UCSD P system and the software was written in Pascal.   The mainframe was a DEC VAX 11/780 running VMS 3.0 and the various file access routines and device drivers were written in C.


The early years after getting my Masters were spent in the Software Development department of Westinghouse Electric Corporation's Industry System Division.  The division was originally based around the mini computers that Westinghouse produced at that time, both for software development and as targets.  Later, mainframes were used to handle a lot of the software generation process, while at the same time products, were targeted to both micro and mini computers.  As a result, I wore several hats, often concurrently.  I started as a junior software engineer and when I left, I was a senior software engineer.



          Member ACM

          Associate Member IEEE



          I have received two patents for the PROGEN package.




          Citizen: U.S.A.