Curriculum vitae

Roland Martin
BSc, PhD
Postal address:
43, The Lawns
Staffs DE13 9DA
United Kingdom

Phone: +44 7976 286 156

Roland Martin

Software engineer with strong scientific background and in-depth experience in mathematical analysis and software design. Trained by leading UK technical software consultancy in professional project planning and documentation. Experience in smart card technology, device drivers, signal capture, data processing, image analysis and databases. Highly skilled in object-oriented analysis and design. Majority of recent experience in Microsoft technologies, including VC++ and COM, but readily adaptable to other environments and languages.


1994University of Liverpool
 PhD Physics
 "A Measurement of the Structure Function of the Proton, F2 (x, Q2), at Low Bjorken-x"
1990Lady Margaret Hall, Oxford University
 BA 2(i) Hons, Physics
1987A levels - Maths (A1), Further Maths (A), Physics (A), Chemistry (A)


Jun 2000 - May 2002 Senior Software Engineer, Software Engineer, Smart Silicon Systems Pty Ltd. Australia
Jan 1999 - Mar 2000Analyst Programmer, Tessella Support Services plc, Abingdon. UK
Dec 1996 - Sep 1998 Research Associate, BaBar Group, Imperial College, London University
Apr 1995 - Nov 1996Research Associate, H1 Group, Liverpool University. UK
Apr 1994 - Mar 1995Research Associate, H1 Group, DESY, Hamburg


ProgrammingC++ (5 years), VB (1 year), C (3 years), Fortran (6 years),
 SQL (1 year), ODBC (1 year), ADO (9 months),
 COM (ATL, 2 years), Java (9 months), XML (3 months)
Environments Windows 95/98/ME/NT/2000/XP, Linux, VxWorks,
Packages Visual Studio (C++, MFC, VB), MS Office, Visio,
 Visual Source Safe, Rational ClearCase, Intasoft AllChange,
 Install Shield, Objectivity (OO database), X-Windows


Jun 2000 - May 2002   Smart Silicon Systems Pty Ltd

Skills: Visual C++, C, MFC, Java, device driver development, COM, ADO, XML

Smart Silicon Systems is a provider of smartcards, smartcard readers and smartcard-based solutions.

I have been closely involved in developing device drivers (VxD and WDM) for a serial and a USB smartcard reader (the CardPro readers). I was also responsible for writing test plans for the readers and developing test software. Both readers have passed the Microsoft Hardware Compatibility tests.

The company also produces "SIM Manager" a Windows based application that allows users to read and write phone numbers and SMS messages to their SIM card from a PC. I have been responsible for maintaining SIM Manager, creating test plans and implementing upgrades as required by the marketing team. I have also recently completed designing and developing a set of ActiveX controls to enable a client to access SIM card data and produce a customised application for their own retail chain.

I was involved in all stages of the software development lifecycle for a SIM card analysis application. This enables telecommunications companies to validate the contents of a SIM card, checking card file formats and optionally file contents against their expectation. I am still in close contact with the main client, providing support and further development as required.

I also designed and implemented the software for an Autoloader, a machine that dispenses and adds value to smartcards and integrates into a backend reporting and accounting system. The autoloader hardware can include either a full screen with touch panel or a 2-line LCD display and two buttons, coin and/or note acceptors, a printer and a card dispenser.

I have recently completed a suite for user logon from a Windows client to a Novell network via NMAS (Novell Multiple Authentication Service). This involved writing a smartcard service for the Windows client, an NMAS client dll for Windows, NMAS server modules (dll for Windows/nlm for Novell Server) and Java GUI modules for configuring the logon properties for users through the Novell ConsoleOne administration tool.

Other projects include:

  • A Java API for CardPro using the Java Native Interface to enable interaction with smartcards and readers from a web browser
  • Producing a report on how smartcards might be used with a set-top box
  • An internal report on public key cryptography and standards
  • Studies of the use of smartcards in loyalty schemes
  • Internal software library design and development, software process improvement and quality control
  • A GINA dll for smartcard based log-on to Windows NT4.0/2000
  • The CardPro software development kit
  • Assisting the sales and marketing teams with documentation for project proposals
  • Customer support

Jan 1999 - Mar 2000   Tessella Support Services plc

Skills: Visual C++, UML, COM, ATL, Visual Basic, SQL

Tessella Support Services is a BS EN ISO9001 certified company providing software solutions to the scientific and engineering community. After initial training including the use of Microsoft Visual Studio, Visual C++ and MFC I worked on a customer managed project in the bioinformatics group at Oxford GlycoSciences (OGS).

