* MATH, ALGORITHMS, DATA STRUCTURES - Simple, elegant, practical solutions to
complex problems using Math Modeling & Analysis. State Machines, Physics
& Math, 3D VR, Motion Control, Image Processing.
* EXPERT PROGRAMMING - Assembly Language, C/C++, Visual Basic. Programmable
Logic & Chip Level, Table Driven, Parsers, Interpreters, GUI, Adaptive,
Recursive, Communications, Graphics.
* METHODOLOGIES - Requirements Modeling, System Architecture, CASE, Data Base
representation of requirements & parameters, Hatley-Pirbhai, ISO 9000, FDA,
Mil Spec 2167, Object Oriented, Hacking.
* INTERACTION OF HARDWARE/SOFTWARE/ALGORITHMS - Tradeoffs, Optimization,
Design alternatives, analysis, debug, lab, ICE, Logic Analyzers, HW/SW
Interfacing, System Level Simulation.
* COMMUNICATIONS - Protocols, Telemetry, Firmware, Internet, Analysis,
Emulation, Tools, Hardware Drivers, Modem Internals, Chip level, Semaphore
Algorithms, Information Theory, Simulation, Test.
* ARTIFICIAL INTELLIGENCE - Game algorithms, Bayesian Networks, Pattern
Recognition, Adaptive Models, Decision Aiding, Learning algorithms, Multi
Attribute Models, Human Simulation, Heuristic Search.
B.S., Physics, California State University at Los Angeles.
(11/88-2/89) Andrew Network Products (Local Data). Work on IBM Token
Ring source routing LAN Bridge using IBM Adapter. Programming in Microsoft 8086
MASM (also used Codeview, Brief, MSDOS function calls, Comm Analyzer) for this
real time embedded system. Software development in a NOVELL network
environment.
(4/87-6/87) Northrop Aircraft, Quality Technical Research Dept. Helped set up
non-film radiography inspection system using RCI image processor and PDP-11/44
computer. Wrote image processing software in FORTRAN. Diagnosed & solved
system problems. (10/86-3/87) Incosym, Electronics & Systems Division. Software (8086),
Math, hardware, systems, & debug for new development of real time embedded
Inertial Navigation Systems. Flying peanut, robot bulldozer, more. (4/86-6/86) American Nucleonics. Took over a one man HW/SW project from an
engineer who died. Used FORTH, STD bus; did HW/SW interfacing. (6/85-3/86) Hughes Aircraft, Radar Systems. Sr. project engineer. Interfaced
with the customer, and wrote a 1553 remote terminal interface in Assembly
Language. Analyzed & solved systems problems such as joystick responsiveness
in this real time embedded system communicating on a serial bus. (11/83-5/84) Hughes Aircraft, Space & Comm. Wrote satellite test software
in 'C' on DEC equipment. (4/83-10/83) Datascan. Senior Programmer. Developed CP/M software in 8080
assembly language for a "Computer Concepts for Kids" product. Also created
several games and a threaded interpreter. (7/82-4/83) Interac-Califone. Project manager for a Navy contract to evaluate
a statistical search algorithm. Used IBM PC for graphics and user interface
linked to a VAX 11/780 for numerical computation. This small company was also
developing an interactive multimedia system using a real time multi-tasking
operating system which I was exposed to on a daily basis. (1/82-6/82) Comp-U-Med. Software Development Manager. Managed, designed, and
programmed communications applications for a heart monitoring machine with
embedded processors which acquired & transmitted an ECG over phone line in
real time to central computer. Used HDLC, SDLC.
(4/81-10/81) Transaction Technology Inc. Consultant to Communications
Section. Developed software for testing error paths for a terminal handler using
IBM 3270 BISYNC Data Comm Protocol in ASYNC network. Analyzed communications
software for increased performance. (1/78-10/79) & (2/73-12/76) Perceptronics. Project management, analysis,
design, and programming (assembly & C/UNIX) for Artificial Intelligence
projects. Helped develop a microprocessor controlled system for automating the
non-judgmental aspects of video color correction. Designed and developed
assembly language software for a microprocessor controlled driving test station.
Invented a Bayesian Scenario Generator for creating dynamic decision
environments for decision aiding experiments using elicited expert
probabilities. Developed algorithms for Heuristic Search and Adaptive Real Time
Pattern Recognition. Developed an intelligence gathering game for experiments in
adaptive decision aiding; many other games for research projects. Wrote research
report for the Navy evaluating 4 different AI techniques for simulating the
opponent in war games involving submarines.
Resume
Donald May
Box 2615, Malibu, Ca 90265
(310) 456-1578
mail@donmay.com
http://www.donmay.com/
REAL TIME EMBEDDED SYSTEMS
Assembly Language, C, Math, HW/SW Design, Debug
SUMMARY:
REAL TIME EMBEDDED SYSTEMS & FIRMWARE CONTROL - Systems, Multiple CPUs,
Algebraic & Boolean Math Modeling, Messaging, Total System Design,
Programming, Simulation, Debug, Automated test.
EDUCATION:
M.S., Electrical Engineering &
Computer Sciences, U.C. Berkeley.
REPRESENTATIVE EXPERIENCE:
(7/98-11/98). Rainbow-Mykotronx. Firmware for Secure
Modem PCMCIA card with embedded Rockwell modem and cryptographic ARM RISC
processor. 6502 Assembly Language to modify modem code; JumpStart C for ARM.
Worked with Skipjack, key exchange, and digital signature algorithms with
timeouts and satellite transmission delays. Requirements and archictecture
definition for data security in a remote access server (RAS) environment.
(2/98-6/98). Walt Disney Imagineering.
(Ride Control). Contract on a project developing a new ride using free ranging,
radio controlled vehicles. Requirements definition, modeling, & analysis
using Hatley- Pirbhai methods, math modeling, and EasyCase case tool. Math and
physics of closed loop motion control; navigation and control algorithms. Rapid
prototyping and simulation using Borland C++Builder and AutoCAD. Unscrambling
algorithms, track map, wireless LAN prototyping, state machine representation of
Wayside, Vehicle, and control panels, Windows NT GUI prototyping, studied
VxWorks.
(9/97-11/97). Walt Disney Imagineering.
Contract on project developing new Distributed Show Control System (DCS) for
controlling audio-animatronic attractions. Requirements analysis based on old
system for Show Playback Computer (SPC). Design specification and math model of
new SPC on a TCP/IP Ethernet using RTKernel-32 real time multi-threaded minimal
OS. Debug programs using Borland C/C++. Course Animation 101; learned how the
magic is done!
(2/97-9/97). Splash-Quintar
Division. Contract HW Design Engineer reporting to VP R&D. Collaborated on
new device dependent color image compression algorithms for copier/printer
controllers. Tested algorithms using Microsoft Visual C/C++, and Adobe Photoshop
plugins on a Mac. Optimized for PowerPC 603e with Assembly Language using Gnu
tools on a UNIX Sun. Developed parallel processing versions for programmable
logic using Altera AHDL.
(4/96-12/96). Pacesetter. Contract
on a team developing an innovative embedded Medical Electronics product
requiring ultra miniaturization and extreme quality. Requirements modeling and
systems architecture using Hatley-Pirbhai methods and boolean & algebraic
modeling. Use of data base methods to represent requirements and parameters, and
to create table driven assembly language state machines for implementation and
test. Creation of new automated development and test techniques. CASE
methodology (EasyCase), Access, Visual Basic & Assembly Language
Programming. Development in a dual NOVELL/PC /WIN NT and UNIX/SUN network
environment.
(11/93-2/96). House destroyed in firestorms. Designed & Built a no wood,
concrete & steel house using
various computer tools including CAD and 3D Virtual Reality.
(9/93-5/94) Hughes-Avicom.
Contract on Tiger Team developing software for the Seat Display Unit (SDU) of an
in-flight Entertainment system. Programmed the Nintendo (SNES) in 65816
assembly language using tools from Sculptured Software, figured out Nintendo's
inner most mysteries. Development in a NOVELL network environment. The SDU is
part of a complex real time system containing many different electronic boxes
with embedded processors and extensive messaging. The SDU contains a SNES which
has two embedded processors, and exchanges real time messages with other units.
Worked with graphic artists to make the most visible part of the system
happen!
(12/89-7/90) Software Toolworks.
Developed mathematical game playing algorithms for Bridge Backgammon &
programmed them in 'C' and 8086 Assembly Language using Borland development
tools. Software development for the "Miracle Piano Teaching System." Programmed
in 6502 Assembly for the Nintendo system. Wrote ROM based debugger in 6502
Assembly.
(1/88-3/88) OSI/Cambridge Instruments. Programmed in C and 8086 assembly for
an embedded optical inspection station linked to a network. Wrote communications
applications to integrate station into a LAN using the TCP/IP protocol. Set up
server on SCO XENIX system on IBM AT. Set up hosts on IBM XT under
MSDOS.
(9/87-12/87) Amex Systems. Software development for Navy Mobile Sea Range.
Developed semaphore algorithms for arbitration in a multiple CPU environment.