Unifying Theories of Programming

In previous work, based on an original idea due to Saaltink, we proposed a unifying theory of undefined expressions in logics used for formally specifying software systems. In our current paper, we instantiate these ideas in Hoare and He’s Unifying Theories of Programming, with each different treatment of undefinedness formalized as a UTP theory. In this setting, we show how to use classical logic to prove facts in a monotonic partial logic with guards, and we describe the guards for several different UTP theories. We show how classical logic can be used to prove semi-classical facts. We apply these ideas to the COMPASS Modelling Language (CML), which is an integration of VDM and CSP in the Circus tradition. We link CML, which uses McCarthy’s left-to-right expression evaluation, and to VDM, which uses Jones’s three-valued Logic of Partial Functions.

[1]  Flemming Nielson,et al.  Semantics with applications - a formal introduction , 1992, Wiley professional computing.

[2]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[3]  Georg Struth,et al.  Concurrent Kleene Algebra , 2009, CONCUR.

[4]  C. A. R. Hoare,et al.  A Calculus of Durations , 1991, Inf. Process. Lett..

[5]  Wan Fokkink,et al.  Introduction to Process Algebra , 1999, Texts in Theoretical Computer Science. An EATCS Series.

[6]  Robert Hieb,et al.  The Revised Report on the Syntactic Theories of Sequential Control and State , 1992, Theor. Comput. Sci..

[7]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[8]  Nimal Nissanke Realtime systems , 1997, Prentice Hall series in computer science.

[9]  Jifeng He,et al.  From Operational Semantics to Denotational Semantics for Verilog , 2001, CHARME.

[10]  Robin Milner,et al.  Communicating and mobile systems - the Pi-calculus , 1999 .

[11]  Jifeng He,et al.  Deriving operational semantics from denotational semantics for Verilog , 2001, Proceedings Eighth Asia-Pacific Software Engineering Conference.

[12]  Dexter Kozen A Completeness Theorem for Kleene Algebras and the Algebra of Regular Events , 1994, Inf. Comput..

[13]  Gordon D. Plotkin,et al.  The origins of structural operational semantics , 2004, J. Log. Algebraic Methods Program..

[14]  Alberto Verdejo,et al.  Implementing CCS in Maude 2 , 2002, Electron. Notes Theor. Comput. Sci..

[15]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.

[16]  C. A. R. Hoare,et al.  Laws of programming , 1987, CACM.