John Darlington | |
---|---|
Nationality | British |
Occupation(s) | Academic, researcher and author |
Academic background | |
Education | B.Sc. (Econ) (1969) Ph.D., Artificial Intelligence (1973) |
Alma mater | London School of Economics University of Edinburgh |
Academic work | |
Institutions | University of Edinburgh Imperial College London |
John Darlington is a British academic, researcher and author. He is an Emeritus Professor at Imperial College London. He was Director of the London e-Science Centre and was head of the Functional Programming and Social Computing Sections at Imperial.[1]
Darlington is known for the early work he did on program transformation and functional programming. In his thesis in 1972, Darlington popularized the idea of program transformation, i.e. manipulating programs into alternative forms, preserving their semantics while altering their operational characteristics.[2]
Early life and education
Darlington completed his B.Sc. (Econ) in 1969 from the London School of Economics and his Ph.D. in Artificial Intelligence from the Department of Machine Intelligence at the University of Edinburgh in 1973. He was a Research Fellow at the Edinburgh University from 1973 to 1977. Later he was a Visiting Research Fellow at IBM Yorktown Heights and the Stanford Research Institute.[1]
Career
In 1977, Darlington joined Imperial College as a lecturer in the Department of Computing, becoming a Reader in 1982 and a Full Professor in 1985. At Imperial College, he held several positions as Director of Centres aimed at developing the application of parallel and novel computer architectures. These include, the Imperial College/Fujitsu Parallel Computing Research Centre (1994-2000), the Imperial College Parallel Computing Centre (1996-2002), the London e-Science Centre (2002-2005) and the Imperial College Internet Centre (2005-2008).[1]
In 2015 Darlington became an Emeritus Professor at Imperial College. He retired in 2016, aged 69.[1]
Research and work
Computer science research
Darlington is known for early work he did on program transformation and functional programming. In his thesis in 1972 Darlington introduced the idea of program transformation, i.e. manipulating programs into alternative forms, preserving their semantics while altering their operational characteristics[3] In subsequent work with his supervisor, Rod Burstall, Darlington developed the unfold/fold calculus for program transformation[4] This system of six rewrite rules has become classic and forms the basis of a great deal of work in many areas that continues to this day.[5] From this work Burstall and Darlington introduced a novel functional language, NPL, based on Kleene Recursion Equations that made an early contribution to the development of the multi-equational, pattern matching style of pure functional programming[6]
Darlington was an early proponent of functional programming languages and the declarative approach in general. He founded and led the Functional Programming Section in the Department of Computing at Imperial College in 1977, served on IFIP Working Group 2.8 and led the development of Hope+, an extension of Hope, which itself was the successor language to NPL.[7] This early work helped pave the way for later developments such as Haskell.
Darlington’s early unifying insight was to show that, with the right notation, computer programs could be treated as mathematical, formally manipulable, objects. The advantages of this approach were realised in subsequent research, resulting in innovations including: parallel machine design, the ALICE functional graph reduction machine (1985),[8][9] a forerunner of the commercial ICL Goldrush parallel database machine (1992); co-ordination forms (1996)[10] c.f. map/reduce and market-based service computing.[11][12][13] collaborative with Sun Microsystems, c.f. cloud computing.
Multi-disciplinary high performance computing
Darlington’s research in parallel computing led to Fujitsu founding the Imperial College/Fujitsu Parallel Computing Research Centre, opened in 1994 by HRH the Princess Royal.[14] Fujitsu donated a novel 128 processor AP1000 machine, valued at over £1M, and the Centre, with Darlington as Director, operated an open multi-disciplinary parallel application development programme. This on-going activity was continued under the auspices of the Imperial College Parallel Computing Centre (1996-2002), the London e-Science Centre,[15] (2002-2005) and the Imperial College Internet Centre (2005-2008).
The UK e-Science programme was launched in 2001 with the London e-Science Centre, (LeSC) as a regional centre. LeSC mounted an extensive collaborative programme with applications in materials modelling, protein folding, whole-earth climate modelling, pollution monitoring, distributed workflow and data management, particle physics, health data informatics and brain imaging.[16]
The Internet Centre, founded in 2005, with seed-corn funding from Imperial College, emphasised the importance of economic and social factors when studying the Internet. The Internet Centre developed collaborations with a range of commercial and public organisations including: Vodafone, the BBC, Transport for London, the Royal Bank of Scotland, the RCA and the Science Museum.
Darlington has collaborated with industry in a number of UK Technology Strategy Board and Innovate UK and European projects, applying ideas in functional-based software and cloud computing, that have developed a range of innovative applications in media processing, internet cloud services and public health. In this work Darlington developed methodologies combining the use of functional languages with conventional software systems.[17]
Selected publications
- A system which automatically improves programs, J. Darlington, R. M. Burstall, Acta Informatica, Vol. 6, pp. 41–60, 1976.
- A transformation system for developing recursive programs. R. M. Burstall, J. Darlington. Journal of the ACM (JACM) 24 (1), 44-67. 1977.
- Design considerations for a functional programming language. R. M. Burstall. Infotech State of the Art Conference: The Software Revolution, Copenhagen, October, 1977.
- Hope+ (Nigel Perry, The Implementation of Practical Functional Programming Languages, PhD Thesis, University of London, 1991)
- The design and implementation of ALICE - a parallel graph reduction machine. M. Cripps, J. Darlington, A. J. Field, P. G. Harrison, M. J. Reeve. Selected Reprints on Dataflow and Reduction Architectures, pp 300–32, IEEE Computer Society Press, 1987, ISBN 0818607599.
- Functional skeletons for parallel coordination. J. Darlington, Y. Guo, H. W. To, and J. Yang, in EURO-PAR’95 Parallel Processing, pages 55–69. Springer-Verlag, 1995.
- An architecture for a next-generation internet based on Web Services and Utility Computing. J. Darlington, J. Cohen and W. Lee. In Third International Workshop on Emerging Technologies for Next-generation GRID (ETNGRID 2006), WETICE-2006, p. 169 – 174, Manchester, UK, Jun 2006.
- Payment and negotiation for the next generation Grid and Web. J. Cohen, J. Darlington, W. Lee, Concurrency and Computation – Practice and Experience, Vol. 20, Pages: 239-251, 2008, ISSN 1532-0626. http://dx.doi.org/10.1002/cpe.1196
- Imperial’s vision may reshape the net. A. Baxter. Financial Times, Digital Business, November 22, 2005
- RAPPORT: running scientific high-performance computing applications on the cloud. J. Cohen, I. Fillipis, M. Woodbridge et al. Philosophical Transactions of the Royal Society A -Mathematical Physical and Engineering Sciences, Vol:371, 2013, ISSN 1364-503X. doi:10.1098/rsta.2012.0073
- Tackling complexity in high performance computing applications. J. Darlington, A. J. Field, L. Hakim, International Journal of Parallel Programming, pp. 1–19, March 2016, ISSN 0885-7458 doi:10.1007/s10766-016-0422-9
References
- 1 2 3 4 "John Darlington".
- ↑ "A semantic approach to automatic program improvement [microform]".
- ↑ Darlington, J.; Burstall, R. M. (1976). "A system which automatically improves programs". Acta Informatica. 6: 41–60. doi:10.1007/BF00263742. S2CID 787425.
- ↑ "A Transformation System for Developing Recursive Programs". 1977. CiteSeerX 10.1.1.19.4684.
- ↑ Kobayashi, Naoki; Fedyukovich, Grigory; Gupta, Aarti (2020). "Fold/Unfold Transformations for Fixpoint Logic". Tools and Algorithms for the Construction and Analysis of Systems. Lecture Notes in Computer Science. Vol. 12079. pp. 195–214. doi:10.1007/978-3-030-45237-7_12. ISBN 978-3-030-45236-0. S2CID 216028267.
- ↑ Design considerations for a functional programming language. R. M. Burstall. Infotech State of the Art Conference: The Software Revolution, Copenhagen, October, 1977
- ↑ Perry, Nigel. "The Implementation of Practical Functional Programming Languages, Nigel Perry, PhD Thesis, University of London, 1991". CiteSeerX 10.1.1.628.7053.
- ↑ "The Design and Implementation of ALICE – a Parallel Graph Reduction Machine".
- ↑ Darlington, John; Reeve, Mike; Wright, Sue (1990). "Declarative languages and program transformation for programming parallel systems: A case study". Concurrency: Practice and Experience. 2 (3): 149–169. doi:10.1002/cpe.4330020302.
- ↑ Darlington, John; Guo, Yi-ke; To, Hing Wing; Yang, Jin (1995). "Functional skeletons for parallel coordination". EURO-PAR '95 Parallel Processing. Lecture Notes in Computer Science. Vol. 966. pp. 55–66. doi:10.1007/BFb0020455. ISBN 978-3-540-60247-7.
- ↑ "An Architecture for a Next-Generation Internet Based on Web Services and Utility Computing".
- ↑ "Payment and negotiation for the next generation Grid and Web".
- ↑ "Imperial vision may reshape the net". Financial Times. 22 November 2005.
- ↑ "Parallel Computing Research Centre Opening - 1994". YouTube.
- ↑ "Welcome to the London e-Science Centre (LeSC)".
- ↑ "Projects".
- ↑ "Tackling Complexity in High Performance Computing Applications".