Modeling Time in Computing

This book details the results of several decades of research on developing, analyzing, and applying time models to computing and engineering. Each chapter is supplemented with detailed bibliographic remarks and exercises of varying difficulty and scope.

Saved in:
Bibliographic Details
Published inMonographs in theoretical computer science
Main Authors Furia, Carlo A, Mandrioli, Dino, Morzenti, Angelo, Rossi, Matteo
Format eBook Book
LanguageEnglish
Published Berlin, Heidelberg Springer Nature 2012
Springer
Springer Berlin / Heidelberg
Springer Berlin Heidelberg
Edition1
SeriesMonographs in Theoretical Computer Science. An EATCS Series
Subjects
Online AccessGet full text
ISBN3642323324
9783642323324
3642323316
9783642323317
3642431364
9783642431364
ISSN1431-2654
2193-2069
DOI10.1007/978-3-642-32332-4

Cover

Table of Contents:
  • 10.1.2 Internal and External Choice -- 10.1.3 Hiding of Events -- 10.1.4 Concurrent Process Composition -- 10.1.5 Inter-process Communication -- 10.2 Formal Semantics of Process Algebras -- 10.2.1 Trace Semantics -- 10.2.2 Transition System Semantics -- 10.2.3 Failure Semantics -- 10.2.4 Algebraic Laws -- 10.3 Process Algebras with Metric Time -- 10.3.1 Time Advancement as an Explicit Event -- 10.3.2 Timed Process Algebras -- 10.3.2.1 Timed Communicating Sequential Processes -- 10.3.2.2 Transition System Semantics of Timed CSP -- 10.3.2.3 Time Advancement of Timed CSP -- 10.3.2.4 Timed Trace Semantics of Timed CSP -- 10.4 Probabilistic Process Algebras -- 10.4.1 Probabilistic CSP -- 10.4.2 External Choice and Concurrency in Probabilistic CSP -- 10.4.3 Nondeterminism and Hiding in Probabilistic CSP -- 10.5 Methods and Tools Based on Process Algebras -- 10.6 Bibliographic Remarks -- References -- Chapter 11 Dual-Language Approaches -- 11.1 Model Checking Frameworks -- 11.1.1 Automata-Theoretic Model Checking -- 11.1.2 Satisfiability-Based Model Checking -- 11.1.3 CTL Model Checking by Tableau -- 11.1.4 Model Checking Timed Automata -- 11.1.5 Concluding Remarks on Model Checking -- 11.2 The TTM/RTTL Framework -- 11.3 The TRIO-Petri Nets Approach -- 11.3.1 Axiomatization of a Subclass of Timed Petri Nets -- 11.3.2 Axiomatization of General Timed Petri Nets -- 11.3.2.1 Axiomatization of 1-Bounded Timed Petri Nets -- 11.3.2.2 Hints Towards the Axiomatization of Unbounded Timed Petri Nets -- 11.4 Verification Tools for Dual-Language Approaches -- 11.4.1 Model Checkers -- 11.4.2 Tools Supporting the TTL/RTTL Approach -- 11.4.3 Tools Supporting the TRIO/Petri Nets Approach -- 11.5 Bibliographic Remarks -- References -- Chapter 12 Time Is Up -- 12.1 Modeling Time: Past, Present… -- 12.2 … and Future -- References -- Index
  • 4.3 The State-Space Representation of Dynamical Systems -- 4.4 Dynamical Systems as Models of Computation -- 4.5 From Continuous to Discrete -- 4.6 Dynamical Systems and the Dimensions of TemporalModeling -- 4.6.1 Discrete and Continuous (Time) Domains -- 4.6.2 Irregular and Zeno Behaviors -- 4.6.3 Determinism in Dynamical Systems -- 4.6.4 Other Dimensions of Temporal Modeling in Dynamical Systems -- 4.6.4.1 Implicit Versus Explicit Time Reference -- 4.6.4.2 Concurrency and Composition -- 4.7 Notations and Tools for Dynamical System Analysis -- 4.8 Bibliographic Remarks -- References -- Chapter 5 Time in Hardware Modeling and Design -- 5.1 From Transistors to Sequential Logic Circuits -- 5.1.1 Logic Devices from Transistors -- 5.1.2 An Abstract View of Logic Gates -- 5.1.3 From Combinatorial to Sequential Logic Circuits -- 5.2 From Two to Many States: Raising the Level of Abstraction -- 5.2.1 Sequential Machines and Zero-Time Transitions -- 5.2.2 Finite-State Machines -- 5.2.3 Finite-State Machines with Output: Moore and Mealy Machines -- 5.3 From Asynchronous to Synchronous Logic Circuits -- 5.3.1 Logic Synchronized by a Clock: The Complete-Synchrony Abstraction -- 5.3.2 From Continuous to Discrete Time -- 5.4 Modular Abstractions in Hardware Design -- 5.4.1 The Behavioral Abstraction -- 5.4.2 Hardware Description Languages -- 5.5 Methods and Tools for Hardware Analysis -- 5.6 Bibliographic Remarks -- References -- Chapter 6 Time in the Analysis of Algorithms -- 6.1 Models of Algorithms and Computational Complexity -- 6.2 Computational Complexity and Automata Models -- 6.2.1 Measures of Computational Complexity -- 6.2.2 Finite-State Automata -- 6.2.3 Turing Machines -- 6.2.4 Universal Computation and the Church-Turing Thesis -- 6.2.5 Complexity of Algorithms and Problems -- 6.2.6 The Linear Speed-Up Theorem
  • 8.5 Stochastic Petri Nets -- 8.6 Languages, Methods, and Tools Based on Petri Nets -- 8.6.1 CO-OPN2 and the Railroad Crossing Problem -- 8.6.2 Tools for Petri Nets -- 8.7 Bibliographic Remarks -- References -- Chapter 9 Logic-Based Formalisms -- 9.1 Linear- and Branching-Time Temporal Logics -- 9.1.1 Linear Temporal Logic -- 9.1.1.1 Expressing Properties in Linear Temporal Logic -- 9.1.1.2 Linear Temporal Logic and Nondeterministic Büchi Automata -- 9.1.2 Branching-Time Temporal Logic -- 9.1.2.1 Computation Tree Logic -- 9.1.2.2 Expressiveness of LTL and CTL -- 9.1.2.3 The Branching Logic CTL* -- 9.2 Future and Past Temporal Logics -- 9.3 Temporal Logics with Metric on Time -- 9.3.1 Metric Temporal Logic -- 9.3.2 TRIO -- 9.3.3 Specifying Properties in First-Order Metric Temporal Logics -- 9.4 Discrete and Dense Time Domains -- 9.4.1 Dense-Time Modeling -- 9.4.1.1 Non-Zeno Requirement for Time-Dependent Predicates -- 9.4.1.2 Non-Zeno Requirement for Time-Dependent Variables -- 9.4.2 Sampling as a Means to Reconcile Discrete- and Dense-Time Semantics -- 9.5 Interval-Based Temporal Logics -- 9.5.1 Interval-Based and Point-Based Predicates -- 9.6 Dealing with Heterogeneous Time Granularities -- 9.7 Explicit-Time Logics -- 9.7.1 Real-Time Logic -- 9.7.2 Temporal Logic of Actions -- 9.7.3 Timed Propositional Temporal Logic -- 9.8 Probabilistic Temporal Logics -- 9.8.1 Probabilistic Computation Tree Logic -- 9.8.2 Continuous Stochastic Logic -- 9.9 Methods and Tools Based on Temporal Logics -- 9.9.1 A Deductive Approach to the Analysis of TRIO Specifications -- 9.9.2 An Approach to Discrete-Time MTL Verification Based on Satisfiability Solvers -- 9.9.3 Runtime Verification Based on Temporal Logic -- 9.10 Bibliographic Remarks -- References -- Chapter 10 Algebraic Formalisms -- 10.1 Communicating Sequential Processes -- 10.1.1 Processes and Events
  • Intro -- Modeling Time in Computing -- Preface -- Scope and Topics -- Audience -- Book Structure -- Prerequisites, Dependencies, and Teaching -- Exercises -- Acknowledgments -- Contents -- Chapter 1 It's About Time -- 1.1 Bibliographic Remarks -- References -- Chapter 2 Languages and Interpretations -- 2.1 Syntax and Semantics -- 2.2 Language Features -- 2.2.1 Formality -- 2.2.2 Medium -- 2.3 Languages for System Modeling -- 2.4 Operational and Descriptive Languages -- 2.4.1 Operational Formalisms -- 2.4.2 Descriptive Formalisms: Mathematical Logic -- 2.4.2.1 Propositional Logic -- 2.4.2.2 Predicate Logic -- 2.5 Bibliographic Remarks -- References -- Chapter 3 Dimensions of the Time Modeling Problem -- 3.1 Discrete Versus Dense Time Domains -- 3.1.1 Continuous Versus Non-continuous Time Models -- 3.1.2 Bounded, Finite, and Periodic Time Models -- 3.1.3 Hybrid Systems -- 3.2 Ordering Versus Metric -- 3.2.1 Total Versus Partial Ordering -- 3.2.2 Time Granularity -- 3.3 Linear Versus Branching Time Models -- 3.4 Deterministic, Nondeterministic, and Probabilistic Models -- 3.4.1 Deterministic Versus Nondeterministic Models -- 3.4.2 Nondeterministic Versus Probabilistic Models -- 3.4.3 Deterministic, Probabilistic, and Nondeterministic Versus Linear- and Branching-Time Models -- 3.5 Implicit Versus Explicit Time Reference -- 3.6 The Time Advancement Problem -- 3.7 Concurrency and Composition -- 3.7.1 Synchronous Versus Asynchronous Composition -- 3.7.2 Message Passing Versus Resource Sharing -- 3.8 Analysis and Verification Issues -- 3.8.1 Expressiveness -- 3.8.2 Decidability and Complexity -- 3.8.3 Analysis and Verification Techniques -- 3.8.3.1 Summing Up -- 3.9 Bibliographic Remarks -- References -- Part I Historical Approaches -- Chapter 4 Dynamical Systems -- 4.1 Discrete-Time Dynamical Systems -- 4.2 Continuous-Time Dynamical Systems
  • 6.2.7 Complexity Classes and Polynomial Correlation -- 6.2.8 Nondeterministic Models of Computation -- 6.2.9 Nondeterministic Turing Machines -- 6.2.10 NP-Completeness -- 6.3 Computational Complexity and Architecture Models -- 6.3.1 Random Access Machines -- 6.3.2 Algorithmic Complexity Analysis with Random Access Machines -- 6.3.3 Random Access Machines and Complexity Classes -- 6.4 Randomized Models of Computation -- 6.4.1 Probabilistic Finite-State Automata -- 6.4.1.1 Discrete-Time Markov Chains -- 6.4.1.2 Markov Decision Processes -- 6.4.1.3 Continuous-Time Markov Chains -- 6.4.2 Probabilistic Turing Machines and Complexity Classes -- 6.5 Bibliographic Remarks -- References -- Part II Temporal Models in Modern Theory and Practice -- Chapter 7 Synchronous Abstract Machines -- 7.1 Transition Systems -- 7.1.1 Composition of Transition Systems -- 7.2 Automata Over Discrete Time -- 7.2.1 Extending Finite-State Machines with Variables -- 7.2.2 Finite-State Automata Features -- 7.3 Decoupling Passing of Time and Transitions -- 7.3.1 Timed Transition Models -- 7.3.2 Statecharts -- 7.4 Automata Over Continuous Time -- 7.4.1 Timed Automata -- 7.4.2 Hybrid Automata -- 7.4.3 From Dense Back to Discrete Time: Digitization -- 7.5 Probabilistic and Stochastic Automata -- 7.5.1 Stochastic Transition Systems -- 7.5.2 Probabilistic Timed Automata -- 7.5.3 Stochastic Automata -- 7.6 Methods and Tools Based on Synchronous Abstract Machines -- 7.7 Bibliographic Remarks -- References -- Chapter 8 Asynchronous Abstract Machines: Petri Nets -- 8.1 Basic Petri Nets -- 8.2 Variations and Extensions of Basic Petri Nets -- 8.3 Timed Petri Nets -- 8.3.1 Issues in the Semantics of Timed Petri Nets -- 8.3.2 Formalizing the Semantics of Timed Petri Nets -- 8.3.3 Timed Petri Nets: Complexity and Expressiveness -- 8.4 Timed Petri Nets with Inhibitor Arcs
  • Intro -- Modeling Time in Computing -- Preface -- Contents -- Chapter 1 It's About Time -- Chapter 2 Languages and Interpretations -- Chapter 3 Dimensions of the Time Modeling Problem -- Part I Historical Approaches -- Part II Temporal Models in Modern Theory and Practice -- Index