Ribeiro, Pedro orcid.org/0000-0003-4319-4872, Ye, Kangfeng, Zeyda, Frank et al. (1 more author) (2024) A Tour Through the Programming Choices:Semantics and Applications. In: Foster, Simon and Sampaio, Auguto, (eds.) Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) . Springer Science and Business Media Deutschland GmbH , pp. 261-305.
Abstract
The discipline of programming, as Edsger Dijkstra would call it, has provided a formal basis for the study of programs where choices are not necessarily deterministic. That is, despite reservations from pioneers, like Tony Hoare, about the inclusion of nondeterministic behaviour in a program. For over 65 years, nondeterminism has played an important role in modelling and reasoning about programs. Moreover, there are at least two major flavours: angelic and demonic. Further programming choices, such as preferential and probabilistic, have been proposed to capture other important phenomena, for example, in the context of cyber-physical systems, distributed systems, and cryptography. In this chapter, we provide a critical account of these programming choices and their semantics, and discuss their applications. Our account focuses mainly on denotational semantics, and in particular relational models, as is fitting in honour of Jim Woodcock. We discuss approaches based on, or inspired by, weakest preconditions semantics and alphabetised relations, as found in the Unifying Theories of Programming (UTP). They are at the core of the semantics of notations such as Z and Circus, and extensions to deal with time and probabilities. Some of the ideas discussed here have been developed in close collaboration with Jim.
Metadata
Item Type: | Book Section |
---|---|
Authors/Creators: |
|
Editors: |
|
Copyright, Publisher and Additional Information: | © 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG. This is an author-produced version of the published paper. Uploaded in accordance with the publisher’s self-archiving policy. Further copying may not be permitted; contact the publisher for details. |
Keywords: | choice,programming,refinement,relations,semantics,UTP |
Dates: |
|
Institution: | The University of York |
Academic Units: | The University of York > Faculty of Sciences (York) > Computer Science (York) |
Depositing User: | Pure (York) |
Date Deposited: | 22 Nov 2024 10:40 |
Last Modified: | 16 Dec 2024 00:25 |
Published Version: | https://doi.org/10.1007/978-3-031-67114-2_11 |
Status: | Published |
Publisher: | Springer Science and Business Media Deutschland GmbH |
Series Name: | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) |
Identification Number: | 10.1007/978-3-031-67114-2_11 |
Related URLs: | |
Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:219956 |
Download
Filename: JWFS2024_A_tour_through_the_programming_choices_semantics_and_applications.pdf
Description: JWFS2024___A_tour_through_the_programming_choices__semantics_and_applications