Medical
Devices
- (2015) Performed an independent code review
and provided corrections for faults found in software
for a class 2, major level-of-concern,
critical-life-support medical device.
-
Performed a comprehensive independent software review
consisting of design review, code inspection, and
static and dynamic code analysis.
-
Advised and provided corrections for literally
thousands of issues found in more than 200,000 lines
of code proving once again that this type of review
and verification needs to be done on an ongoing basis
during all phases of development, and not postponed to
the end.
-
Identified some hardware issues that manifested
themselves as software bugs, and provided
recommendations for correction.
-
Performed an analysis of USB 2.0 traffic flow and
interface to USB 2.0 devices, using a USB 2.0
protocol analyzer. Provided the protocol analyzer
used in making this analysis.
-
Software is in C++ on the QNX RTOS and Momentics
IDE, making extensive use of C++ templates.
Hardware uses multiple processors (TI iMX-53,
2x68332, 8051) communicating with one another via
serial, USB, and SPI bus.
-
Guided the migration of the project to Subversion
(revision control system) and Bugzilla (bug /
action item tracking). Hosted, configured,
administered, and maintained the projects
Subversion and Bugzilla servers.
- (2015) Organized and served as co-producer and
co-moderator for a public forum and presentation on how
to apply Agile software development to medical devices
using AAMI TIR-45:2012, presented by the Medical
Development Group of Boston (www.mdgboston.org). My
responsibilities included recruiting speakers,
researching subject matter, identifying the target
audience, producing advertising materials, and
monitoring progress so that everything was completed on
time.
- (2014 - 2015) Providing software regulatory and
independent-review consulting services on class 2 /
510(k) and class 3 / PMA medical device products.
- (2009 - 2012) Developed a user interface
and served as a software and regulatory consultant
and software team leader for a class 3 medical
device that delivers RF energy to the
patient. Recruited, and provided leadership
and supervision to, a team of 3 senior software
engineers and 1 senior software quality assurance
engineer. Software development was in C++
for MicroC/OS-II, and design used Unified Modeling
Language on Sparx Systems Enterprise
Architect. Device made it through FDA PMA
Supplement approval in half the normal time.
- (2008 - 2009) Implemented a master-slave
communications system on an infusion pump for
veterinary use; software development in C for
FreeRTOS. Provided regulatory consulting services to
that client as they evaluated whether to certify the
infusion pump for human use.
- (2008) Served as software quality assurance and
regulatory consultant for a collaboration among a
number of university research centers to develop
an artificial pancreas for Type 2 diabetes
sufferers.
- (2003 – 2004) Served as Principal Software QA
Engineer for a new type of endoscope. Duties
included making sure that the software development
was in full conformance to the FDA Quality System
Regulation / 21 CFR 820, ANSI / AAMI SW-68, ISO
14971, 21 CFR 11, and each of the stakeholders’
internal Standard Operating Procedures. Also
served for a time as acting Software Project
Engineer for the project, with duties that
included managing the activities of a group of
off-site software developers, and assisting in
defining the job description and qualifying a
permanent employee to take over that role.
- (Prior to 2000) Numerous additional medical
device projects completed, dating back to
1990. Details on request.
Avionics
- (2007 – 2008) Performed a full requirements
analysis and top-level design for a digital
communications system for Boeing 757 airliners and
freighters being developed to FAA DO-178B
standards, using C++ on MicroC/OS-II operating
system. Client retained my services in doing the
requirements analysis while they searched for a
qualified permanent employee to continue the
development.
- (Prior to 2000)
Additional avionics projects completed; details on
request.
Consumer
- (2007 – 2008) Served as independent software
quality assurance analyst for a new type of ice
cream vending machine; system used a Linux-based
multi-tasking software package driving custom
hardware to dispense individual servings of ice
cream of the customer’s choice of flavors and
mix-ins.
Marine /
Maritime
- (2004 – 2005) Designed and implemented the
software for a feasibility prototype of a SCADA
(Supervisory Control And Data Acquisition) system
to monitor and control the operation of appliances
in a shipboard galley for the US Navy. System was
implemented using the Iconics Genesis32 SCADA
platform and Visual Basic code. Also served as
advisor for system- and hardware- related issues.
- (2001 – 2003) Software architect and key
software developer for a navigational system for
installation on oceangoing ships. Also served as
mentor to other software engineers in the areas of
C++, VxWorks, Tornado, and Unified Modeling
Language (UML).
- System provides a central redundant
fault-tolerant computer that takes inputs from
Inertial Navigation Systems (INS), Global
Positioning Systems (GPS), depth sounder,
magnetic compass, speed-through-water sensor,
and redundant weather sensors, and outputs
information to shipboard displays and other
shipboard systems.
- Central computer provides services including
Dead Reckoning capability so that the ship’s
position could be estimated in case of failure
of the INS and GPS.
- Central computer consists of two PowerPC
processors in a CompactPCI chassis.
- Designed central computer software using UML
on Rhapsody Modeler with implementation in C++
on VxWorks 5.4 and Tornado 2.1.
- Designed and implemented a graphical display
on Linux / Xfree86 using a TCP/IP network
connection to display the real-time value of
variables in the VxWorks target system
software, for use in debugging and
verification.
- Provided code modification and code review
services and assisted in testing and debugging
of the Graphical User Interface (GUI) for this
system, which was implemented on a ruggedized
PC using Microsoft Visual C++.
Telecommunications
- (2005 – 2006) Served
as senior software engineer for a multi-device,
multi-node Voice over IP communications network
implemented on embedded Linux in C++.
- (2000 – 2001) Key
software developer for a Voice Over IP (VoIP) test
system for use in testing and validating VoIP
gateways. Platform was PowerPC and VxWorks with
development under Tornado 2 in C and C++. .Served
as mentor and instructor to other software
engineers. Served for a time as acting
Principal Software Engineer / Technical Lead for
this project while the client went about the
process of hiring someone on a permanent basis to
assume that role.
Military
- (2004) Hired to perform a major system upgrade
to a Night Targeting System Upgrade Kit for
helicopter flight simulators that I had developed
in 1995-1997. Original project was developed to
run across three separate processors, with two of
the three processors executing single tasks. This
year’s upgrade involved moving to a new, faster
CPU with a single processor. This required an
extensive restructuring of the system software to
run in multiple tasks (a total of 19 prioritized
tasks) on VxWorks 5.5.1 using Tornado 2.2.1 as
IDE.
As part of this project, I designed and wrote a
multi-tasking data simulator on Microsoft Visual
Studio / Visual C++, to send and receive
formatted data concurrently across 6 serial
ports to the target system. This tool involved
creating several dialog boxes to configure the
outgoing messages and specify the expected
configuration of the incoming messages.
- (Prior to
2000) Additional military projects
completed; details on request.
Other
- (2007) Performed a major software rehabilitation
and refactoring project on a complex machine
vision system whose software documentation has
become obsolete, and the C++ software has become
unmaintainable.
- (2004 – 2005) Designed and implemented the
software for a feasibility prototype of a SCADA
(Supervisory Control And Data Acquisition) system
to monitor and control the operation of appliances
in a shipboard galley for the US Navy. System was
implemented using the Iconics Genesis32 SCADA
platform and Visual Basic code. Also served as
advisor for system- and hardware-related issues.
- (Prior to 2000) Numerous projects completed in
many industry segments dating back to 1976;
details on request.
Online Information Systems
- Founder and
principal system administrator for NETIS Public
Access Internet, an Internet service provider
(ISP), established in 1988 as a small community
bulletin board system (BBS). In 1992 this
service became the first such BBS anywhere in
the world to provide direct Internet access to
callers.
- Principal architect
and administrator for NETIS AuctionWeb
(www.auctionweb.com), a World Wide Web-based
advertising and listing service for auctioneers
and auction companies. Prior to the sale of that
business in 1999, NETIS AuctionWeb was the
largest and most active such listing and
advertising service for auctioneers anywhere in
the world.
- Designed and built a
system for real-time audio and near-real-time
video for broadcasting auctions over the
Internet.
REFERENCES: Available on request.
Copyright 1998-2016 RKT Technologies,
Inc. ALL RIGHTS RESERVED. Permission
is hereby granted to make and distribute copies of
and extractions from this page only
for the purpose of conveying information about RKT
Technologies, Inc. to past, current, or
prospective clients and technical service
agencies.
Send any questions, comments, or
complaints to webmaster@rkt-tech.com
|