CV - Dr. Adrian Hilton
Software Engineer
Resumé
Adrian is an experienced chartered engineer with specialist knowledge
in investment banking software infrastructure, safety-critical systems
and programmable logic. He has worked on a wide variety of projects
including development of business-critical investment banking software,
development, analysis and verification of military aviation systems,
development of a commercial static analysis tool, validation of
programmable logic in
high-integrity systems and correctness proofs of formally developed code.
He also has experience of developing embedded software and applets
for mobile communications devices.
Education and Qualifications
- 2006
- Securities and Investment Institute
Certificate in Securities and Financial Derivatives
- 1998 - 2004 (part-time)
- Open University, Department of Computer Science
Ph.D, title "High Integrity Hardware-Software Codesign"
March 2004: viva pass,
Prof. S. Stepney,
Dr. J. Fernandez-Ramil
as examiners
- 1991 - 1996
- Oxford University, St. Hugh's College
1991-1994 BA Mathematics and Computation, Class 1 (Hons)
1994-1996 MSc Computation by research (unsubmitted, PhD based on this)
Professional Affiliations
- 2003: Chartered Engineer
- 2002: Member of the Institution of Engineering and Technology (was the IEE)
Experience
- Major investment bank (May 2005 - present)
- Associate :
Working in a team managing the builds,
testing and distribution of trading and pricing software on Unix
and Windows hosts. Tasks include:
- development and bugfixing of existing and new infrastructure
for financial application development and distribution;
- support for developers' use of the infrastructure including
diagnosing the cause of problems and either solving them or
rerouting to more appropriate teams;
- locating build breakages in project builds and assigning their fixes
to appropriate developers;
- managing the build and release cycle of the trading and pricing software.
- Praxis High Integrity Systems Ltd. (July 2002 - April 2005)
- Senior software engineer:
- providing on-site consultancy to a leading avionics company for the
development of a safety-critical helicopter communications system. The
development incorporated several PLDs and was required to be developed to
RTCA DO-254 Level A integrity. Adrian reviewed the system, produced a
Level A safety argument and successfully brought it through safety
authority review.
- writing a guidance report for the UK
Ministry of Defence Advanced Avionics Architecture program, focusing on achieving safety
certification and re-certification of software executing on Programmable
Logic Devices in military systems.
- providing on-site consultancy for the development of a secure
communications filter written in Ada and running on Trusted Solaris.
He rewrote the program in SPARK Ada 95 with full proof of exception freedom
and produced documentation supporting the sub-system certification at
Common Criteria EAL-4.
- team leader for the V&V of a maritime helicopter tactical avionics
subsystem written in Ada 83, developed and tested under Rational Apex
and TestMate. He was responsible for directing the testing effort of the
project team, tracking team reviewing progress, developing and rolling
out an Ada- and Make-based functional test harness for the
system, writing Perl to support review activities and liasing with the
client to resolve review anomalies.
- working on the SPARK Examiner development team, reviewing documentation
and testing the Examiner in preparation for the John Barnes book "High
Integrity Software: The SPARK Approach to Safety and Security". He was
responsible for reviewing the text and code in the draft chapters,
porting the Simplifier tool to Linux, updating the Examiner release
documentation, and managing the CD-ROM Makefile for the Windows and Linux
platforms.
- Teleca UK Ltd. (April 2000 - June 2002)
- Project manager / senior software engineer:
- team leading development of the user interface part of a Java 2
MicroEdition interpreter, CLDC 1.0 for Mobile Information Device Profile
1.0. This was a mixed team of Teleca and client staff.
Adrian was responsible for managing change requests, fault tracking,
project planning, team training and developing and enforcing team software
development practice. In an engineering role he wrote and maintained
the MIDlet lifecycle manager application. Software was written in C and
the client's proprietary graphical design language, running on a
proprietary OS in a family of mobile devices. Related work included writing
a range of J2ME test and demonstration MIDlets, bug-fixing other parts of
the J2ME implementation and writing a Perl static analysis tool for the
graphical design language.
- team leading the re-design of a calendar application for a family of
mobile devices. This was a team of Teleca staff working on client
site. Adrian was responsible for the application lifecycle from functional
requirements through to system testing. He also worked with the UI
designer for a consistent application interface and liaised with client
programs to arrange delivery and handover dates. In an engineering role
he wrote the server part of the application to manage note handling
functions. He also wrote a Perl test harness to regression-test the
server software. The software was written in C, running on a
proprietary OS in a family of mobile devices.
- Praxis Critical Systems Ltd. (July 1996 - March 2000)
- Software engineer:
- verifying safety properties of the object code of a critical avionics
program compiled from Ada 83, using a novel approach including the use of
Perl code to simulate partial execution of the PowerPC code.
- working on a client site in North America on development of a
Stores Management System (SMS) for a military aircraft modernisation
program. His chief responsibility was providing consulting on the use
of SPARK Ada and the SPARK Examiner for design and implementation.
He also took on design, development, integration and system testing of
two core modules of the SMS.
- redesigning and implementing a test suite for the SPARK Examiner
product. The test suite used Perl and RCS, ran on all the Examiner's
platforms (Solaris, SunOS, Windows NT, VMS, and later Linux) and
allowed easy regression testing of new versions of the Examiner at high
levels of product assurance.
Machines and Operating Systems
- Desktop PC
- MS-DOS and Windows 3.11 / 95 / ME / NT / 2000 / XP,
Linux (Red Hat, SuSE), OS X Darwin (10.3+)
- Workstation Unix
- Solaris (5.6, 5.8), SunOS 4, HP/UX, Digital UNIX
- Other
- Digital VMS
Programming Languages
- Java (J2SE, J2ME)
- Perl (including extensive CGI programming)
- Python 2.4 (including Twisted framework)
- C, C++ (gcc 3, SunStudio 11)
- Ada (83 and 95), SPARK Ada
- VHDL
- HTML 4.01, XHTML 1.0, CSS Levels 1 and 2
- Visual Basic
- XML
Tools
- Rational Apex, Purify
- make and imake
- CVS, RCS and Continuus CMS
- Visual Studio 2003
- TeX and LaTeX
- Lotus Notes 4
Standards
- UK Defence Standards 00-54, 00-55 and 00-56
- Common Criteria
- RTCA DO-178B / EUROCAE ED-12B
- RTCA DO-254 / EUROCAE ED-80
Foreign Languages
- German (competent)
- French, Italian, Tagalog and Romanian (working)
Academic Activities
- Member of the B program committee for ZB 2005, April 2005
- Representative of Praxis on the EPSRC-funded
UK industrial / academic research network on methods for
refinement (RefineNet), 2003 to 2005
- Member of the program committee for the Workshop on Software
Engineering for High Assurance Systems at the International
Conference on Software Engineering, Oregon, May 2003
Selected Published Papers
- A J Hilton and J G Hall, "High-Integrity Interfacing to Programmable
Logic with Ada", Proceedings of the 9th International Conference on
Reliable Software Technologies (Ada Europe 2004), June 2004
- A J Hilton and J G Hall, "Mandated Requirements for Hardware / Software
Combination in Safety-Critical Systems", Proceedings of Requirements
for High-Assurance Systems (RHAS 2002), September 2002
- A Hilton and J G Hall, "Refining Specifications to Programmable Logic",
Proceedings of the Refinement workshop at Formal Methods Europe
(REFINE 2002), July 2002
A full list of my publications is
on my personal website.
Please contact Adrian Hilton if
you are interested in this CV.