PhD, Computer Science. Durham University (2002 – 2006)
Title: Assessing the Dependability of Web Services.
Supervisors: Prof. Malcolm Munro (Durham University) and Prof. Jie Xu (University of Leeds).
My research involved demonstrating that network level fault injection can be used to assess the dependability of distributed systems by simulating the effects of software perturbation without access to service source code. This was accomplished by tailoring middleware protocol stacks to inject faults. Comparison was also made with both Hardware Implemented and Software Implemented Fault Injection techniques. This has lead to over 20 research paper publications.
Project Management Short Course (M865), Open University (Part Time) (1995 – 1996)
This was an Open University MSc module in project management.
BSc (Hons) 2(i), Computing. Oxford Brookes University. (1989 – 1993)
This was a four-year modular course in computing with a one-year industrial placement (Rutherford Appleton Laboratories). My final year project was designing and implementing a real-time kernel.
A Levels. Cambridgeshire College of Arts and Technology. (1984 – 1987)
‘A’ Level Computer Science (B), Mathematics(E) & Physics (O).
O Levels. Witchford Village College. (1979 – 1984)
6 ‘O’ levels including Maths & English.
C/C++ (STL); Python; Java; Bash; SQL; XML; Assembler; and various others
Linux; VxWorks; Solaris; Windows
Personal & Interpersonal Abilities
- Proven investigative, analytical and data assimilation skills.
- Good interpersonal skills and able to converse with a variety of audiences.
- Good written and verbal communication skills demonstrated by scientific publications and lecturing.
- Flexible and adaptable to changing working conditions and project requirements.
- Broad educational background, able to quickly acquire new skills and adopt new ideas.
- Full UK driving licence.
- Over 30 journal, conference and workshop publications spanning computer science and physics.
- IEEE Conference Publicity Chair, Programme Committee member conferences and workshops.
- Personal tutor at the college of St. Hild and St. Bede, Durham University.
- Trustee of the Caedmon/Coelfrid Trust, College of St. Hild and St. Bede, Durham University.
|Software Architect/Senior Staff Engineer (2015 – Present)||Qualcomm Technologies International, Cambridge Business Park, Cambridge.|
In 2015 CSR was purchased by Qualcomm Technologies International. I moved into a role of architecting and designing features for Voice and Music chip projects. A major feature during this period was defining a secure field update mechanism for our products. I was also Software Technical Lead for the second iteration of a Wi-Fi/BT chip.
|Software Architect/Senior Manager/Principal Engineer (2010 – 2015)||CSR, Cambridge Business Park, Cambridge.|
Initially employed as a Principal Engineer I worked in a ten person group responsible for providing coexistence solutions for the ISM band technologies produced by the company. In 2011 I moved to the role of software architect for the group to provide technical leadership and direction for the group as well as designing and implementing coexistence solutions, communicate the architecture to the technical staff, stakeholders and customers.
During 2012 – 2013 I also acted as the Senior Manager for the group. During this time I was responsible for line management of the team, career development, salary, grading and resource allocation and recruitment. I was the product owner for an agile scrum, defined roadmaps for product deliveries and provided line and project management reporting. During my time as manager of the group we delivered major performance improvements to our product line where performance had been static for the preceding 3 years.
During 2013 I took up an expanded architecture role for general platform architecture. The role involved providing architectural advice, expertise and oversight to both chip projects and platform projects within the company. I also have to act as a bridge between internal customers such as marketing and the engineering group to help interpret and specify customer use cases and hence allow detailed requirements to be defined.
My role involved a level of R&D and this was mostly undertaken using a combination of Python and embedded C at a variety of levels in the code bases, from low level HAL through to embedded application at top of stack.
|Software Engineer (2008 – 2010)||CfAI, Department of Physics, Durham University, Durham.|
I was employed by Durham University in the Centre for Advanced Instrumentation as a software engineer writing control software for the SALT High Resolution Spectrometer and the CANARY adaptive optics system for the William Herschel Telescope.
The SALT Spectrometer was a high-precision optical instrument combined with a very sensitive set of CCDs. The control software was written in LabVIEW and C++ and provided a control interface to the main telescope systems as well as controlling and monitoring the instrument.
The CANARY adaptive optics system was a pathfinder project for the future E-ELT MAOA adaptive optics system and has been successfully tested at the William Herschel Telescope on La Palma. My work on this project centred around architecting, designing and implementing in Python and C a CORBA based system running under Linux that was used throughout the system to provide real time control as well as high speed data capture, distribution and logging (in the region of 250 frames per second from multiple cameras).
Since most astronomical instruments are designed as distributed systems I acted as a domain expert on distributed systems techniques within the group and advised astronomers and engineers on general software engineering methods.
|Senior Software Engineer (1999 – 2002)||Wind River Systems (UK) Ltd, Swindon, Wiltshire.|
Wind River Systems was a world leader in Real Time Operating Systems (RTOS), with a sales and development workforce spread around the world. I joined Wind River as a Development Engineer/Team Lead to work on both their Windows based tools as well as vxWorks kernel implementation.
One of the major projects I was involved in was their VxDCOM product. This was an independently derived implementation of Microsoft DCOM. It was implemented from the initially published Microsoft DCOM functional specification and the Open Software Foundation’s Distributed Computing Environment functional specification. Fine details of the protocol were derived by network packet capture and hand decoding of packets. At all stages of the project issues of speed and code size had to be addressed. I was actively involved in design and implementation of the product and integrating it into other RTOS products. I also implement a complete automated test suite to test the product.
Another of the major products I was involved with was their WindView product. This was loosely based around the concept of a logic analyser for tracking program execution. Points in both the RTOS and user code were instrumented; data was captured and transferred to the host computer; this data was then rendered to display the data on a variety of graphs. I was a member on the team of approximately 9 people re-implementing this product in Java and Swing (from its original implementation of Tcl and C++).
I was a Team Lead for the Swindon Development Centre, which involved project planning, task assignment and liaising with the head office in San Francisco. In addition to this I was feature lead for the VxDCOM product and Test Lead for the Debugging tools supplied with the Tornado development environment.
|Team Leader (1998 – 1999)||Vodafone, Newbury, Berks.|
Team Leader of a Systems Development Department. Vodafone Central Services supplied billing services to other Vodafone Group companies. The billing system was implemented using an Oracle database with data extraction jobs running on Unix boxes. This data was then fed to a number of different systems, both Unix and NT4 based, to perform a number of different operations e.g. Paper billing, Electronic Billing, Data Warehouse.
My role was to manage the day-to-day operations of the department, liaise with other Vodafone (Client) companies and schedule project work. I was also responsible for designing and implementing an ISO 9000 compliant Quality System for the department. I undertook development work when required to smooth out resource shortages. While with the department I also undertook technical projects in Visual C++, Visual Basic, Pro C, Unix Korn Shell and SQL.
|Software Engineer promoted to Technical Manager (1994 – 1998)||Micrologic Solutions, Newmarket Road, Cambridge.|
Micrologic was a small software consultancy specialising in embedded software with offices in Cambridge and Oxford. Micrologic Solutions was acquired by ARM in 1999. In the past most of the company’s work had involved high speed embedded systems for telecommunication applications but during my time with the company it expanded into Windows GUI front-end software to support embedded devices. During my four years with the company I was involved with a number of projects, both embedded and Windows, some of which I Project Managed. In June 1998 I relocated to Oxford to set-up and run the company’s new satellite office in the region. This post, while primarily technical, also involved customer contact, writing bids and recruitment.
|Software Engineer (1993 – 1994)||Data Conversion Systems, Cowley Road, Cambridge.|
I was involved in the design, implementation and design proving of a number of radar digitiser testing systems. These were implemented on a custom 68040 based VME bus system running OS/9 with high speed analogue input boards and analysis cards. The analysis cards provided raw data from the equipment under test, which was then processed by the custom software via fast fourier transform. The required measurements were then extracted from the FFT. One group of systems worked as a keyboard operated application with a built in programming language. The second group of systems worked as GPIB instruments, performing the same calculations as the first but being built into a system with a number of different instruments.
|Systems and Application Engineer (1988 – 1989)||Arcom Control Systems Ltd, Clifton Road, Cambridge.|
I specified, designed and implemented an MS-DOS emulator to allow 80×86 machine code generated by Microsoft C and Turbo Pascal to be blown into EPROM and run stand alone on an 80186 based STEbus processor board. The emulator handled dynamic memory management, terminal emulation via RS232 and a minimal subset of the MS-DOS interrupts. The package also included an RS232 terminal emulator to allow code to be downloaded into the processor board’s RAM to allow for rapid system development. In addition to this I was also called upon to write a number of simple control systems to demonstrate various embedded products the company manufactured to customers.
|Academic Employment History|
|Research Fellow (2006 – 2008)||School of Computing, University of Leeds, Leeds, West Yorkshire.|
I was a Research Fellow at the University of Leeds where I was involved in several research projects and also lectured on the MSc module E-Systems and the BSc module Building Distributed Systems.
The biggest research project I was involved in was the NECTISE project. This was a Systems Engineering project jointly funded by BAE Systems and the EPSRC to investigate the use of Network Enabled Capability utilizing architectural concepts derived from Computer Science. These included Service-Oriented Architectures as well as other design patterns. My main involvement in this was to develop novel evaluation techniques for assessing these architectural models; present these models to BAE Systems employees as well as providing consultancy services regarding architecture and evaluation. I also supervised and mentored junior research assistants working on the project. Another project I was involved in was the CoLaB (Collaboration between Leeds And Beihang). It was an EPSRC funded collaboration between the University of Leeds and Beihang University, China, to create dependable middleware solutions for Grid computing. In collaboration with a team at Beihang University I contributed a fault injection tool that allowed dependability assessments to be performed on grid middleware to assess its robustness.
In addition to my research based responsibilities I was actively involved in national and international conferences in an organizational role: I served as publicity chair for two major IEEE Conferences; I sat on the steering committee for the UK eScience All Hands Conference 2007 and also acted as deputy PC chair; I served on numerous IEEE conference and workshop programme committees.
|Teaching Fellow (2005 – 2006)||Computer Science Department, Durham University, Durham.|
I was appointed a Teaching Fellow in the Department of Computer Science as part of the HEFCE funded ALiC project. I was responsible for lecturing undergraduate modules in C++, Distributed Systems, Operating Systems and Computer Networks. This entailed producing course material, as well as setting and marking exams and coursework. During the preceding two years (2003 – 2005) I had taught the Distributed Systems module on an ad-hoc basis, as well as undertaking practical demonstration duties.
- N. Looker and M. Munro, “Dependability Assessment of Service-Oriented Architectures Using Fault Injection,” in Developing Effective Service Oriented Architectures: Concepts and Applications in Service Level Agreements, Quality of Service and Reliability, J. Suzuki Ed., IGI, 2011.
- P. Townend, J. Huai, J. Xu, N. Looker, D. Zhang, J. Li, L. Zhong, “CROWN-C: A High-Assurance Service-Oriented Grid Middleware System,” IEEE Computer, vol.41, no.8, pp.30-38, Aug. 2008.
- J. Xu, P. Townend, N. Looker and P. Groth, “FT-Grid: A system for achieving fault tolerance in Grids,” Concurrency and Computation: Practice & Experience, vol.20, no.3, 2007.
- N. Looker, J. Xu, and M. Munro, “Determining the Dependability of Service-Oriented Architectures,” International Journal of Simulation and Process Modelling, pp. 88-97, vol.3, no.1/2,2007.
- N. Looker “Dependability Assessment of Web Services,” Durham University, Department of Computer Science, PhD Thesis, 2006.
- N. Looker, M. Munro, J. Xu, “Simulating Errors in Web Services,” International Journal of Simulation: Systems, Science & Technology, vol. 5, 2004.
|Selected Conference Papers|
- N. Looker and J. Xu, “Dependability Assessment of Grid Middleware,” pp 125-130, The 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, Edinburgh, UK, 2007.
- N. Looker, J. Xu, M. Munro “Increasing Web Service Dependability Through Consensus Voting,” presented at the 2nd International Workshop on Quality Assurance and Testing of Web-Based Applications, COMPSAC 2005, Edinburgh, Scotland, July 25-28, 2005.
- N. Looker, M. Munro & J. Xu, “A comparison of network level fault injection with code insertion,” 29th Annual International Computer Software and Applications Conference, COMPSAC 2005, vol.1,.pp. 479- 484, July 2005.
- N. Looker and J. Xu, “Assessing the dependability of OGSA middleware by fault injection,” Proceedings of 22nd International Symposium on Reliable Distributed Systems, SRDS2003, no.pp. 293- 302, 6-18 Oct. 2003.
A full publication list is available at http://www.lunar-seas.uk/papers
Google Scholar page at http://scholar.google.co.uk/citations?user=FXDkPCEAAAAJ