iMX-53 (ARM Cortex) / 68332 / 8051
(Multiprocessor)
- (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.
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.
- (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.
Power PC
- (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. Client retained my services in doing
the requirements analysis while they searched for
a qualified permanent employee to continue the
development. System is based on MicroC/OS-II
operating system.
- (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++ using Object Oriented Analysis, Design, and
Programming (OOA/D/P) including UML and Use Cases.
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.
IBM PC
Compatibles - Windows, MS-DOS
- (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.
- (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)
Multiple Windows / MS-DOS projects completed;
details on request.
IBM PC
Compatibles - Unix, Linux
- (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++.
- (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)
Other Linux projects completed; details on
request.
Other
- (Prior to 2000)
Numerous projects completed using 80x86, 68xxx,
8051 and variants, Z80 and variants, 6502 and
variants, PIC, and 1802; details on request.
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
|