Abstract
This paper provides an overview of Jifeng He’s academic achievements while at Oxford University in the UK, and later in Macau and Shanghai, together with his legacy internationally. He was an important researcher on the European ESPRIT ProCoS projects and Working Group on “Provably Correct Systems”. Subsequently and most notably, this led to collaboration with Tony Hoare on Unifying Theories of Programming (UTP), resulting in a jointly authored book and later conference series on the subject. Jifeng returned to his native China in 1998, first at the United Nations University in Macau and then at the East China Normal University in Shanghai from 2005 to 2019. In recent years, Jifeng has been the founder of an Artificial Intelligence (AI) research institute, focusing on the application of AI technology in large-scale industrial software systems. His scientific contributions have been recognized through his election to membership of the Chinese Academy of Sciences. This paper is structured in broadly chronological order, starting with a brief biography and then covering Jifeng He’s academic contributions successively in Oxford, Macau, and Shanghai. The paper concludes with an overall appreciation of his major achievements.
Access provided by Autonomous University of Puebla. Download chapter PDF
Similar content being viewed by others
Keywords
1 Introduction
This paper aims to provide a non-technical overview of Jifeng He’s main academic achievements during his career, as well as a chronological account of his main affiliations. Subsection 1.1 provides a brief overall biography and Subsect. 1.2 describes some early practical contributions in China. Section 2 covers his research at the University of Oxford in the United Kingdom, especially in collaboration with Tony Hoare. He then moved to the United Nations University in Macau, as reported in Sect. 3. Latterly until his retirement, he was based at the East China Normal University in Shanghai, as described in Sect. 4. The paper concludes with an overall appreciation of his achievements in Sect. 5. Overall, this paper provides a personal reflection of the authors in their collaboration with Jifeng over the years.
1.1 Brief Biography
Jifeng He was born in Shanghai China, in August 1943. He graduated in 1965 from the Department of Mathematics at Fudan University, located in Shanghai. Since 1965, he has held a position at East China Normal University (ECNU) in Shanghai, successively serving as a teaching assistant and then lecturer, and was promoted to full professor in 1986. In 1988, he was awarded the title of National Young and Middle-aged Experts with Outstanding Contributions. From 1980 to 1981, he was a visiting scholar at Stanford University and the University of San Francisco in California, United States. From 1983 to 1998, he worked as a senior researcher in the Programming Research Group (PRG) at the Oxford University Computing Laboratory (OUCL) in the United Kingdom, collaborating extensively with Tony Hoare [54], based in Oxford although retaining his position at ECNU. He was an important researcher on the European ProCoS project from 1989.
From 1998, Jifeng worked as a senior researcher at the International Institute of Software Technology of the United Nations University (UNU/IIST) in Macau. During 2002 to 2019, he was the Dean of the Software Engineering Institute at East China Normal University. In 2002, he joined the first group of lifelong professors of East China Normal University. He was elected in 2005 as an academician of the Chinese Academy of Sciences, the highest scientific recognition in China. He received an honorary doctorate from the University of York (UK) in 2009. In December 2015, he was awarded the French National Palm Education Knight Medal. From 2017, Jifeng started to consider the issues around trustworthiness in Artificial Intelligence (AI). In 2019, Jifeng was appointed as the Distinguished Professor at Tongji University located in Shanghai. Jifeng’s research interests have included sound methods for the specification of computer systems, communications, applications, and standards, as well as techniques for designing and implementing those specifications in software and/or hardware with high reliability.
This paper provides a non-technical overview of Jifeng’s academic achievements. More technical details related to some of his contributions are available elsewhere in this volume [59, 63, 71].
1.2 Practical Contributions
This paper is mainly about the theoretical contributions of Jifeng at Oxford, UNU/IIST, and ECNU. It should be noted that Jifeng also has made remarkable practical contributions. In 1982, Jifeng led a team to undertake one of the 38 major scientific and technological research projects of the State Council in China, the Office Chinese Character Information Processing System, whose core technology was the independent self-development of China’s first Chinese Character Relational Database System (ECNIS), which provided a practical Chinese character information processing platform for China’s “paperless” office. It was widely used in the field of office work by various domestic institutions at that time. The scientific research achievements won the first prize of the Shanghai Excellent Software Award in 1985 and the Outstanding Scientific and Technological Achievements Award of the National Education Commission in 1986.
2 University of Oxford
From 1983 to 1998, Jifeng worked as a senior researcher (a “Senior Research Officer”) in the Programming Research Group (PRG) at the Oxford University Computing Laboratory (OUCL) in the UK. He mainly collaborated with the leader of the PRG, Tony Hoare, who invited him to come to Oxford during a visit to China. Although Jifeng retained his position at East China Normal University during this time, he spent most of his time working as a researcher in Oxford, mainly with Tony Hoare. From 1989, he was a significant contributor on the European ProCoS project concerning “Provably Correct Systems”, instigated by Tony Hoare and others.
Before the ProCoS project, Jifeng collaborated with Tony Hoare on research concerning the “weakest prespecification”, generalizing the concept of Edsger Dikstra’s weakest precondition. This was first published as a PRG Technical Monograph in 1985 [44], then as two related journal papers in 1986 [45, 46], and also as a shorter summary journal paper in 1987 [52]. Later they collaborated with Jeff Sanders on data refinement [27] and prespecification for such refinement [48]. Jifeng was also a coauthor of the highly cited 1987 Laws of Programming paper by Tony Hoare et al. [51], presenting a complete set of algebraic laws for Edsger Dijkstra’s nondeterministic sequential programming language.
2.1 Provably Correct Systems (“ProCoS”)
From 1989, Tony Hoare led the ProCoS “Basic Research Action” (ESPRIT BRA 3104) project on Provably Correct Systems with European partners in Denmark (under Dines Bjørner) and Germany (under Hans Langmaack and also Ernst-Rüdiger Olderog), as well as in the UK (initially with Cliff Jones and also Ursula Martin) [1]. This ran in parallel with the UK Information Engineering Directorate (IED) SAFEMOS project in “Totally Verified Systems” with the University of Cambridge (under Mike Gordon), SRI Cambridge (under Roger Hale), and INMOS (under David May and David Shepherd) [2, 10]. Subsequently, the ProCoS II project [15] and the ProCoS-WG Working Group continued the work of ProCoS in the 1990s [16]. Jifeng He was a key researcher involved with ProCoS, especially working on program compilation aspects of the project, and collaborated on tutorials about the project [14]. Ultimately, this work led to his important ideas on Unifying Theories of Programming, as described later in Subsect. 2.2.
Verifiable Compiling Specification: The ProCoS project studied verifying computer-based systems from requirements through to programming and compilation. Initial research considered an algebraic approach to the verifiable compiling specification and prototyping of the ProCoS level 0 programming language, based on a subset of the Occam programming language [47], with prototyping using logic programming in Prolog by Jonathan Bowen [12], based on a shallow embedding approach [7]. Later, recursion was also considered [23]. This approach was further developed to cover the specification, verification, and prototyping of an optimized compiler [25]. Jifeng also collaborated with Tony Hoare and Augusto Sampaio on a normal-form approach to compiler design [50]. In 1994, Jifeng published a complete book on provably correct systems, covering the modelling of communication languages and the design of optimized compilers [21].
Real-time Systems: Later work on ProCoS by Jifeng He and others considered a time interval semantics and the implementation of a real-time programming language [24]. Further work covered hybrid parallel programming and the implementation of synchronised communication [20]. Jifeng collaborated with Roger Hale on the SAFEMOS project concerning a real-time programming language [19]. He also undertook research with others, including Hussein Zedan, on real-time refinement [65], a predictive semantics for the refinement of real-time systems [64], and a specification-oriented semantics for real-time system refinement [66].
Hardware Compilation: Ian Page and Wayne Luk at Oxford introduced ideas of compiling an Occam-like programing language including parallelism directly into hardware for implementation as a netlist of gate-level components on a Field-Programmable Gate Array (FPGA) chip. These ideas were adopted on the ProCoS project, including by Jifeng. Initial ideas were published in a highly cited conference paper on a provably correct hardware implementation of the Occam programming language [28], led by Jifeng in collaboration with Ian Page and Jonathan Bowen. This work was also undertaken collaboratively as part of the SAFEMOS project by Jonathan Bowen et al. [11] and with Jianping Zheng, using a simulation approach for provably correct hardware compilation [39]. Further papers on the specification and verification of a hardware compilation scheme [8] and an algebraic approach to hardware compilation [9] appeared later.
2.2 Unifying Theories of Programming (UTP)
Starting during ProCoS, for example in considering the connection between algebraic and operational semantics [26], and continuing afterwards, Jifeng collaborated with Tony Hoare on their magnum opus Unifying Theories of Programming (UTP), published in 1998 [49]. An associated paper was presented at the 4th International Seminar on Relational Methods in Computer Science (RelMiCS) [32]. UTP considers the challenge of connecting different forms of semantics. For example, it is possible to link algebraic, denotational, and operational semantics, including demonstrating their equivalence. In parallel, Jifeng also collaborated on highly cited work with Karen Seidel and Annabelle McIver on probabilistic models for the Guarded Command Language (GCL) [36], with Qiwen Xu and Willem-Paul de Roever on the rely-guarantee method for verifying shared variable concurrent programs [72], and with Tony Hoare on a trace model for pointers and objects [53].
The UTP book has spawned a community of researchers, including a regular UTP symposium. Jifeng [22] and Tony Hoare [62] were later both keynote presenters at the UTP 2016 Symposium in Reykjavik, Iceland [17]. It is interesting to consider papers connected to UTP, using the visual representation provided by the Connected Papers website (https://connectedpapers.com). It can be noted that Jim Woodcock is a major contributor of UTP papers, together with his collaborator Ana Cavalcanti, both at the University of York. They have developed Circus, an integration of the formal notations of Z, CSP, and Carroll Morgan’s refinement calculus, underpinned by UTP, as described elsewhere in this volume [71].
3 United Nations University
In 1998, the year of publication of the Unifying Theories of Programming book with Tony Hoare [49], Jifeng took up a position with United Nations University International Institute of Software Technology (UNU/IIST) in Macau as a senior researcher. UNU/IIST was initially established under the leadership of Dines Bjørner, who headed the Danish partner on the ProCoS project, the Technical University of Denmark. In this section, we consider some important contributions of Jifeng during his time at UNU/IIST.
Verilog Hardware Description Language: Modern hardware design typically uses a Hardware Description Language (HDL) to express designs at various levels of abstraction. An HDL is a high-level programming language, with usual programming constructs such as assignments, conditionals, and iterations, together with appropriate extensions for real-time, concurrency and data structures suitable for modelling hardware. Verilog is an HDL that has been standardized and widely used in industry. Verilog programs can exhibit a rich variety of behaviours, including event-driven computation and shared-variable concurrency.
The semantics for Verilog is very important to help in ensuring the correctness of hardware design. With fellows and colleagues based at UNU/IIST, London South Bank University (LSBU), and ECNU, a series of research studies on Verilog semantics were undertaken. The operational semantics was explored by Jifeng in collaboration with Qiwen Xu, Huibiao Zhu, Jonathan Bowen, and others [13, 37, 40, 57], including the animation of Verilog’s operational semantics. Verilog’s denotational semantics [77] has also been explored based on the operational semantics using Duration Calculus [73].
Later, the linking between the denotational semantics and operational semantics for Verilog has been successfully investigated under a discrete-time model, developed by Huibiao Zhu based on Jifeng’s original ideas [74,75,76]. More recently, a mechanical approach using the Coq proof assistant tool has been applied in unifying the Verilog semantics by Feng Sheng et al. [67, 68], against developing on Jifeng’s theoretical research. The soundness and completeness of the operational semantics is verified based on the algebraic semantics via the mechanical approach in Coq. Similarly, the correctness of the algebraic laws has also been verified using a mechanical approach supported by Coq. This semantics research on Verilog semantics demonstrates the successful application of UTP in Verilog.
Advanced Features of Duration Calculus: Duration Calculus (DC) was originally proposed by Zhou Chaochen with Tony Hoare and Anders Ravn [73] as part of the ProCoS project to provide a precise formalism for requirements involving timing constraints. Several advanced features of Durational Calculus were later investigated by Jifeng in collaboration with Qiwen Xu [38], including initial and final values, stability, left and right neighbourhood values, and chopping points, aiming to integrate several variants of Duration Calculus. A link between the untimed refinement calculus and the timed one in this framework was studied, where the timed version preserves the laws of untimed programming.
rCOS: A refinement calculus of object systems (named rCOS) was studied [35, 59, 60], in collaboration with Zhiming Liu and Xiaoshan Li, defining an observation-oriented semantics for a relational object-based language with a rich variety of features including subtypes, visibility, inheritance, type casting, dynamic binding, and polymorphism. The logic of rCOS is a conservative extension of standard predicate logic. rCOS relates the notions of refinement and data refinement in imperative programming to refactorings and object-oriented design patterns for responsibility assignments. The investigation for rCOS shows the successful application of UTP in object orientation. Further more detailed information on rCOS is provided in another paper in this volume [59], including the formal use of the Unified Modeling Language (UML) [56].
4 East China Normal University
From 2002 to 2019, Jifeng He was the Dean of the Software Engineering Institute at East China Normal University in Shanghai. During this period, despite his additional administrative duties as Dean, he pioneered the theory and technology of model-based trustworthy software design. The related achievements have been widely adopted by key departments in China. Even as Dean, Jifeng continued to lead teams undertaking active research. Some notable contributions are outlined below.
Web Services: With the development of Internet technology, web services and web-based applications increasingly play an important role in information systems. Business Process Execution Language (BPEL) is used for specifying the behaviour of business processes. BPEL contains several interesting features, including scope-based compensation and fault handling. A model for BPEL-like languages and a transaction calculus have been proposed by Jifeng [29, 41]. The denotational semantics and a set of algebraic laws were also investigated. In addition, the lining of semantics for web services was also explored by Huibiao Zhu, Jifeng, and others [78,79,80].
Unification of CSP and CCS: The Calculus of Communicating Systems (CCS) of Robin Milner [61] and Communicating Sequential Processes (CSP) of Tony Hoare [42] are two major examples of the process calculi family. A process may be defined by a transition system, which is the approach taken in setting up the framework of CCS. Meanwhile, traces are the foundation of the definition of CSP. The unification of CCS and CSP was studied by Jifeng in collaboration with Tony Hoare [30, 31], and it has been proved that CSP is a retract of CCS. It is claimed that the technique of retraction is a common and useful form of unification.
HRML Language: A hybrid modelling language (HRML) [33] was proposed by Jifeng and Qin Li, with a set of novel combinators. The complex combinations of testing and reaction behaviours were conducted to model the physical world and its interaction with the control program. With the introduction of the new hybrid structures when and until, three types of guards were defined to model the condition under which the system controller switches to a new mode. A denotational semantics was studied for the HRML language using the UTP approach.
A New Roadmap for UTP: A new roadmap [34] was also proposed by Jifeng and Qin Li, for linking theories of programming, which is one of the new directions for the UTP approach. The new methodology takes an algebra of programs as its basis; it generates both denotational and operational representations from the algebraic refinement relation. A testing structure has been studied, representing the execution behaviours of programs. This new roadmap was successfully applied for the Guarded Command Language (GCL) and CSP. It is believed that this new roadmap can be applied to other types of programs with new modern features. A Coq proof assistant implementation of the program algebra in Jifeng’s UTP roadmap is included in this volume [63].
5 Conclusion
The Scopus database (https://www.scopus.com) is widely recognized as an important indicator of scientific publication record, although with a limited set of approved journals and restricted access. This orders papers by citation count. The Scopus list of top-ten academic papers coauthored by Jifeng (omitting a survey paper) are listed in Table 1. Note that Scopus has two entries for [27] separately under its main title and subtitle (which have been combined into a single entry in Table reftopten), and does not include books. For example, the UTP book [49] is probably Jifeng’s most influential work. So one should always treat such automatically generated publication statistics with caution.
In September 2013, Jifeng’s 70th birthday was celebrated at East China Normal University with an international three-day Festschrift and an associated proceedings volume edited by Zhiming Liu, Jim Woodcock, and Huibiao Zhu [58], held in association with the International Conference on Theoretical Aspects of Computing (ICTAC). This included a paper on Jifeng’s connections within the formal methods community [3]. During this event, a poster of Jifeng was on display in a public walkway in Shanghai (see Fig. 2). The following is a translation of the statement on the poster:
He is the first [Chinese] academician in the field of computer science in Shanghai, has initiated an international school of software theory, and is acknowledged as a leader in Asian software theory. At the age of 70, he always cares about students, promotes the reform of undergraduate education and teaching, manages to organize awards and grants for students, teaches with a scientific attitude, and educates people with care.
It is interesting to try to imagine a similar public display for a computer scientist in the West.
In October 2018, Jifeng gave a presentation for the BCS-FACS (Formal Aspects of Computing Science) Specialist Group in London to celebrate the 20th anniversary of the publication of the book on UTP [49] (see Fig. 3), chaired by Jonathan Bowen (the chair of the FACS group itself). Tony Hoare, Jifeng’s coauthor, provided introductory remarks and Jim Woodcock of the University of York, a leading UTP researcher, provided a summary at the end of the talk. This event also celebrated the 30th anniversary of the Formal Aspects of Computing journal and the 40th anniversary of FACS itself [5].
Jifeng has been a major contributor to research into formal methods during his career as a computer scientist. His collaboration with Tony Hoare, especially on the Unifying Theories of Programming, has been particularly fruitful. Tony Hoare is brilliant at initiating new ideas in computer science, but Jifeng’s contributions to UTP are equal (if not greater) in stature, as noted by Jim Woodcock [70] (page 291). Jifeng’s role has been very important in ensuring that the ideas are mathematically sound [6] and he added great insights to formulations using UTP, including for simplifying the algebraic semantics of CSP. Jifeng’s collaboration with Tony Hoare on UTP has been crucial to its success. Tony Hoare has noted [43]:
Jifeng has a long record of achievement and is enjoying the highest international regard. Jifeng has an extraordinary skill as an applied logician and was always glad to undertake the most difficult problems, and in a day or two came back with a proof or counter-example.
Commenting on their collaboration of ten year’s UTP research and the resulting book, Tony Hoare adds [43]:
I must emphasise that all the effective research was conducted by Jifeng, who formalized the definitions, postulated the axioms, and proved the theorems. I enjoyed discussing the goal of research with him, and I wrote much of the English prose. But all of the new results were due to him. Since leaving Oxford, Jifeng has successfully resolved all the main issues which were unable to put into the original book, and has developed further remarkable insights.
With this paper providing a summary of Jifeng’s lifetime of achievements, and echoing Tony Hoare’s sentiments, we thank Jifeng for furthering the foundations of computer science over his career.
References
Bjørner, D., et al.: A ProCoS project description: ESPRIT BRA 3104. Bull. Eur. Assoc. Theor. Comput. Sci. 39, 60–73 (1989). http://researchgate.net/publication/256643262
Bowen, J.P. (ed.): Towards Verified Systems, Real-Time Safety Critical Systems, vol. 2. Elsevier, Amsterdam (1994)
Bowen, J.P.: A relational approach to an algebraic community: from Paul Erdős to He Jifeng. In: Liu et al. [58], pp. 54–66. https://doi.org/10.1007/978-3-642-39698-4_4
Bowen, J.P.: A personal formal methods archive. ResearchGate (2019). https://doi.org/10.13140/RG.2.2.31943.65447
Bowen, J.P.: FACS events, 2018–2020. FACS FACTS 2020(1), 7–21 (2020). https://www.bcs.org/media/5204/facs-dec19.pdf
Bowen, J.P.: Review on theories of programming: the life and works of tony Hoare. Form. Aspects Comput. 34(3–4), 1–3 (2022). https://doi.org/10.1145/3560267
Bowen, J.P., Gordon, M.J.C.: A shallow embedding of Z in HOL. Inf. Softw. Technol. 37(5–6), 269–276 (1995). https://doi.org/10.1016/0950-5849(95)99362-Q
Bowen, J.P., He, J.: An approach to the specification and verification of a hardware compilation scheme. J. Supercomput. 19(1), 23–39 (2001). https://doi.org/10.1023/A:1011184310224
Bowen, J.P., He, J.: An algebraic approach to hardware compilation. In: Gabbar, H.A. (ed.) Modern Formal Methods and Applications, pp. 151–176. Springer, Dordrecht (2006). https://doi.org/10.1007/1-4020-4223-X_7
Bowen, J.P., He, J., Hale, R.W.S., Herbert, J.M.J.: Towards verified systems: the SAFEMOS project. In: Mitchell, C., Stavridou, V. (eds.) Mathematics of Dependable Systems, Institute of Mathematics and Its Applications Conference Series, vol. 55, pp. 23–48. Oxford University Press (1995). http://researchgate.net/publication/2525857
Bowen, J.P., He, J., Page, I.: Hardware compilation. In: Bowen [2], chap. 10, pp. 193–207. https://doi.org/10.1016/B978-0-444-89901-9.50019-7
Bowen, J.P., He, J., Pandya, P.K.: An approach to verifiable compiling specification and prototyping. In: Deransart, P., Maluszyński, J. (eds.) PLILP 1990. LNCS, vol. 456, pp. 45–59. Springer, Heidelberg (1990). https://doi.org/10.1007/BFb0024175
Bowen, J.P., He, J., Xu, Q.: An animatable operational semantics of the Verilog hardware description language. In: ICFEM 2000: Third IEEE International Conference on Formal Engineering Methods, pp. 199–207. IEEE (2000). https://doi.org/10.1109/ICFEM.2000.873820
Bowen, J.P., et al.: Provably correct systems – FTRTFT’94 tutorial. In: Third International School and Symposium, Formal Techniques in Real Time and Fault Tolerant Systems. No. [COORD JB 7/1] in ProCoS document, Christian-Albrechts-Universität, Lübeck, Germany, September 1994. http://researchgate.net/publication/2420842, School Material
Bowen, J.P., Hoare, C.A.R., Langmaack, H., Olderog, E.R., Ravn, A.P.: A ProCoS II project final report: ESPRIT basic research project 7071. Bull. Eur. Assoc. Theor. Comput. Sci. 59, 76–99 (1996). http://researchgate.net/publication/2255515
Bowen, J.P., Hoare, C.A.R., Langmaack, H., Olderog, E.R., Ravn, A.P.: A ProCoS-WG working group final report: ESPRIT working group 8694. Bull. Eur. Assoc. Theor. Comput. Sci. 64, 63–72 (1998). http://researchgate.net/publication/2527052
Bowen, J.P., Zhu, H. (eds.): UTP 2016. LNCS, vol. 10134. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-52228-9
Bowen, J.P., Li, Q., Xu, Q. (eds.): Theories of Programming and Formal Methods: Essays Dedicated to Jifeng He on the Occasion of His 80th Birthday, LNCS, vol. 14080. Springer, Berlin, Heidelberg (2023). https://doi.org/10.1007/978-3-031-40436-8
Hale, R.W.S., He, J.: A real-time programming language. In: Bowen, J.P. (ed.) Towards Verified Systems, Real-Time Safety Critical Systems, vol. 2, chap. 6, pp. 115–130. Elsevier (1994)
He, J.: Hybrid parallel programming and implementation of synchronised communication. In: Borzyszkowski, A.M., Sokołowski, S. (eds.) MFCS 1993. LNCS, vol. 711, pp. 537–546. Springer, Heidelberg (1993). https://doi.org/10.1007/3-540-57182-5_45
He, J.: Provably Correct Systems: Modelling of Communication Languages and Design of Optimized Compilers. International Series in Software Engineering. McGraw-Hill, New York (1994)
He, J.: A new roadmap for linking theories of programming. In: Bowen and Zhu [17], pp. 26–43. https://doi.org/10.1007/978-3-319-52228-9_2
He, J., Bowen, J.P.: Compiling specification for ProCoS language PLR\(_0\). ProCoS document [OU HJF 6], Oxford University Computing Laboratory (1991). http://researchgate.net/publication/319069362
He, J., Bowen, J.P.: Time interval semantics and implementation of a real-time programming language. In: Fourth Euromicro Workshop on Real-Time Systems, pp. 110–115. IEEE (1992). https://doi.org/10.1109/EMWRT.1992.637480
He, J., Bowen, J.P.: Specification, verification and prototyping of an optimized compiler. Form. Aspects Comput. 6(6), 643–658 (1994). https://doi.org/10.1007/BF03259390
He, J., Hoare, C.A.R.: From algebra to operational semantics. Inf. Process. Lett. 45, 75–80 (1993). https://doi.org/10.1016/0020-0190(93)90219-Y
He, J., Hoare, C.A.R., Sanders, J.W.: Data refinement refined resume. In: Robinet, B., Wilhelm, R. (eds.) ESOP 1986. LNCS, vol. 213, pp. 187–196. Springer, Heidelberg (1986). https://doi.org/10.1007/3-540-16442-1_14
He, J., Page, I., Bowen, J.P.: Towards a provably correct hardware implementation of Occam. In: Milne, G.J., Pierre, L. (eds.) CHARME 1993. LNCS, vol. 683, pp. 214–225. Springer, Heidelberg (1993). https://doi.org/10.1007/BFb0021726
He, J.: Transaction calculus. In: Butterfield, A. (ed.) UTP 2008. LNCS, vol. 5713, pp. 2–21. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14521-6_2
He, J., Hoare, C.A.R.: CSP is a retract of CCS. In: Dunne, S., Stoddart, B. (eds.) UTP 2006. LNCS, vol. 4010, pp. 38–62. Springer, Heidelberg (2006). https://doi.org/10.1007/11768173_3
He, J., Hoare, C.A.R.: CSP is a retract of CCS. Theor. Comput. Sci. 411(11–13), 1311–1337 (2010). https://doi.org/10.1016/j.tcs.2009.12.012
He, J., Hoare, C.A.R.: Unifying theories of programming. In: RelMiCS: 4th International Seminar on Relational Methods in Computer Science, pp. 97–99. Warsaw, Poland, September 1998
He, J., Li, Q.: A hybrid relational modelling language. In: Gibson-Robinson, T., Hopcroft, P., Lazić, R. (eds.) Concurrency, Security, and Puzzles. LNCS, vol. 10160, pp. 124–143. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-51046-0_7
He, J., Li, Q.: A new roadmap for linking theories of programming and its applications on GCL and CSP. Sci. Comput. Program. 162, 3–34 (2018). https://doi.org/10.1016/j.scico.2017.10.009
He, J., Li, X., Liu, Z.: rCOS: a refinement calculus of object systems. Theor. Comput. Sci. 365(1–2), 109–142 (2006). https://doi.org/10.1016/j.tcs.2006.07.034
He, J., Seidel, K., McIver, A.: Probabilistic models for the guarded command language. Sci. Comput. Program. 28, 171–192 (1997)
He, J., Xu, Q.: An operational semantics of a simulator algorithm. In: Arabnia, H.R. (ed.) Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications, PDPTA 2000, 24–29 June 2000, Las Vegas, Nevada, USA. CSREA Press (2000)
He, J., Xu, Q.: Advanced features of Duration Calculus and their applications in sequential hybrid programs. Form. Aspects Comput. 15(1), 84–99 (2003). https://doi.org/10.1007/s001650300001
He, J., Zheng, J.: Simulation approach to provably correct hardware compilation. In: Langmaack, H., de Roever, W.-P., Vytopil, J. (eds.) FTRTFT ProCoS 1994. LNCS, vol. 863, pp. 336–350. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-58468-4_172
He, J., Zhu, H.: Formalising VERILOG. In: Proceedings of the 2000 7th IEEE International Conference on Electronics, Circuits and Systems, ICECS 2000, Jounieh, Lebanon, 17–20 December 2000, pp. 412–415. IEEE (2000). https://doi.org/10.1109/ICECS.2000.911568
He, J., Zhu, H., Pu, G.: A model for BPEL-like languages. Front. Comput. Sci. China 1(1), 9–19 (2007). https://doi.org/10.1007/s11704-007-0002-7
Hoare, C.A.R.: Communicating Sequential Processes. International Series in Computer Science, Prentice Hall, Hoboken (1985)
Hoare, C.A.R.: Recommendation letter (2002). Private communication via K. He (May 2023)
Hoare, C.A.R., He, J.: The weakest prespecification. Technical Monograph PRG-44, Oxford University Computing Laboratory, Programming Research Group, Oxford, UK, June 1985
Hoare, C.A.R., He, J.: The weakest prespecification: Part I. Fund. Inform. 9(1), 51–84 (1986). https://doi.org/10.3233/FI-1986-9104
Hoare, C.A.R., He, J.: The weakest prespecification: Part II. Fund. Inform. 9(2), 217–251 (1986). https://doi.org/10.3233/FI-1986-9205
Hoare, C.A.R., He, J., Bowen, J.P., Pandya, P.: An algebraic approach to verifiable compiling specification and prototyping of the ProCoS level 0 programming language. In: Directorate-General XIII of the Commission of the European Communities (ed.) ESPRIT ’90 Conference, pp. 804–818. Kluwer Academic Publishers (1990). https://doi.org/10.1007/978-94-009-0705-8_65
Hoare, C.A.R., He, J., Sanders, J.W.: Prespecification in data refinement. Inf. Process. Lett. 25(2), 71–76 (1987). https://doi.org/10.1016/0020-0190(87)90224-9
Hoare, C.A.R., He, J.: Unifying Theories of Programming. Series in Computer Science, Prentice Hall, Hoboken (1998)
Hoare, C.A.R., He, J., Sampaio, A.: Normal form approach to compiler design. Acta Informatica 30(8), 701–739 (1993). https://doi.org/10.1007/BF01191809
Hoare, C.A.R., et al.: Laws of programming. Commun. ACM 30(8), 672–686 (1987)
Hoare, C.A.R., He, J.: The weakest prespecification. Inf. Process. Lett. 24, 127–132 (1987). https://doi.org/10.1016/0020-0190(87)90106-2
Hoare, C.A.R., He, J.: A trace model for pointers and objects. In: Guerraoui, Rachid (ed.) ECOOP 1999. LNCS, vol. 1628, pp. 1–18. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48743-3_1
Jones, C.: List of Tony Hoare’s publications. In: Jones and Misra [55], pp. 394–315. https://doi.org/10.1145/3477355.3477375, Appendix D
Jones, C.B., Misra, J. (eds.): Theories of Programming: The Life and Works of Tony Hoare, ACM Books, vol. 39. Association for Computing Machinery (2021). https://doi.org/10.1145/3477355
Li, X., Liu, Z., He, J.: A formal semantics of UML sequence diagram. In: Proceedings of the Australian Software Engineering Conference (ASWEC), pp. 168–177. IEEE (2004). https://doi.org/10.1109/ASWEC.2004.1290469
Li, Y., He, J.: Formalising Verilog: operational semantics and bisimulation. Technical report 217, UNU/IIST, P.O. Box 3058, Macau SAR, China, November 2000
Liu, Z., Woodcock, J.C.P., Zhu, H. (eds.): Theories of Programming and Formal Methods, LNCS, vol. 8051. Springer, Berlin, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39698-4
Liu, Z.: Linking formal methods in software development – a reflection on the development of rCOS. In: Bowen et al. [18], this volume. https://doi.org/10.1007/978-3-031-40436-8_3
Liu, Z., He, J., Li, X.: rCOS: refinement of component and object systems. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2004. LNCS, vol. 3657, pp. 183–221. Springer, Heidelberg (2005). https://doi.org/10.1007/11561163_9
Milner, R.: A Calculus of Communicating Systems. Springer, Heidelberg (1980). https://doi.org/10.1007/3-540-10235-3_11
Möller, B., Hoare, C.A.R., Müller, M.E., Struth, G.: A discrete geometric model of concurrent program execution. In: Bowen and Zhu [17], pp. 1–25. https://doi.org/10.1007/978-3-319-52228-9_1
Mu, R., Li, Q.: A Coq implementation of the program algebra in Jifeng He’s new roadmap for linking theories of programming. In: Bowen et al. [18], this volume. https://doi.org/10.1007/978-3-031-40436-8_15
Scholefield, D., Zedan, H., He, J.: A predicative semantics for the refinement of real-time systems. In: Brookes, S., Main, M., Melton, A., Mislove, M., Schmidt, D. (eds.) MFPS 1993. LNCS, vol. 802, pp. 230–249. Springer, Heidelberg (1994). https://doi.org/10.1007/3-540-58027-1_11
Scholefield, D., Zedan, H., He, J.: Real-time refinement: semantics and application. In: Borzyszkowski, A.M., Sokołowski, S. (eds.) MFCS 1993. LNCS, vol. 711, pp. 693–702. Springer, Heidelberg (1993). https://doi.org/10.1007/3-540-57182-5_60
Scolefield, D., Zedan, H., He, J.: A specification-oriented semantics for the refinement of real-time systems. Theor. Comput. Sci. 131, 219–241 (1994)
Sheng, F., Zhu, H., He, J., Yang, Z., Bowen, J.P.: Theoretical and practical aspects of linking operational and algebraic semantics for MDESL. ACM Trans. Softw. Eng. Methodol. 28(3), 14:1–14:46 (2019). https://doi.org/10.1145/3295699
Sheng, F., Zhu, H., He, J., Yang, Z., Bowen, J.P.: Theoretical and practical approaches to the denotational semantics for MDESL based on UTP. Form. Aspects Comput. 32(2–3), 275–314 (2020). https://doi.org/10.1007/s00165-020-00513-4
Sherif, A., Cavalcanti, A., He, J., Sampaio, A.: A process algebraic framework forspecification and validation of real-time systems. Form. Aspects Comput. 22, 153–191 (2010). https://doi.org/10.1007/s00165-009-0119-6
Woodcock, J.: Hoare and He’s unifying theories of programming. In: Jones and Misra [55], chap. 13, pp. 287–315. https://doi.org/10.1145/3477355.3477369
Woodcock, J., Cavalcanti, A., Foster, S., Oliveira, M., Sampaio, A., Zeyda, F.: UTP, Circus, and Isabelle. In: Bowen et al. [18], this volume. https://doi.org/10.1007/978-3-031-40436-8_2
Xu, Q., de Roever, W.P., He, J.: The rely-guarantee method for verifying shared variable concurrent programs. Form. Aspects Comput. 9(2), 149–174 (1997). https://doi.org/10.1007/BF01211617
Zhou, C., Hoare, C.A.R., Ravn, A.P.: A calculus of durations. Inf. Process. Lett. 40(5), 269–276 (1991)
Zhu, H., Bowen, J.P., He, J.: Deriving operational semantics from denotational semantics for Verilog. In: APSEC 2001: Eighth Asia-Pacific Software Engineering Conference, pp. 177–184. IEEE (2001). https://doi.org/10.1109/APSEC.2001.991475
Zhu, H., Bowen, J.P., He, J.: From operational semantics to denotational semantics for Verilog. In: Margaria, T., Melham, T. (eds.) CHARME 2001. LNCS, vol. 2144, pp. 449–464. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44798-9_34
Zhu, H., Bowen, J.P., He, J.: Soundness, completeness and non-redundancy of operational semantics for Verilog based on denotational semantics. In: George, C., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, pp. 600–612. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36103-0_61
Zhu, H., He, J.: A semantics of Verilog using duration calculus. In: Proceedings of the International Conference on Software: Theory and Practice, pp. 421–432 (August 2000)
Zhu, H., He, J., Li, J., Bowen, J.P.: Algebraic approach to linking the semantics of web services. In: Fifth IEEE International Conference on Software Engineering and Formal Methods (SEFM 2007), 10–14 September 2007, London, England, UK, pp. 315–328. IEEE Computer Society (2007). https://doi.org/10.1109/SEFM.2007.4
Zhu, H., He, J., Li, J., Bowen, J.P.: Algebraic approach to linking the semantics of web services. Innov. Syst. Softw. Eng. 7(3), 209–224 (2011). https://doi.org/10.1007/s11334-011-0172-1
Zhu, H., He, J., Li, J., Pu, G., Bowen, J.P.: Linking denotational semantics with operational semantics for web services. Innov. Syst. Softw. Eng. 6(4), 283–298 (2010). https://doi.org/10.1007/s11334-010-0134-z
Acknowledgements
Jonathan Bowen is grateful for financial support provided by Museophile Limited. The comments from the reviewers were very helpful in improving the final version of this paper. Influenced by [59], the number of references in this paper is also 80 to match Jifeng’s birthday. Finally, both authors are extremely grateful for many years of collaboration with Jifeng, more fully referenced elsewhere [4], and wish him a very happy 80th birthday.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Bowen, J.P., Zhu, H. (2023). Jifeng He at Oxford and Beyond: An Appreciation. In: Bowen, J.P., Li, Q., Xu, Q. (eds) Theories of Programming and Formal Methods. Lecture Notes in Computer Science, vol 14080. Springer, Cham. https://doi.org/10.1007/978-3-031-40436-8_1
Download citation
DOI: https://doi.org/10.1007/978-3-031-40436-8_1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-40435-1
Online ISBN: 978-3-031-40436-8
eBook Packages: Computer ScienceComputer Science (R0)