Modeling and Analysis of Communicating Systems

Similar documents
EDA045F: Program Analysis LECTURE 10: TYPES 1. Christoph Reichenbach

Denotational Semantics of Programs. : SimpleExp N.

NICTA Advanced Course. Theorem Proving Principles, Techniques, Applications

Verifying Properties of Parallel Programs: An Axiomatic Approach

Introduction to mcrl2

EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits)

Outline. EECS150 - Digital Design Lecture 4 - Boolean Algebra I (Representations of Combinational Logic Circuits) Combinational Logic (CL) Defined

CS 226: Digital Logic Design

Denoting computation

CS 4110 Programming Languages & Logics. Lecture 16 Programming in the λ-calculus

Lecture 4 Event Systems

cse541 LOGIC FOR COMPUTER SCIENCE

Operational Semantics

Causality Interfaces and Compositional Causality Analysis

1 Lecture 25: Extreme values

The State Explosion Problem

Inductive Definitions with Inference Rules 1 / 27

Topics in Concurrency

Lectures on Separation Logic. Lecture 2: Foundations

T Reactive Systems: Temporal Logic LTL

Process Algebras and Concurrent Systems

CSE 20. Lecture 4: Introduction to Boolean algebra. CSE 20: Lecture4

Temporal Logic of Actions

Trace semantics: towards a unification of parallel paradigms Stephen Brookes. Department of Computer Science Carnegie Mellon University

Complex Systems Design & Distributed Calculus and Coordination

Propositional Logic. CS 3234: Logic and Formal Systems. Martin Henz and Aquinas Hobor. August 26, Generated on Tuesday 31 August, 2010, 16:54

Lecture 2: From Classical to Quantum Model of Computation

Limitations of OCAML records

Business Process Management

Lecture 2: Syntax. January 24, 2018

Semantics and Verification

Discrete Mathematics

Lecture Notes on Data Abstraction

Linear Temporal Logic (LTL)

Lecture 2: Axiomatic semantics

Formal Methods in Software Engineering

The Importance of Being Formal. Martin Henz. February 5, Propositional Logic

MTAT Complexity Theory December 8th, Lecture 12

Semantics of intuitionistic propositional logic

Mathematical Induction

Theoretical Foundations of the UML

Constructing Mid-points for Two-party Asynchronous Protocols

Reasoning about Time and Reliability

CHAPTER 6. Copyright Cengage Learning. All rights reserved.

Lecture Notes 17. Randomness: The verifier can toss coins and is allowed to err with some (small) probability if it is unlucky in its coin tosses.

CS61c: Representations of Combinational Logic Circuits

Notes on BAN Logic CSG 399. March 7, 2006

Probability Theory and Simulation Methods

Formal Methods Lecture VII Symbolic Model Checking

Typed Arithmetic Expressions

Programming Languages

CS 6112 (Fall 2011) Foundations of Concurrency

IST 4 Information and Logic

EECS150 - Digital Design Lecture 19 - Combinational Logic Circuits : A Deep Dive

Causality & Concurrency. Time-Stamping Systems. Plausibility. Example TSS: Lamport Clocks. Example TSS: Vector Clocks

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

Topics in Concurrency

Earlier this week we defined Boolean atom: A Boolean atom a is a nonzero element of a Boolean algebra, such that ax = a or ax = 0 for all x.

Domain theory and denotational semantics of functional programming

Models of Concurrency

G54FOP: Lecture 17 & 18 Denotational Semantics and Domain Theory III & IV

Discrete Mathematics

Equational Logic and Term Rewriting: Lecture I

SYDE 112, LECTURE 7: Integration by Parts

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Polymorphism, Subtyping, and Type Inference in MLsub

Lecture 12: Interactive Proofs

Lecture 10: Gentzen Systems to Refinement Logic CS 4860 Spring 2009 Thursday, February 19, 2009

Dynamic Noninterference Analysis Using Context Sensitive Static Analyses. Gurvan Le Guernic July 14, 2007

Formal Techniques for Software Engineering: Denotational Semantics