Oxford GlycoSciences is one of world's leading proteomics companies. Samples of material are placed on gel covered plates and 2-gel electrophoresis is used to separate the sample into proteins by mass and acidity. The resulting plate is stained and scanned and the images are then analysed to identify changes in protein expression between samples.

Initially I redesigned and implemented the software used for the image analysis. The application is a windows console application developed in C++, using ODBC to connect to the OGS (INFORMIX) database. The main tasks of the application are to warp one gel image to match another, to import detected gel features into the database and to create composites of many gels, storing the results both as an image and in the database.

The previous application could be run in several modes to implement different parts of the data processing chain. Analysing the procedures used at OGS, I identified the atomic operations that could be used to build up the procedures and designed a command driven application. This allows changes in business procedures to be handled by changing the scripts used to run the program and also makes research into new methods of data analysis easier.

As well as re-implementing the existing functionality I have extended it, developing methods for measuring the backgrounds in gels and for modelling gels. I have also improved the quality of the warp, increased the performance of the application (reduced memory, increased speed).

From October until March I was part of a six person team (three developers, a manager and some input from two statisticians) designing and implementing a set of COM components to be used for mining the combined data from image processing and mass spectrometry. This is written using ATL for the underlying business components, VB for most of the GUI components and the application, and ADO for connection to a SQL Server database. My main responsibilities were for the data components, their persistence (both written using ATL) and components used to navigate the user selected data (written using VB). I was also heavily involved in the integration and debugging of the components and the main application

Dec 1996 - Sep 1998   BaBar Experiment

Skills: C++, UNIX, VxWorks, OMT, Objectivity

I worked as a Research Associate on the BaBar experiment, which was designed to detect the particles produced when beams of high energy electrons and positrons collide. Almost all the software for the experiment was written using object-oriented techniques in C++ and all data was stored in the OO-database “Objectivity”. I was a member of several working groups mainly dealing with the data acquisition and online processing of the data.

Online Calibration

I was a member of the online calibration group. As part of my responsibilities I was resident at Berkley for two months to write a prototype application to download data from the offline database to the readout boards. The work entailed writing a server application running under UNIX that interfaces to the Objectivity OO-database and a client application that caches the calibration constants in the readout microprocessor (running the VxWorks realtime OS). I also assisted in designing the classes used for processing the calibration data.

Online Core

I was a resident at SLAC (the Stanford Linear Accelerator Centre) for six months as a member of the core dataflow group. My primary responsibilities were as a member of the “tagged container” working group, defining and implementing the common interface to subsystem data. I was responsible for code that provides channel mappings of the subsystems and acted as liaison between subsystems and the core dataflow group on tagged containers and maps. The work entailed designing the persistent storage, off-line and on-line access to the description of the detector configuration.


I was responsible for the implementation of the calorimeter "tagged containers", the hardware database and code to convert between on-line and off-line data formats. I commissioned the first test stand that used the final readout components and data acquisition code. I was also responsible for programming the FPGA (using VHDL) that is used to monitor the status of the calorimeter transition boards.


I assisted in the implementation of the reconstruction code.

In addition to the above, I was responsible for maintaining the BaBar software on the Imperial College UNIX machines.

Apr 1994 - Nov 1996   H1 Experiment


I worked on the H1 experiment, built at DESY, Hamburg, which is used to examine the collisions of high energy electrons and high energy protons. Most of the software for the experiment was written in FORTRAN-77 and was required to run on IBM MVS, Vax and UNIX (SGI, HP-UX).

Forward Tracker

I was a member of the on-call team for tracker hardware problems and was responsible for test-pulse and rapid calibration. This involved defining and producing a set of quality assurance histograms that are monitored as the data is collected and writing code to calculate and track the calibration constants.

H1 Event display

I was the event display librarian for two years and was responsible for maintaining and updating the on-line and off-line event displays. The event display allows users to view real and simulated data. The offline version ran on UNIX and IBM platforms. The “on-line” version of the display ran on a Macintosh and was used to view events as they were being read from the experiment.


Whilst a PhD student, I wrote pattern recognition code for the H1 fast Monte-Carlo to identify particles from the energy deposits in the H1 calorimeter and also contributed to the data analysis package used by the experiment. I was also involved in several physics analyses. My thesis was one of the first measures of the proton structure function produced by H1. I later worked on studies of diffractive deep inelastic scattering and photon structure.