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

Our focus is on the semantics of programming and speci$cation languages. Over the years, di1erent 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 $eld 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 speci$cation languages. Nontermination is usually caused by recursive constructs which are crucial in programming. The operational models are based on labelled transition systems. The de$nition 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 de$ne operators on in$nite 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 de$ning 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 speci$cation language. c © 2001 Elsevier Science B.V. All rights reserved.

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

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

[3]  Franck van Breugel Solutions to the Exercises in an Introduction to Metric Semantics: Operational and Denotational Models for Programming and Speciication Languages , 2000 .

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

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

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

[7]  Jan J. M. M. Rutten,et al.  Correctness and full abstraction of metric semantics for concurrency , 1988, REX Workshop.

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

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

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

[11]  Erik P. de Vink,et al.  Control flow semantics , 1996 .

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

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

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

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

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

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

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

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

[20]  Franciscus Cornelus van Breugel Comparative metric semantics of programming languages - nondeterminism and recursion , 1998, Progress in theoretical computer science.

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

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

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

[24]  Lutz Priese,et al.  Fairness , 1988, Bull. EATCS.

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

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

[27]  R. Kuiper An operational semantics for bounded nondeterminism equivalent to a denotational one : (preprint) , 1981 .

[28]  Carl A. Gunter Semantics of programming languages: structures and techniques , 1993, Choice Reviews Online.

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

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

[31]  Gordon D. Plotkin,et al.  An ideal model for recursive polymorphic types , 1984, Inf. Control..

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

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

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

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

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

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

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

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

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

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