Justin Edward Lewis – Curriculum Vitae
Overview
I am a software professional with many years' experience in the fields of scientific, military and remote control systems. My speciality is the design and development of satellite ground control systems but my wide-ranging experience of the system development process is generally applicable, particularly to projects with demanding performance or reliability requirements.
The success of the Inmarsat Storm Satellite Support System ('I4S', described below) illustrates my capability at object-oriented analysis and design: needing only low-cost and low-risk enhancements the I4S has evolved to work with European, American and Indian spacecraft with widely differing support requirements.
Technologies
Technology | Active | involvement |
Object-oriented design and programming | 16 | years |
Use of Design Patterns | 14 | years |
Distributed systems design and implementation | 15 | years |
Real-time systems | 30+ | years |
CORBA (BOA and POA) | 10 | years |
RDBMS internals | 2 | years |
C++ | 16 | years |
Multithreading | 13 | years |
TCP, UDP, Sockets | 5 | years |
Standard Template Library | 13 | years |
ACE toolkit and frameworks | 6 | years |
Java | 6 | months |
Java Native Interface | 4 | years |
JDBC (to Oracle) | 2 | months |
Oracle SQL *Plus | Occasional | use over |
14 | years | |
C#, ASP, .NET, SQL Server | 13 | months |
Fortran (4, 77) | 18 | years |
C | 2 | years |
Unix (Solaris) | 18 | years |
Windows | ||
(and Unix/Linux/Windows cross-platform development) | 6 | years |
MPX-32 | 12 | years |
VMS | 5 | years |
Employment and Projects
2000 - present | Cortex (South West) Ltd, an independent software consultancy |
May 2000 to present (various work packages totalling 113 months)
Contracted to Inmarsat to enhance I4S (see below), allowing it to support more types of satellite. Responsible for migrating the telecommand subsystem from Orbix (CORBA 2.1, Basic Object Adaptor) to ACE/TAO (~CORBA 3, Portable Object Adaptor). Member of the launch support team for the Inmarsat-4 F1 and F2 satellites.
Co-authored a study on major modifications to the system to allow it to support packetised telemetry (for Alphasat) and then to use the same techniques for frame-rate processing of conventionally-formatted telemetry. Defined the requirements for translating various manufacturers' spacecraft databases into I4S format and coded, in Java, the Translator for Alphasat.
Built a framework for real-time encryption services, using open-source packages (the ACE toolkit and Crypto++). The initial application applies AES to satellite commands, but the framework has the flexibility to use a wide variety of algorithms and key lengths in many scenarios requiring rapid encryption or decryption.
September 2003 to December 2013 (various work packages totalling 46 months)
As subcontractor to Symban Ltd, I designed, and implemented in C++, major subsystems within RETINA, developed for the European Space Agency's Navigation Support Office. This checks in real time the availability and quality of data from global navigation satellite systems (initially only GPS, but now including Galileo and three other constellations). I used the ACE toolkit for platform independence – the system will run on Unix, Linux or Windows – and for its real time 'Reactor' framework to handle incoming station data (received via TCP or UDP). The system's architecture depends heavily on a TCP-based distributed filing mechanism which I designed and implemented. I was also responsible for the TCP-based inter-process communications for this distributed system.
September 2008 to February 2009
Working in a consortium, led by GMV of Madrid, to define requirements and study implementation options for a GNSS results storage, analysis and monitoring tool to be used by the European Space Agency's Navigation Support Office.
September 2007 to June 2008
Implemented www.coverdisczone.com, a three-tier Web application using distributed agents, coded in C# with .NET, to populate the database, via ASP and SQL Server.
1989 - 2000 | International Maritime Satellite Organization (Inmarsat), |
latterly the International Mobile Satellite Organisation, | |
now Inmarsat Global Ltd |
September 1997 - April 2000
Manager of Inmarsat's Satellite Operations Support Group, with responsibility for maintaining round-the-clock availability and reliability of the critical systems through which Inmarsat's satellites are monitored and controlled. Two successful launches during my first six months in this rôle completed the company's then fleet of nine spacecraft.
I drove the Y2K validation of the telemetry, tracking and control segment, a project on which validation of the company's other systems was modelled. Although a small number of bugs were detected and corrected during this process, all our systems behaved perfectly on the night.
Initiated, managed, and was technical lead on the architectural design for a 20-man-year programme to replace Inmarsat's legacy Satellite Support System with a distributed, object-oriented system in C++ and Java, on Sun Solaris and NT platforms, using Iona's Orbix CORBA implementation. I took it on myself to crack the major technical challenges such as multithreading and distributed memory management. The system is now the kernel of an international joint development ('I4S') between Inmarsat, L3 Communications – a leading US aerospace company – and Astrium (now part of Airbus Defence and Space) – the dominant European satellite manufacturer. I4S is currently being used by organisations worldwide to control some 25 satellites and to monitor a further 20 spacecraft.
February 1996 - July 1997
Managed a $1M project, implemented by a US Software House, to automate routine and contingency satellite-control procedures through Gensym's G2 real-time inference engine. Its successful completion saw Inmarsat becoming the first satellite operator to implement 'hands off' satellite commanding from an expert system.
January 1993 - May 1996
Developed the infrastructure and, with a contractor, the X/OpenLook gui for the flight dynamics system supporting the Inmarsat third generation ('I3') satellites' early orbit phases (from launcher separation to attainment of geosynchronous orbit). I was also the Quality Control authority for this critical system, written in FORTRAN and C and hosted on a small network of Sun workstations. I was a member of the Flight Dynamics team during all five I3 launches.
January 1993 - August 1997
Managed the 15-man-year internal project to upgrade Inmarsat's satellite control system to support the I3 spacecraft. Enhancements to this Encore-hosted Fortran system included uplink encryption, dwell telemetry processing and preparation of special commands for the on-board processor. The project also delivered two Sun-hosted peripheral systems written in C++ - an 'X.25 multiplexer' and an archiving system using an optical disk jukebox and tailored data compression.
November 1991 - December 1993
Managed a team of four contractors responsible for enhancing the satellite control system (then supporting Inmarsat's four second-generation spacecraft) and maintaining it in a state of ultra-high reliability.
April 1989 - October 1991
Worked on adapting the European Space Agency's Multi-Satellite Support System in time for the November 1990 launch of INMARSAT-2/F1, the first of the Organization's new generation of telecommunications satellites - Inmarsat acted as its own prime contractor for this very tightly scheduled and notably successful project.
1979 - 1989 | Logica Ltd, |
latterly Logica Space and Defence Systems Ltd |
Worked on seven projects, of which I led four, most being on site at the European Space Operations Centre (ESOC) in West Germany. Highlights were:
Education
University of Oxford | BA Honours in Geology with Crystallography, |
class II (upper) | |
University of Durham | Research in Geophysics |
Foreign Language Capability
Some French; fair German
![]() |
![]() |