# Topological models for higher order control flow

## Abstract

Semantic models are presented for two simple imperative languages with higher order constructs. In the first language the interesting notion is that of second order assignment *x*:=*s*, for *x* a procedure variable and *s* a statement. The second language extends this idea by a form of higher order communication, with statements *c! s* and *c? x*, for *c* a channel. We develop operational and denotational models for both languages, and study their relationships. Both in the definitions and the comparisons of the semantic models, convenient use is made of some tools from (metric) topology. The operational models are based on (SOS-style) transition systems; the denotational definitions use domains specified as solutions of domain equations in a category of 1-bounded complete ultrametric spaces. In establishing the connection between the two kinds of models, fruitful use is made of Rutten's *processes as terms* technique. Another new tool consists in the use of *metric* transition systems, with a metric defined on the configurations of the system. In addition to higher order programming notions, we use higher order definitional techniques, e.g., in defining the semantic mappings as fixed points of (contractive) higher order operators. By Banach's theorem, such fixed points are unique, yielding another important proof principle for our paper.

## Keywords

Transition System Semantic Model Operational Semantic Extended State Semantic State## Preview

Unable to display preview. Download preview PDF.

## References

- [ABKR89]P. America, J.W. de Bakker, J.N. Kok, and J.J.M.M. Rutten. Denotational Semantics of a Parallel Object-Oriented Language.
*Information and Computation*, 83(2): 152–205, November 1989.Google Scholar - [ACCL90]M. Abadi, L. Cardelli, P.-L. Curien, and J.-J. Lévy. Explicit Substitutions. In
*Proceedings of the 17th Annual ACM Symposium on Principles of Programming Languages*, pages 31–46, San Francisco, January 1990.Google Scholar - [AGR92]E. Astesiano, A. Giovini, and G. Reggio. Observational Structures and their Logics.
*Theoretical Computer Science*, 96(1):249–283, April 1992.Google Scholar - [AR87]E. Astesiano and G. Reggio. SMoLCS-driven Concurrent Calculi. In H. Ehrig, R. Kowalski, G. Levi, and U. Montanari, editors,
*Proceedings of the International Joint Conference on Theory and Practice of Software Development*, volume 249 of*Lecture Notes in Computer Science*, pages 169–201, Pisa, March 1987. Springer-Verlag.Google Scholar - [AR89]P. America and J.J.M.M. Rutten. Solving Reflexive Domain Equations in a Category of Complete Metric Spaces.
*Journal of Computer and System Sciences*, 39(3):343–375, December 1989.Google Scholar - [Ban22]S. Banach. Sur les Opérations dans les Ensembles Abstraits et leurs Applications aux Equations Intégrales.
*Fundamenta Mathematicae*, 3:133–181, 1922.Google Scholar - [Bar92]H.P. Barendregt. Lambda Calculi with Types. In S. Abramsky, Dov M. Gabbay, and T.S.E. Maibaum, editors,
*Handbook of Logic in Computer Science*, volume 2, Background: Computational Structures, chapter 2, pages 117–309. Clarendon Press, Oxford, 1992.Google Scholar - [BB92]G. Berry and G. Boudol. The Chemical Abstract Machine.
*Theoretical Computer Science*, 96(1):217–248, April 1992.Google Scholar - [BM88]J.W. de Bakker and J.-J.Ch. Meyer. Metric Semantics for Concurrency.
*BIT*, 28:504–529, 1988.Google Scholar - [Bou89]G. Boudol. Towards a Lambda-Calculus for Concurrent and Communicating Systems. In J. Diaz and F. Orejas, editors,
*Proceedings of the International Joint Conference on Theory and Practice of Software Development*, volume 351 of*Lecture Notes in Computer Science*, pages 149–162, Barcelona, March 1989. Springer-Verlag.Google Scholar - [BR92]J.W. de Bakker and J.J.M.M. Rutten, editors.
*Ten Years of Concurrency Semantics, selected papers of the Amsterdam Concurrency Group*. World Scientific, Singapore, September 1992.Google Scholar - [Bre93]F. van Breugel. Three Metric Domains of Processes for Bisimulation. This volume.Google Scholar
- [Bre94]F. van Breugel.
*Topological Models in Comparative Semantics*. PhD thesis, Vrije Universiteit, Amsterdam, 1994. In preparation.Google Scholar - [BZ82]J.W. de Bakker and J.I. Zucker. Processes and the Denotational Semantics of Concurrency.
*Information and Control*, 54(1/2):70–120, July/August 1982.Google Scholar - [Cur88]P.-L. Curien. The
*λρ*-calculus: An Abstract Framework for Environment Machines. Report, LIENS, Paris, October 1988.Google Scholar - [Hoa85]C.A.R. Hoare.
*Communicating Sequential Processes*. Series in Computer Science. Prentice/Hall International, London, 1985.Google Scholar - [JP90]R. Jagadeesan and P. Panangaden. A Domain-theoretic Model for a Higherorder Process Calculus. In M.S. Paterson, editor,
*Proceedings of the 17th International Colloquium on Automata, Languages and Programming*, volume 443 of*Lecture Notes in Computer Science*, pages 181–194, Coventry, July 1990. Springer-Verlag.Google Scholar - [KR90]J.N. Kok and J.J.M.M. Rutten. Contractions in Comparing Concurrency Semantics.
*Theoretical Computer Science*, 76(2/3):179–222, 1990.Google Scholar - [Kur56]K. Kuratowski. Sur une Méthode de Métrisation Complète des Certains Espaces d'Ensembles Compacts.
*Fundamenta Mathematicae*, 43:114–138, 1956.Google Scholar - [LTLG92]J.-J. Lévy, B. Thomsen, L. Leth, and A. Giacalone. CONcurrency and Functions: Evaluation and Reduction.
*Bulletin of the European Association for Theoretical Computer Science*, 48:88–106, October 1992.Google Scholar - [Mic51]E. Michael. Topologies on Spaces of Subsets.
*Transactions of the American Mathematical Society*, 71:152–182, 1951.Google Scholar - [Mil92]R. Milner. Functions as Processes.
*Mathematical Structures in Computer Science*, 2(2):119–141, June 1992.Google Scholar - [MPW92]R. Milner, J. Parrow, and D. Walker. A Calculus of Mobile Processes, I and II.
*Information and Computation*, 1(100):1–40 and 41–77, September 1992.Google Scholar - [MS92]R. Milner and D. Sangiorgi. Barbed Bisimulation. In W. Kuich, editor,
*Proceedings of the 19th International Colloquium on Automata, Languages and Programming*, volume 623 of*Lecture Notes in Computer Science*, pages 685–695, Vienna, July 1992. Springer-Verlag.Google Scholar - [Plo81]G.D. Plotkin. A Structural Approach to Operational Semantics. Report DAIMI FN-19, Aarhus University, Aarhus, September 1981.Google Scholar
- [RT92]J.J.M.M. Rutten and D. Turi. On the Foundations of Final Semantics: non-standard sets, metric spaces, partial orders. In J.W. de Bakker, W.-P. de Roever, and G. Rozenberg, editors,
*Proceedings of the REX Workshop on Semantics: Foundations and Applications*, volume 666 of*Lecture Notes in Computer Science*, pages 477–530, Beekbergen, June 1992. Springer-Verlag.Google Scholar - [Rut92]J.J.M.M. Rutten. Processes as Terms: Non-Well-Founded Models for Bisimulation.
*Mathematical Structures in Computer Science*, 2(3):257–275, September 1992.Google Scholar - [San92]D. Sangiorgi.
*Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms*. PhD thesis, University of Edinburg, Edinburg, 1992.Google Scholar - [San93]D. Sangiorgi. An Investigation into Functions as Processes. This volume.Google Scholar
- [Tho89]B. Thomsen. A Calculus of Higher Order Communicating Systems. In
*Proceedings of the 16th Annual ACM Symposium on Principles of Programming Languages*, pages 143–154, Austin, January 1989.Google Scholar - [Tho90]B. Thomsen.
*Calculi for Higher Order Communicating Systems*. PhD thesis, Imperial College, London, September 1990.Google Scholar