Designed and implemented a subsystem control (hardware) abstraction layer in a large-scale object oriented data-driven system to allow for plug-and-play architecture of the application, and resulting in large-scale code re-use for newly developed hardware platforms.
Designed and implemented a complete error handling and recovery system for a medical ultrasound machine, including watchdog timers, exception handling, and system shutdown mechanisms (for patient safety), capable of saving system state information such as stack traces and core files. Also developed a logging mechanism to archive such information for remote retrieval and post-mortem analysis.
Led an inter-disciplinary team of software engineers and product development marketing personnel to address, and resolve, performance and other user interface issues, resulting in greater user acceptance and market penetration.
Assisted in the development of a software automated test environment, capable of running both on the target and in a simulation environment, for full regression test capabilities, thereby reducing the cost of defect resolution by identifying such defects early in the development cycle.
Led an inter-disciplinary team in the design and implementation of a system in which ultrasound imaging parameters, needed to set up machine hardware, were removed from in-line software code and moved to an on-line relational database, thereby reducing on-going maintenance problems, as well as allowing image analysis engineers to specify, and see the results of changing, imaging parameters in real-time.
Actively participated on a team chartered to define, and put into affect, guidelines for software engineering standards and processes organization wide, for on going, and future, development in line with current industry accepted software engineering methodologies and practices.