William Mark Clark
Huntsville, Alabama 35801
(Home) 256-***-****
(Cell) 256-***-****
mailto: ******@*******.***
Position desired: Senior Software Engineer
Title: Real-Time Embedded Software Engineer
Summary
-Many years of experience designing and developing complex real-time multi-computer software systems.
-Experience has spanned all software development life cycle phases to include requirements analysis, software design, development, rapid prototyping, simulation development, unit test, integration test, and package test.
-Currently working on a software package used for performing validation testing of a custom Data Modem that communicates using Ethernet/CORBA and MIL-STD-1553. Software is being developed using Visual Studio, C# and C++.
-Two other projects that I have worked on over my career are:
oSoftware integrator and developer for the Display Management System (DMS). DMS was a custom built Z80-based (8 bit) microcomputer which used a custom Z80 assembly computer system to perform protocol conversions for several custom devices which communicated with an IBM 370 mainframe. The DMS enabled these devices to communicate with the new AMDAHL mainframe computer which replaced the IBM mainframe.
oDeveloped a real-time operating system (RTOS) modeled after DEC’s RT11 operating system. This RTOS was written in Dec Macro-11 assembly language and handled all RTOS functions to include receiving keyboard input, scheduling tasks, and receiving and processing device interrupts issued by the disk controller, graphics terminal, system clock and other peripherals.
Software/Hardware Experience
-C
-C++
-C#
-Visual Studio
-Ada
-Java
-Assembly languages - MACRO 11 (16-bit), Z80(8-bit), and IBM 370 assembly language
-FORTRAN
-UNIX / LINUX
-Eclipse
-vxWorks 5.2 OS
-Embedded Software Development
-Sun Solaris Operating System 5.6, 5.8, and 5.10
-Custom Real Time Operating Systems (RTOS)
-Z80 custom RTOS Software Development
-Device Interface Software •
-Alta Data Enet-1553
-RK05 Disk Controller
-Astro-Med stripchart recorder
-Vector General Graphics Terminal
-Analog and Digital Convertor Cards
-Reflective memory
-Bar code label microcomputer
-Plug and Play Kennedy Tape Drive emulator
-Plug and Play Advantech computer that emulates a SCSI Tape Drive system using 6 SSD drives
-Intercomputer communication using Reflective Memory, MIL STD-1553, TCP/IP, RS-232, HDB-10 and Taxi Fiber Optic Cards
-Software version control systems: Project Locker, ClearCase, CVS, and SCCS
-UNIX System Administration
-Realix (UNIX real-time Operating System)
-DEC Operating Systems - RT11, RSX11M, VAX/VMS
-Software through Pictures (3), CASE 2000
-COBOL
-FORTH
-ClearCase
-CMMI Level 3 and 5
Work Experience:
Senior Software Engineer, SAIC, Huntsville, AL (11/2014-04/2022)
-Developed a software package that is used for FQT of a custom data modem. This data modem communicates using both Ethernet/CORBA and 1553 inter-computer communications.
-Developed the interface software for an Alta Data Enet-1553 device. This interface software was the 1553 Bus Controller (BC).
-This software runs on a Windows platform and is being developed using Visual Studio, C# and vendor provided API’s for communicating with the Alta Data Enet-1553 device.
Contractor, AAR Corporation, Huntsville, AL (10/2013 - 5/2014)
-Developed a plug and play emulators which replaced a Kennedy tape drive and a SCSI disk drive.
-These emulators ran on an Advantech computer containing 4 SSD drives running the Linux operating system and were connected to an LCCA computer box which enabled them to communicate with the system's HDB-10 bus using Ethernet packets.
Mid-Level Software Engineer, Tec-Masters, Huntsville, AL (6/2012-5/2013)
-Software Engineer working on upgrading a Radar simulation system to run on X-86 processors.
-Updated the real-time C, C++ and Ada software to incorporate changes made to the MATLAB simulation.
Superior Technical Resources, Arlington, Texas (8/2011 - 11/2011) • Contract Senior Software Engineer – Avionics to L-3 Communications.
-Responsible for correcting software problems and verifying software updates for the F-18 Tactical Operations Flight Trainer (TOFT).
-Learned how to perform bubble sync and merge sync software updates for software releases for the F-18 TOFT.
-Verified software updates to C++, C, and Fortran programs for the Message Information Distribution System (MIDS).
-Learned how to cycle through the F-18 cockpit displays to connect the F-18 to the MIDS Link-16 network and to send and receive MIDS messages.
-Developed documentation that described how to build each of the 4 major subsystems used by the F-18 TOFT.
Embedded Real Time Software Engineer, Boeing, Huntsville, AL (10/2000 – 9/2010)
-Developed software enhancements and isolated hardware problems at the International Space Station' Payload Software Integration and Test Facility (PSIVF) in Huntsville, Alabama.
-Assisted in upgrading PSIVF to run on new hardware consisting of a Sun Server and Sun workstation using Solaris 8. During this upgrade, updated the system build scripts and improved system build time by 83%.
-Added dual monitor support to Sun workstations.
-Assisted in developing proposals for upgrades the hardware and software to replace equipment that had reached it end-of-life (EOL).
-Enhanced Java Graphical User Interface (GUI) that enables users to create custom Forms containing text boxes, text areas, buttons, labels, lists, check boxes, radio controls, and numeric fields. Numeric fields contain pop-up menu that converts numbers to decimal, hex, octal, and binary.
-Updated GUI to record all user input into script files. These script files were then converted into automated test scripts. This capability improved test development time and enables the test team to automate the Formal Qualification Test (FQT) procedures.
-Upgraded reflective memory to use upper two megabytes on one chassis and the lower two megabytes on the other five chassis. Reflective memory on Sun server was 4 megabytes.
-Installed and verified Digital and Analog VME chassis card software provided by the manufacturer to verify that the cards were properly installed and what their device addresses were configured at.
Senior Computer Scientist, CSC, Huntsville, AL (4/1996 - 10/2000)
-Developed the Command Management (CM) system used for creation of spacecraft subsystem and instrument command loads for uplink to NASA's CHANDRA satellite.
-Upgraded software system used for Data Acquisition and Analysis of rocket engine test data at the MSFC Test Stands. Added the external interrupt task which caused an indication to be placed on the plot of real time acquisition data. Also updated the HighSpeed magnetic data record software to work correctly.
Computer Scientist, CSC, Laurel, MD (7/1982 - 4/1996)
-Package Test Coordinator and software developer of the Diagnostics subsystem for the Display Management System (DMS). DMS was a custom built Z80-based microcomputer that performed protocol conversions for several custom devices used at NASA’s Flight Dynamics Facility in Greenbelt, Maryland. These devices were interfaced to an IBM 370 mainframe.
-Assisted in the development of the Payload Operations Control Center (POCC) for the WIND and POLAR satellites.
-Worked as the software integrator, and developer for the WIND and POLAR POCCs which used the NASA Transportable Payload Operations Control Center software. For each satellite this software was enhanced with mission specific software that was needed for the satellite.
-Task leader on the WIND and POLAR project for the final three years before the contract was transitioned to the NASA maintenance contractor.
-Developed the File Transfer Subsystem for the UARS satellite Central Data Handling Facility.
-The subsystem allowed users to schedule file transfers from a Mass Storage Device. File Transfer scheduling was controlled using interface routines that called embedded SQL commands to update and read file transfer database tables and mass storage system file database tables.
Embedded Software Engineer, Vector Research Corporation, Bethesda, MD (1/1980 –
7/1982)
-Completed development of the US Navy’s Prototype Inventory Location Audit Project (ILAP) that would enable users to perform Inventory Location Audit in US Navy warehouses worldwide. This system used a PDP 11/70 mini-computer running a COBOL system that contained the Warehouse's location audit data. Developed the assembly language device driver to communicate with the Bar Code Label scanning microcomputer. The microcomputer was loaded with the Inventory Location audit data for a portion of the warehouse and the user would go to that section of the warehouse and perform the Location Audit updating the inventory records as required. The user would then return to the main computer and upload the new Inventory data which updated the Master Data Base.
-Developed a prototype Microcomputer Computer System that enabled the US Navy shipboard classified computer system and unclassified computer system to stage file transfer and receive operations.
-Interfaced a PC with two RS-232 cards with DB9 connectors with on RS-232 card on a DEC PDP with a RS232 DB25 connector by using one of the DB9 cards to provide the data at one baud rate and the other DB9 card to provide the timing signal at twice the baud rate by transmitting b’01010101’. The second card provided the receiver clock signal required by the DB25 connector.
-Developed the real-time operating system (RTOS) modeled after DEC’s RT11 operating system. This RTOS was written in Dec Macro-11 assembly language and handled all of the RTOS functions to include receiving keyboard input, scheduling tasks, and receiving and processing device interrupts.
-Modified Dec’s Fortran Graphics API to run on a Vector General Graphics terminal instead of the Dec’s VT100 Graphics terminal. This required that the assembly language routines be modified to support the VG Graphics terminal.
-Modified the Online Pattern Recognition System to run on a PDP computer with other model peripherals. This system was very large so to verify that the update worked we only tested the features used by the customer.
Education
-BS Mathematics, University of Maryland, College Park, MD.
-Programming courses in SQL, JAVA, C++, AI and LISP, IBM Assembly language, and
COBOL.
-Other computer science knowledge was obtained by learning the necessary skills while working on the project.
-Fluent German.
Personal
-Secret Security Clearance.
-Friendly individual who enjoys working with others.