The University of Kent, Canterbury, Kent, CT2 7NZ, T +44 (0)1227 764000
Professor of Parallel Computing
I belong to the following research groups:
My Research Projects
Here are some of the projects and working groups in which I'm currently involved:
The common theme in the above is lightweight and dynamic concurrency. I am interested in its theory, practice and education. Supporting the latter are materials for a short course on occam-pi.
I've been fortunate that, for most of my career, I've been able to teach subjects that I love, that I really believe in and on which my research efforts concentrate. Currently (see Bio below), this focusses on concurrency - its theory, support tools (programming languages, libraries, compilers, runtime kernels) and applications (image processing, complex systems modelling, emergent behaviour). The main course for this is "Concurrency Practice and Design", which can be taken at Stage 2 (preferably) or Stage 3 undergraduate levels, or as part of a taught Masters. To those who love to program (lots) and want to discover some really cool and practical ideas (the world is concurrent, multicores are concurrent, clouds are concurrent – enterprises need people to match them up): come along and enjoy! ☺☺☺
Away from Work
Yes, there is a life! My teenage years exactly spanned the '60s, ending up in San Franciso in the summer of '69. While an undergraduate, played keyboard for a soul band (you won't have heard of them and I'm too embarassed to reveal our name). Got nowhere, but we did have fun ... as they say, if only we could remember it! Still, I hold my own in pub quizes when we get to the '60s round. My photo (above) may not be quite the most recent, but at least I can recognise it. I do a few other things ... but that's enough for here!
Peter Welch graduated in Mathematics from Warwick University (England) in 1969, taking his PhD in Computer Science from the same institution in 1975. His doctoral research was on semantic models for the lambda-calculus. Since 1972, he has been a Lecturer, Senior Lecturer and, from 1989, Professor of Parallel Computing at the University of Kent at Canterbury.
For the past 25 years, his main area of research and teaching has been in the field of concurrency and parallel computing. Applications of theory include a CSP model of Java thread synchronisation (that enables formal verification of Java multithreaded code) and CSP-based design rules for process network hierarchies (with proven safety properties such as the absence of deadlock, livelock and starvation). Long term research includes the design and development of tools supporting those rules, the design and compilation of parallel languages (occam-pi, ...), very lightweight CSP kernels (including efficient targeting of multicore) and the CSP class libraries for Java (JCSP).
He is Principal Investigator for the Kent part of the CoSMoS project (2007-2012). CoSMoS is researching patterns and frameworks for complex systems modelling and simulation, including the deliberate engineering of emergent behaviours. Typical models run to tens of millions of concurrent processes, with ever changing network topologies. Large models (needed for rich and interesting behaviours to emerge) rely on the lightweight concurrency support of occam-pi (for execution) and the CSP and pi-calculus process algebras (for formal, and informal, reasoning).
He has been a member of the IFIP Working Group 2.4 on Software Implementation Technology since 2001. This consists of engineers from industry and academia from all round the world and meets every nine months or so for a week in some interesting location. IFIP is the International Federation for Information Processing, founded in 1959 and is the unbrella organisation for most learned societies in Computer Science (including the ACM and IEEE in the USA and the BCS in the UK).
- To Boldly Go: an occam-π mission to engineer emergence. Peter H. Welch, Kurt Wallnau, Adam T. Sampson, and Mark Klein. Natural Computing, September 2012, Volume 11, Issue 3, pp 449-474.
- Santa claus: Formal analysis of a process-oriented solution. Peter H. Welch and Jan B. Pedersen. ACM Transactions on Programming Languages and Systems, 32(4):14:1-14:37, April 2010.
- A process-oriented architecture for complex system modelling. Carl G. Ritson and Peter H. Welch. Concurrency and Computation: Practice and Experience, 22:965-980, March 2010.
- Alting Barriers: Synchronisation with Choice in Java using JCSP. Peter H. Welch, Neil C. C. Brown, James Moores, Kevin Chalmers, and Bernhard H. C. Sputh. Concurrency and Computation: Practice and Experience, 22:1049-1062, March 2010.
- A CSP Model for Mobile Channels. P.H. Welch and Frederick R.M. Barnes. In Peter H. Welch, Susan Stepney, Fiona A.C. Polack, Frederick R.M. Barnes, Alistair A. McEwan, Gardner S. Stiles, Jan F. Broenink, and Adam T. Sampson, editors, Communicating Process Architectures 2008, volume 66 of Concurrent Systems Engineering, pages 17-33, Amsterdam, The Netherlands, September 2008. WoTUG, IOS Press. download publication
- Integrating and Extending JCSP. P.H. Welch, N.C.C. Brown, J. Moores, K. Chalmers, and B. Sputh. In Steve Schneider, Alistair A. McEwan, Wilson Ifill, and Peter H. Welch, editors, Communicating Process Architectures 2007, volume 65 of Concurrent Systems Engineering, pages 349-370, Amsterdam, The Netherlands, July 2007. WoTUG, IOS. download publication
- Communicating mobile processes: introducing occam-pi. P.H. Welch and F.R.M. Barnes. In A.E. Abdallah, C.B. Jones, and J.W. Sanders, editors, 25 Years of CSP, volume 3525 of Lecture Notes in Computer Science, pages 175-210. Springer Verlag, April 2005. download publication