My primary area of expertise is
real time software. I focus on developing a solid understanding of the
application domain and crafting appropriate solutions to my client’s
problems. I have extensive
experience in all phases of development from system and software requirements
definition, design and documentation through coding, testing, integration and
field trials. I have specified and
worked in target environments ranging from distributed and tightly coupled
multiprocessor systems to standard desktop systems to embedded
microcontrollers. I have used both
commercial and proprietary operating systems. I am comfortable selecting and using standard design
methodologies, development tools, and test equipment and have designed and
built specialized tools and equipment when necessary. I have worked in a broad range of application domains
including Semiconductor Equipment, Factory Automation, Flight Simulation,
Public Utility Supervisory Control and Data Acquisition, Medical
Instrumentation, Computer Peripherals, Automated Testing, and Sonar. I also have written hardware
diagnostic, data communication and business application software. I work well with both small and large
teams and enjoy interacting with coworkers in other disciplines. I have traveled extensively in the U.S.
and overseas for my clients and have represented clients at customer and vendor
sites.
Note: All positions since Mar 1976
(except at Antekna) have been as a contractor. All prior positions (except
military service) have been an employee.
Designed and
implemented Semiconductor Fabrication Tool Software that enabled a dual
loadlock vacuum pump configuration for an Applied cluster tool. Also did SECS/GEM integration work for
a data collection and analysis product. Languages were C and Motorola 68xxx Assembly Language. Rtos was proprietary. Development
environment was Windows NT.
Integrated a wireless lan (802.11) driver into a custom
Windows CE environment. Also implemented 3DES encryption for wireless
communication using the Microsoft Enhanced Cryptographic Service Provider.
Languages were C and C++. Target environments were Windows CE and NT.
Development environment was Windows NT.
Worked on the design and integration of software that
enhances the reliability, availability, and maintainability of semiconductor
fabrication tools. This software, which runs on a network of Windows NT
Workstations, collects real time process data from tools via a modified
SECS/GEM port and supports fault prediction applications. This software also
provides factory efficiency engineers with the capability of viewing and
analyzing real time and historical data at their desks. It also provides an array of
applications that support the development of fault prediction models, aid tool
maintenance, and help improve yields.
Worked on two
device driver ports. Devices were the Packet Engines Gigabit Ethernet S-bus
adapter and the Sun OC12 ATM S-bus adaptor. Both device manufacturers supplied Sun Solaris drivers. The
target was the Auspex NS8000 Network File Server’s Unix like environment.
Did extensive design, implementation,
and testing of machine control and factory interface software for Semiconductor
Fabrication Tools. With one other engineer, executed (requirements through
field trials) two factory automation projects. One project was among the first to implement fully
automatic transfer of material to and from the Tool via Automatic Guided
Vehicles. Worked extensively with
the SECS/GEM standards for intra factory communication.
Designed and wrote software for a
custom multi-drop serial link that is part of a factory automation data
acquisition system. My design used table driven state machines to implement the
communication protocol. Command transactions could be easily added to the
protocol by adding entries to the control table. This design emphasized
modularity, extendibility and clear traceability of protocol requirements to code.
Language was C. Processor was Intel 80186.
Participated in the implementation
of a text oriented database. Product is a networked Windows 3.0 application
that manages resumes for Human Resources organizations. This database is a tree
structured component which facilitates the automatic scanning, storage, search
and retrieval of documents in text and image format. It is layered on the Fulcrum FulText product and is
implemented as a Windows DLL. Wrote programs in C and used the CodeView
debugger.
Wrote embedded firmware for laser
printer controllers. Worked on operator panel and real time control portions of
the system. Gained experience with
PCL4, Epson, and other printer emulations. Was exposed to PCL5, management of scalable fonts, and
banding algorithms. Language was C. Processor was M68000.
Designed and implemented software
for real time simulation of advanced airborne radar set. This software implements
Radar Signal Processor and Radar Data Processor algorithms on a tightly coupled
four processor (TI TMS320-30) system (Link proprietary design). Used structured
design methodologies. Worked closely with system and hardware engineers.
Produced and worked from Military Standard Documents. Development environment was VAX/VMS/TI tools. Target
environment was TI TMS320-30. Language was C.
Designed and
implemented an upgrade to the SECS communication interface for an epitaxial
reactor. Expanded Stream 2 and 5 functionality. This allowed a host computer
(cell controller) to run the reactor.
This was done for the purpose of automating material handling and
process parameter (recipe) adjustment. Had responsibility for coordinating
project and interfacing with Applied’s customer. Development environment was
VAX/VMS. Target environment was Intel 8085/proprietary rtos. Language was 8085
assembly.
Participated in
writing software functional requirements and design specifications for a
physical vapor deposition semiconductor tool.
Implemented a SECS interface for
the coater developer subsystem of a Linked Lithography System (LLS). This
interface was used to coordinate wafer handling and processing with the LLS’s
stepper subsystem. Also supplied design and system integration services related
to the LLS. Development environment was DOS/PC. Target environment was VRTX/PC.
Primary language was C.
Designed and
implemented two specialized alarm reporting subsystems for an electric public
utility’s Supervisory Control and Date Acquisition (SCADA) system. These subsystems are responsible for
sampling subsets of the system’s analog input points, comparing values to
multiple limit sets, and reporting error conditions. Both subsystems are “add-ons” to System Control’s standard
SCADA system. They supply special functions required by a particular end user.
A significant portion of the effort expended on this project was directed
towards making efficient use of the standard system and minimizing changes.
This task was made difficult by the complexity of the standard system and by
the intimacy of the relationship between the standard and special functions.
Development and target environments were VAX/VMS. Primary language was FORTRAN.
Designed a SECS
interface for an electron microscope. Target environment was iRMX-86
Designed and wrote closed and open
loop control and related programs for material handling, temperature, and
pressure subsystems for semiconductor processing equipment. Worked closely with
engineers to solve mechanical and gas flow problems. Programs were written in
PASCAL. Development environment was VAX/VMS. Target environment was
MTOS/Motorola 68000.
Wrote hard disk driver and disk
diagnostic for a Motorola 68000 based product. Also participated in the design
and implementation of a low speed, many channel communication multiplexer that
was used to monitor the product during manufacturing test. Wrote diagnostics
and system exerciser programs for an Intel 8085 based system. Wrote display,
keyboard, and printer drivers. Participated in the design of Dictaphone’s
“technician friendly” diagnostic environment. Languages were Motorola 68000
assembly, Intel 8085 assembly and PLM. Target environment was proprietary.
Development environment was UNIX.
Proposed a high
level design for a diagnostic system for the GR-18 semiconductor tester.
Proposal included functional and structural specifications for a shell program
that provided an environment for a set of test elements that performed tests on
the GR-18 hardware. Operator interface, element sequence control, and fault
reporting facilities were included in the design. Facilities for analyzing
multiple faults and for easily changing the test element set were also
included. Implemented a limited version of this design for the TPP-2/04 (The
GR-18’s high speed processor). Languages were PASCAL and TPP-2/04 microcode.
Hardware was PDP11 and TPP-2/04 Target environment for the PDP11 was RSX.
Development environment was VAX/VMS.
Performed a variety of tasks at
the DARPA Acoustic Research Center (ARC). Wrote diagnostics for a special
purpose interface and memory. Designed and simulated a program to do real time
digital beamforming. Participated in the integration of the FPS-AP120B into the
ARC signal processing system. Made substantial upgrades to the ARC’s multi
channel data acquisition and filtering front end. Supervised the integration of
a medium sized system running on a PDP11 under RSX. Languages were SPS-81
microcode, Modcomp MCII assembly and FORTRAN.
Participated in the development of
a medical instrument used for real time acoustic (ultrasonic) imaging of the
hart. Wrote AMD2900 Microcode. Supported the design of a special purpose video refresh memory.
Participated in the
development of a computer aided manufacturing facility for the Amdahl
mainframe. Designed and wrote a driver module for the HP RTE III operating
system. This program controls the interface between an HP 21MX computer and a
manufacturing fixture. Also wrote programs to facilitate hardware test.
Languages were HP 21MX assembly and FORTRAN.
Designed software and allocated
requirements for an electronic warfare training simulator. Defined simulation
requirements for threat, electronic counter measure, and environmental signals.
Performed a variety of design,
programming and writing tasks. These included writing security related programs
at the DARPA Acoustic Research Center, evaluating system maintenance procedures
for FLTSATCOM shore facilities, and proposal writing.
Wrote a programming
and interface manual for the MM57199 calculator oriented microprocessor.
Designed and
implemented real time software for a sonar signal processing installation.
Tasks included control of a multimode refresh memory display, programmable signal
processing computers and standard peripherals. The control computer, an SEL
810B, was programmed in assembly language. Special attention was given to
modularity and flexibility. The
system was adaptable to a range of sonar modes through modification of tables.
Also wrote control programs for the SPS-81 signal processing computers. This
task included building an interpretive system that supported a language more
suitable for writing control code than the micro language of the signal
processing computers. Wrote other microcode for SPS computers and gained
familiarity with memory management and signal processing techniques. Worked in
sales and customer support. Provided pre and post sale technical consultation,
customer training, and system and software interface design. Languages were SEL
810B assembly, SPS 41/81 microcode, and FORTRAN.
Modified and tested
a data compiler for an acoustic data acquisition system. Gained an
understanding of input/output and interrupt structures, of real time monitors and of digital
signal processing hardware. Language was Varian 620i assembly.
Participated in the
development of VP/CSS (a modification of the IBM CP/CMS timesharing operating system
for the IBM 360-67). Responsibilities included rewriting and modifying portions
of the text editor and a number of other programs in the CSS system. Gained
knowledge of the file management subsystem and the command processor. Language
was IBM 360 assembly (BAL).
Wrote commercial
programs for payroll, inventory, personnel and accounting systems. Extensive
documentation and flowcharting were required. Work included some system design.
Language was Univac 1005 assembly. Also was trained as an artilleryman.
Wrote programs to
analyze data from engineering tests. Emphasis was placed on statistical
analysis for the purpose of establishing confidence levels and evaluating
experimental design. Also worked with computer controlled test equipment.
Language was FORTRAN. Hardware was Univac 1108, IBM 360/40 and IBM 1130.
B.A. Physics, University of Connecticut, 1971
Digital Signal Processing I and II, Summer Courses at MIT, 1974
Home Electronics Course, Bell and Howell Schools, 1976
Linear Systems, Technical
Communications, Visual Arts, San Jose State University, 1977
U. S. Citizen
Honorable Discharge U.S. Army
Have held Secret Clearance
References available
on request