
X-Platform Architectures
Different Platform but Common Interfaces &Â Common Code.
MBDA, Stevenage, Hertfordshire, UK January 2013 – October 2014
​
Service Orientated Architecture (SOA) (like DDS), with message passing for inter-thread communication, a shared memory message database to connect with a C-binding to the in-house Atena package of hardware drivers, all over an OS platform layer (both RTX C-runtime and Boost) and configured using a C# inspired C++ dependency injection (DI) layer, using Google Hypodermic.
​
IBM, Farnborough, Hampshire, UK November 2009 – March 2011
​
C++ Pattern based framework supported standardized message processing for local/link and data forwarding development for F, J and M series messages for the DLPS core server, which connected to an Oracle database. C++ interfacing to Link 11/16 Ada legacy core, with Link 22 written entirely in C++. Multiple message objects, managers and transmission rules developed in C++ alongside Simulator development.
​
Electronic Data Systems (EDS), Hook, Hampshire, UK May 2009 – July 2009
​
POCO (Plain Old C++ Objects) Capsule (an XML based IoC container) was applied to configure toolbar and controls (developed in wxWidgets, a cross-platform GUI toolkit, similar to Qt). Once this proof of concept was complete it could be adopted more widely on the project. The two open-source libraries each controlled their own event loop so separate event handlers were written for each side and custom events injected from a managing thread to oversee the initialization of the GUI from the IoC software.
​
National Air Traffic Services, West Drayton, Middlesex, UK November 2004 – December 2005
​
Developed with one other a UML/VC++/C++ based multi-threaded Platform Isolation Layer library to support the application development on both Linux and LynxOS from within Visual Studio. Developed the multi-threaded serial and client-side TCP/IP services for terminal server and alarm box hardware.
​
Shell International Exploration & Production, Rijswijk, Netherlands August 2001 – May 2004
​
Enhanced a VC++ 6.0/C++/Qt application framework for XP/AIX/Linux/Solaris/IRIX which provided reference counting, persistency and session management and integrated this into the MHR suite. A 2-tier layered architecture was designed to support well modeling and simulation. Objects were loaded from a multi-threaded CORBA server into a X-platform Windows XP/Linux client with Qt 3.3 GUIs either interactively or in batch mode by means of client-side, URL defined, data sources.
​