An introduction to metric semantics: operational and denotational models for programming and specification languages

Our focus is on the semantics of programming and specification languages. Over the years, different approaches to give semantics to these languages have been put forward. We restrict ourselves to the operational and the denotational approach, two main streams in the field of semantics. Two notions which play an important role in this paper are (non)determinism and (non)termination. Nondeterminism arises naturally in concurrent languages and it is a key concept in specification languages. Nontermination is usually caused by recursive constructs which are crucial in programming. The operational models are based on labelled transition systems. The definition of these systems is guided by the structure of the language. Metric spaces are an essential ingredient of our denotational models. We exploit the metric structure to model recursive constructs and to define operators on infinite entities. Furthermore, we also employ the metric structure to relate operational and denotational models for a given language. On the basis of four toy languages, we develop some general theory for defining operational and denotational semantic models and for relating them. This theory is applicable to a wide variety of languages. We start with a very simple deterministic and terminating imperative programming language. By adding the recursive while statement, we obtain a deterministic and nonterminating language. Next, we augment the language with the parallel composition resulting in a bounded nondeterministic and nonterminating language. Finally, we add some timed constructs. We obtain an unbounded nondeterministic and nonterminating specification language.

[1]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[2]  J. J. M. M. Rutten Semantic Correctness for a Parallel Object-Oriented Language , 1990, SIAM J. Comput..

[3]  Erik P. de Vink,et al.  Bisimulation for Probabilistic Transition Systems: A Coalgebraic Approach , 1999, Theor. Comput. Sci..

[4]  Matthew Hennessy,et al.  Semantics of programming languages - an elementary introduction using structural operational semantics , 1990 .

[5]  Wilson A. Sutherland,et al.  Introduction to Metric and Topological Spaces , 1975 .

[6]  S. Banach Sur les opérations dans les ensembles abstraits et leur application aux équations intégrales , 1922 .

[7]  A. W. Roscoe,et al.  A Timed Model for Communicating Sequential Processes , 1986, Theor. Comput. Sci..

[8]  André Arnold Topological Characterizations of Infinite Behaviours of Transition Systems , 1983, ICALP.

[9]  Christel Baier,et al.  Denotational Semantics in the CPO and Metric Approach , 1994, Theor. Comput. Sci..

[10]  Pierre America,et al.  Solving Reflexive Domain Equations in a Category of Complete Metric Spaces , 1989, J. Comput. Syst. Sci..

[11]  Grzegorz Rozenberg,et al.  Linear Time, Branching Time and Partial Order in Logics and Models for Concurrency , 1988, Lecture Notes in Computer Science.

[12]  R. Milner Mathematical Centre Tracts , 1976 .

[13]  den Ji Jerry Hartog Comparative semantics for a process language with probabilistic choice and non-determinism , 1998 .

[14]  Joost N. Kok,et al.  Comparative Metric Semantics for Concurrent Prolog , 1990, Theor. Comput. Sci..

[15]  Jan J. M. M. Rutten,et al.  A semantic approach to fairness , 1992, Fundam. Informaticae.

[16]  Jan A. Bergstra,et al.  Linear Time and Branching Time Semantics for Recursion with Merge , 1983, Theor. Comput. Sci..

[17]  R. Baire Sur la représentation des fonctions discontinues , 1906 .

[18]  Matthew Hennessy,et al.  Full Abstraction for a Simple Parallel Programming Language , 1979, MFCS.

[19]  C. Baier,et al.  Domain equations for probabilistic processes , 2000, Mathematical Structures in Computer Science.

[20]  J. W. de Bakker,et al.  Compactness in Semantics for Merge and Fair Merge , 1983, Logic of Programs.

[21]  J. W. de Bakker,et al.  Ten Years of Concurrency Semantics; Selected Papers of the Amsterdam Concurrency Group , 1992 .

[22]  Pierre America,et al.  Denotational Semantics of a Parallel Object-Oriented Language , 1989, Inf. Comput..

[23]  Maurice Nivat,et al.  The metric space of infinite trees. Algebraic and topological properties , 1980, Fundam. Informaticae.

[24]  Ugo Montanari,et al.  Liveness properties as convergence in metric spaces , 1984, STOC '84.

[25]  Rance Cleaveland,et al.  Divergence and Fair Testing , 1995, ICALP.

[26]  Arie de Bruin On the Existence of Cook Semantics , 1984, SIAM J. Comput..

[27]  Jan J. M. M. Rutten,et al.  Contractions in Comparing Concurrent Semantics , 1988, ICALP.

[28]  Scott A. Smolka,et al.  Algebraic Reasoning for Probabilistic Concurrent Systems , 1990, Programming Concepts and Methods.

[29]  D. König Sur les correspondances multivoques des ensembles , 2022 .

[30]  P. Alexandroff Über stetige Abbildungen kompakter Räume , 1927 .

[31]  Gordon D. Plotkin,et al.  An Ideal Model for Recursive Polymorphic Types , 1986, Inf. Control..

[32]  Ernst-Rüdiger Olderog,et al.  Transition Systems, Metric Spaces and Ready Sets in the Semantics of Uniform Concurrency , 1988, J. Comput. Syst. Sci..

[33]  Pierre America,et al.  Operational semantics of a parallel object-oriented language , 1986, POPL '86.

[34]  C. Kuratowski,et al.  Sur une méthode de métrisation complète de certains espaces d'ensembles compacts , 1956 .

[35]  Mila E. Majster-Cederbaum,et al.  The Comparison of a CPO-based Semantics with a CMS-based semantics for CSP , 1994, Theor. Comput. Sci..

[36]  Philippe Darondeau,et al.  Fairness, Distances and Degrees , 1992, Theor. Comput. Sci..

[37]  E. Michael Topologies on spaces of subsets , 1951 .

[38]  J. W. de Bakker,et al.  Processes and the Denotational Semantics of Concurrency , 1982, Inf. Control..

[39]  Gerardo Costa,et al.  A Metric Characterization of Fair Computations in CCS , 1985, TAPSOFT, Vol.1.

[40]  Joël Ouaknine,et al.  Model-Checking Temporal Behaviour in CSP , 1999, PDPTA.