Control Flow Semantics presents a unified, formal treatment of the semantics of a wid …… [ 展开全部 ]
e spectrum of control flow notions as found in sequential, concurrent, logic, object-oriented, and functional programming languages. Whereas in more traditional approaches one focuses on input/output behavior, in this work equal attention is devoted to finite and infinite computations, the latt...(展开全部)
Control Flow Semantics presents a unified, formal treatment of the semantics of a wide spectrum of control flow notions as found in sequential, concurrent, logic, object-oriented, and functional programming languages. Whereas in more traditional approaches one focuses on input/output behavior, in this work equal attention is devoted to finite and infinite computations, the latter motivated by the growing importance of reactive systems. Knowledge of the comparative semantics of control structures is critical for the designers of programming languages, and it is difficult to choose from today's bewildering variety of control flow concepts (the ways in which a program specifies the successive steps to be taken during execution). Encyclopedic in scope, Control Flow Semantics provides comprehensive coverage of these concepts, developing operational and denotational models for control flow in 27 languages. In all cases, precise statements are given relating these models. A rich body of semantic definitional techniques is presented, including (labeled) transition systems, higher-order definitions, resumptions and continuations, linear or sequence-based models, and models specified by domain equations. Moreover, both symbol-based or schematic languages—prevalent in the study of concurrency—and state-based or interpreted languages are considered. The book is founded on a unifying mathematical basis of metric structures, allowing the full modeling of infinite behavior, as well as the exploitation of some classical results, such as Banach's fixed point theorem. Perspectives on further topics, such as full abstractness, noninterleaving semantics for parallelism, and second-order programming are also included. [ 收起 ]
Introduction
I Fundamentals
1. Recursion and Iteration
2. Nondeterminacy
3. Variations
II Linear Models
4. Uniform Parallelism
5. Unbounded Nondeterminism
6. Locality
7. Nonuniform Parallelism
8. Recursion Revisited
9. Nested Resumptions
III Models Based Domain Equations
10. Domain Equations and Bisimulation
11. Branching Domains at Work
12. Extensions of Nonuniform Parallelism
13. Concurrent Object-Oriented Programming
14. Atomization, Commit, and Action Refinement
IV Perspectives
15. The Control Flow Kernel of Logic Programming
16. True Concurrency
17. Full Abstracness
18. Second-order Assignment
A. Proofs of Topological Theorems
B. Direct Operational Semantics
C. Domain Equations
D. Further Reading