Structures of Computing: A Guide to Practice-Oriented Theory [2024 ed.]
3031543572, 9783031543579
Structures of Computing explains the behavioral meaning of fundamental concepts of computing from a practical viewpoint
126
94
5MB
English
Pages 300
[286]
Year 2024
Report DMCA / Copyright
DOWNLOAD PDF FILE
Table of contents :
Preface: What the Book is About
The Theme of the Book
A Short Survey of the Book
Target Audience and How to Use the Book
Acknowledgements
Contents
List of Figures
Symbols and Notations
Part I Computational Paradigms: Definition
Chapter 1 Computational Data, Operations, States
1.1 Data and Operations on Data
1.1.1 Naming Objects and Operations (Syntax of Terms)
1.1.2 Generic Notion of States
1.1.3 Interpretation (Semantics) of Terms in States
1.2 State Properties (Syntax and Semantics of Statements)
Chapter 2 Logical Structure of State-Change Actions
2.1 Logical Memory Structure (Locations and Updates)
2.1.1 Interaction Type of Functions and Locations
2.2 Logical Structure of One-Step Actions
2.2.1 Single-Agent Algorithmic Steps: Syntax
2.2.2 Single-Agent Algorithmic Steps: Semantics
2.3 Domain-Specific One-Step Actions
2.3.1 Call Step (by Value, by Name)
2.3.2 Workspace Increase Operation
2.4 Core Actions on Structures (Recap)
Chapter 3 Control Structures of Single-Process Runs
3.1 Definition of Single-Process Runs
3.1.1 Relative Computability (Background Concept)
3.2 Sequential Imperative Procedural Program Runs
3.2.1 Imperative Constructs (
3.2.2 Procedural Constructs (Class Model (Javac)
3.3 Input Driven Sequential Runs
3.3.1 Computable Functions (Input/Output Machines)
3.4 Nondeterminism and Interleaving
3.5 Synchronous Parallel Step Control
Chapter 4 Dynamic Sequential Step Control
4.1 Partial Updates of Structured Objects
4.2 Intuitive Meaning of Reflectivity
4.3 Reflective PGAs
4.4 Backtracking and Reflection (Prolog)
4.4.1 Interpreter for Pure Prolog
4.4.2 Interpreter for reflective Prolog
4.5 Reflection in LISP
4.6 Reflective RAM
4.6.1 Reflectivity at Work (Indirect Addressing)
4.7 Reflectivity Styles
Chapter 5 Control Structures of Multi-Process Runs
5.1 What are Concurrent Runs
5.2 Communicating Processes
5.2.1 Web Browser Model
5.2.1.1 Browser User Layer
5.2.1.2 Browser Context Layer
5.2.1.3 Browser Transport Layer
5.2.1.4 Browser Stream Layer
5.3 Concurrency, Communication, Choice (Occam)
5.3.1 Occam Ground Model
5.3.2 Refining Sync to Async Communication
5.3.3 Optimized Communication
5.3.4 Sequential Implementation
5.3.5 Time-Slicing Refinement
5.4 Concurrency, Parameterization, Context Awareness
5.4.1 Context Aware Processes (Ambient ASMs)
5.4.2 From Sequential to Concurrent Runs (Java/C#)
Chapter 6 Mixed Synchronous/Asynchronous Control Structures
6.1 Bulk Synchronous Parallel (BSP) Control
6.2 Streaming (Data Flow) Control
6.2.1 High-Level Streaming Model
6.2.2 Refined Streaming Variants
6.2.3 Artificial Neural Network
6.2.4 Spreadsheet Streaming Machine
6.2.5 TCP/IP Streaming in Computer Networks
6.2.5.1 Networking driver
6.2.5.2 Networking operations
6.2.5.3 Server operations
6.2.5.4 Client operations
6.2.5.5 Completing the browser model
Introduction and Survey of Part 1
Part II Computational Paradigms: Analysis
Chapter 7 Correctness Analysis: Inspection, Validation, Verification
7.1 Ground Models (Inspection)
7.2 Model Refinements (Validation and Verification)
7.3 The Role of Documentation
Chapter 8 Characterization of Process Families
8.1 Single-Agent Sequential Algorithms
8.1.1 From Turing Machines to PGAs
8.1.2 The PGA Theorem
8.2 Arithmetical Algorithms and Turing’s Thesis
8.3 Concurrent Algorithms
8.4 Recursive Algorithms
8.4.1 Recursion Postulates
8.4.1.1 Fresh Instances of i/o-Algorithms
8.4.2 Recursive ASMs
8.4.3 Proof of the Recursive ASM Theorem
Chapter 9 Complexity Analysis
9.1 Power and Limits of Computation
9.1.1 Undecidable Computational Problems (Diagonalization)
9.1.2 Universality and Recursion
9.1.2.1 Universal Machine and Enumeration Function
9.1.2.2 Recursion Theorem
9.1.3 Undecidable Logic Problems (Reduction Method)
9.1.3.1 Entscheidungsproblem
9.1.3.2 NP-Completeness of Propositional Logic
9.2 Complexity of Computing over Structures
9.2.1 Universal ASM over Fixed Signature
9.2.2 Look-Compute-Move Algorithms
9.2.2.1 Signature of LCM algorithms
9.2.2.2 Discrete LCM Algorithms over Graphs (
9.2.2.3 LCM Runs and Complexity
Introduction and Survey of Part 2
Appendix A ASM Behaviour in a Nutshell
Appendix B Solutions of Selected Exercises
References
Index