QNX Momentics
- (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.
IAR Embedded
Workbench for ARM
- (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.
FreeRTOS IDE
- (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.
Eclipse IDE
- (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.
Microsoft
Windows - Wind River VxWorks / Tornado
- (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.
- (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.
- 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++.
- (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.
Microsoft
Windows - Visual C++
- (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.
Microsoft
Windows - Other
- (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.
Solaris / Unix /
Linux - GNU Tools including Cross Development
Tools
- (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.
- (2005 – 2006) Served as senior software
engineer for a multi-device, multi-node Voice
over IP communications network implemented on
embedded Linux in C++.
Other
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
|