COSE212: Programming Languages. Lecture 1 Inductive Definitions (1)

Timo Latvala. February 4, 2004

Inf2D 06: Logical Agents: Knowledge Bases and the Wumpus World

Lecture 4 - Random walk, ruin problems and random processes

Statistics for Financial Engineering Session 2: Basic Set Theory March 19 th, 2006

CS3110 Fall 2013 Lecture 11: The Computable Real Numbers, R (10/3)

Model checking (III)

Program Analysis Part I : Sequential Programs

Lecture 4: Effect Handlers

PSL Model Checking and Run-time Verification via Testers

via Topos Theory Olivia Caramello University of Cambridge The unification of Mathematics via Topos Theory Olivia Caramello

Homotopy Type Theory Lecture Notes

First-Order Theorem Proving and Vampire. Laura Kovács (Chalmers University of Technology) Andrei Voronkov (The University of Manchester)

A brief introduction to Logic. (slides from

Benchmarking Model Checkers with Distributed Algorithms. Étienne Coulouma-Dupont

STATISTICAL METHODS IN AI/ML Vibhav Gogate The University of Texas at Dallas. Bayesian networks: Representation

CHAPTER 2 INTRODUCTION TO CLASSICAL PROPOSITIONAL LOGIC

Boolean Algebra. Digital Logic Appendix A. Boolean Algebra Other operations. Boolean Algebra. Postulates, Identities in Boolean Algebra

Axiomatic Semantics. Operational semantics. Good for. Not good for automatic reasoning about programs

Reasoning Under Uncertainty: Introduction to Probability

Timed Automata VINO 2011

198:538 Complexity of Computation Lecture 16 Rutgers University, Spring March 2007

Compute the behavior of reality even if it is impossible to observe the processes (for example a black hole in astrophysics).

Extending Dolev-Yao with Assertions

Lecture 18: Zero-Knowledge Proofs

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

Chapter 2: Introduction to Propositional Logic

Dynamic Semantics. Dynamic Semantics. Operational Semantics Axiomatic Semantics Denotational Semantic. Operational Semantics

The Small Progress Measures algorithm for Parity games

Transcription:

Modeling and Analysis of Communicating Systems Lecture 5: Sequential Processes Jeroen Keiren and Mohammad Mousavi j.j.a.keiren@vu.nl and m.r.mousavi@hh.se Halmstad University March 2015

Outline Motivation Actions Multi-Actions Alternative and Sequential Composition Deadlock Conditional and Sum Operators 2 / 22

From Processes to Their Algebra Motivation in practice graphical representation is monstrously big Example 3 / 22

From Processes to Their Algebra Motivation in practice graphical representation is monstrously big manipulating and analyzing the graphical representation is virtually impossible Example 3 / 22

From Processes to Their Algebra Motivation in practice graphical representation is monstrously big manipulating and analyzing the graphical representation is virtually impossible Solution Use a compact textual presentation and algebraic rules for manipulating them 3 / 22

Outline Motivation Actions Multi-Actions Alternative and Sequential Composition Deadlock Conditional and Sum Operators 4 / 22

Actions Atomic building blocks of processes May represent: internal activities sending messages receiving messages the result of a synchronization May take parameters, typically denoted by a(d) (natural number, boolean, or any other Abstract Data Type) 5 / 22

Actions Examples act rcv coin: Euro; 6 / 22

Actions Examples act rcv coin: Euro; act snd number,rcv number: (instance: snd number(1)) Nat; 6 / 22

Actions Examples act rcv coin: Euro; act snd number,rcv number: Nat; (instance: snd number(1)) act ack number: Bool # Nat; 6 / 22

Actions Examples act rcv coin: Euro; act snd number,rcv number: Nat; (instance: snd number(1)) act ack number: Bool # Nat; Note actions are not functions (or procedures, in the programming languages sense) 6 / 22

Outline Motivation Actions Multi-Actions Alternative and Sequential Composition Deadlock Conditional and Sum Operators 7 / 22

Multi-Actions A number of actions happening at the same time Syntax: α ::= τ a a( d) α β, τ is the internal (invisible) action Auxiliary operators: Removal of multi-actions α \ β Inclusion between multi-action α β Stripping data off α 8 / 22

Multi-Actions Axioms (Part I: Basic axioms) MA1 α β = β α MA2 (α β) γ = α (β γ) MA3 α τ = α 9 / 22

Multi-Actions Axioms (Part II: Removal of multi-actions α \ β) MD1 τ \ α = τ MD2 α \ τ = α MD3 α \ (β γ) = (α \ β) \ γ MD4 (a(d) α) \ a(d) = α MD5 (a(d) α) \ b(e) = a(d) (α \ b(e)) if a b or d e 10 / 22

Multi-Actions Axioms (Part III: Inclusion between multi-action α β) MS1 τ α = true MS2 a τ = false MS3 a(d) α a(d) β = α β MS4 a(d) α b(e) β = a(d) (α \ b(e)) β if a b or d e 11 / 22

Multi-Actions Axioms (Part IV: Stripping data off α) MAN1 MAN2 MAN3 τ = τ a(d) = a α β = α β 12 / 22

Outline Motivation Actions Multi-Actions Alternative and Sequential Composition Deadlock Conditional and Sum Operators 13 / 22

Alternative composition Syntax: p + q Intuition: the process behaves as either p or q 14 / 22

Alternative composition Syntax: p + q Intuition: the process behaves as either p or q Axioms A1 A2 A3 x + y = y + x x + (y + z) = (x + y) + z x + x = x 14 / 22

Alternative composition Syntax: p + q Intuition: the process behaves as either p or q Axioms A1 A2 A3 x + y = y + x x + (y + z) = (x + y) + z x + x = x Write x y for x + y = y. 14 / 22

Sequential composition Syntax: p q Intuition: the process behaves as p and upon termination of p, as q. 15 / 22

Sequential composition Syntax: p q Intuition: the process behaves as p and upon termination of p, as q. Axioms A4 A5 (x + y) z = x z + y z (x y) z = x (y z) 15 / 22

Outline Motivation Actions Multi-Actions Alternative and Sequential Composition Deadlock Conditional and Sum Operators 16 / 22

(Delayable) Deadlock Syntax: δ Intuition: a process that cannot do anything but let time pass 17 / 22

(Delayable) Deadlock Syntax: δ Intuition: a process that cannot do anything but let time pass Axioms A6 A7 x + δ = x δ x = δ 17 / 22

Outline Motivation Actions Multi-Actions Alternative and Sequential Composition Deadlock Conditional and Sum Operators 18 / 22

Conditional operator Syntax: c p q, where c is of type Bool Intuition: behave as p if c is true, or otherwise, behave as q 19 / 22

Conditional operator Syntax: c p q, where c is of type Bool Intuition: behave as p if c is true, or otherwise, behave as q Axioms Cond1 Cond2 THEN true x y = x false x y = y c x = c x δ 19 / 22

Sum operator Syntax: d:d p(d) Intuition: generalization of alternative composition (may behave as p(d), for each value d of type D) 20 / 22

Sum operator Syntax: d:d p(d) Intuition: generalization of alternative composition (may behave as p(d), for each value d of type D) Axioms SUM1 SUM3 SUM4 SUM5 d:d x = x d:d X (d) = X(e) + d:d X (d) d:d (X (d) + Y (d)) = d:d X (d) + d:d Y (d) ( d:d X (d)) y = d:d X (d) y 20 / 22

Recursion Define set of equations with variables as left hand side: P = x where x a process, that can refer to variables such as P allows definition of infinite processes can store data in parameters 21 / 22

Summary & Exercises Sequential processes: (Multi-)actions Sequential composition Alternative composition Conditions Alternative quantification Recursion Exercises: 4.2.3, 4.3.1-4.3.2, 4.4.1, 4.5.1-4.5.2, 4.6.1, 4.7.1-4.7.2, 4.8.1 22 / 22