Skip to content

About

Me

I am a Lecturer in Computing with the University of Brighton at their Hastings campus.

Previous to this position I was a Consultant Developer for SchoolsICT.

I have achieved several academic qualifications: a PhD (see My Research below), a MSc (in distributed information systems, pass with distinction), and a BSc Hons (in computer science, first class) all from the University of Essex.

I am a member of the Institute of Electrical and Electronics Engineers (IEEE).

My Research

My research to date has addressed both theoretical and practical challenges in software modelling and evolution. Future research and transferable skills are addressed below.

In 2005 I became a core member of the development team for the LePUS3 design description language. LePUS3 is a formal language for the visual modelling and specification of the decidable properties of object-oriented design. LePUS3 is tailored to capturing programs, application frameworks, and design patterns. I improved the definition of the language. I applied the language to the problems of design verification and reverse engineering, for which I helped develop a proof of concept tool: The Two-Tier Programming Toolkit. In my PhD thesis I developed a new theory of classes evolved from LePUS3 and defined in the typed predicate logic; this theory captures object-oriented design at a greater level of detail, is more extensible, and allows for more rigorous logical analysis. Further details of both LePUS3 and my subsequent theory of classes can be found in the list of publications. Several further conference and journal publications have been submitted and are awaiting notification. I obtained my PhD from the University of Essex under Professor Raymond Turner and Dr Amnon H. Eden, examined by Professor Martin Henson and Professor Jonathan P. Bowen, and funded by the European and Physical Sciences Research Council (EPSRC).

I maintain a strong interest in object-oriented software modelling, specification, reasoning and analysis. I would like to broaden my research beyond this into aspect/service-oriented architectures, systems security, agent based systems, and databases. Six years of postgraduate study and research have given me many transferable skills, such as project management, team/independent working, technical/academic writing, presentation/communication skills, and teaching/training.

My Technical Skills

The following is a (by no means complete) list of keywords indicating what languages/programs/systems/etc I have had some experience with.

  • Software Design: ER Notation (Chen, IE, etc.), UML, Z, LePUS3/Class-Z
  • Application Programming: Java 1.4 – 1.6, J2EE/J2SE, Generics, JDBC, Swing, JavaDoc, Apache Ant, Eclipse, Eclipse Rich Client Platform (OSGi Framework), JUnit
  • Web Programming: XHTML 1.0 Transitional/Strict, HTML 4.01, CSS 2/3, JSP, JSTL, Servlets, PHP, Javascript, JQuery, Apache, Tomcat
  • XML Technologies: XML, XSL (XSLT, XPath, etc.), DTD, XSD
  • Database Management Systems: MySQL, IBM DB2 , DB40, Microsoft Access (Including VBA)
  • Scripting: Perl, Python, Lua