CCS: Syntax & Semantics (Final Version)

Similar documents
Semantics and Verification

Topics in Concurrency

Topics in Concurrency

A Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32

Formal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems

Complex Systems Design & Distributed Calculus and Coordination

Stat 451: Solutions to Assignment #1

An introduction to process calculi: Calculus of Communicating Systems (CCS)

Decidable Subsets of CCS

Modal and Temporal Logics

Alternating-Time Temporal Logic

Multicore Semantics and Programming

Universität Augsburg. Institut für Informatik. Bisimulation on Speed: Lower Time Bounds. Gerald Lüttgen and Walter Vogler.

1 Introduction. 2 Recap The Typed λ-calculus λ. 3 Simple Data Structures

Timed Automata VINO 2011

Business Process Management

Strictly monotonic preferences on continuum of goods commodity spaces

Undecidability and Rice s Theorem. Lecture 26, December 3 CS 374, Fall 2015

Trace Refinement of π-calculus Processes

Logical Structures in Natural Language: Propositional Logic II (Truth Tables and Reasoning

Formal Methods for Specifying and Verifying Distributed Algorithms Process Algebra vs I/O Automata

Models of Concurrency

Justness A Completeness Criterion for Capturing Liveness Properties

9/6. Grades. Exam. Card Game. Homework/quizzes: 15% (two lowest scores dropped) Midterms: 25% each Final Exam: 35%

Modeling and Analysis of Communicating Systems

Real-Time Reactive System - CCS with Time Delays

Making Random Choices Invisible to the Scheduler

Model Theory of Modal Logic Lecture 1: A brief introduction to modal logic. Valentin Goranko Technical University of Denmark

The Calculus of Communicating Systems

Formal Models of Timed Musical Processes Doctoral Defense

Probability: Axioms, Properties, Interpretations

Structure Preserving Bisimilarity,

Solutions to Homework I (1.1)

Static Program Analysis

Formal Conformance Testing 2006

2nd Exam. First Name: Second Name: Matriculation Number: Degree Programme (please mark): CS Bachelor CS Master CS Lehramt SSE Master Other:

Concurrent Processes and Reaction

Languages. Languages. An Example Grammar. Grammars. Suppose we have an alphabet V. Then we can write:

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

Reasoning about Strategies: From module checking to strategy logic

Lambda Calculus! Gunnar Gotshalks! LC-1

Problem #1 #2 #3 #4 Extra Total Points /3 /13 /7 /10 /4 /33

Clojure Concurrency Constructs, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014

On Compensation Primitives as Adaptable Processes

It is not the case that ϕ. p = It is not the case that it is snowing = It is not. r = It is not the case that Mary will go to the party =

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

A Universal Turing Machine

Decision Theory: Q-Learning

Trace and Testing Equivalence on Asynchronous Processes 1

Algorithm Design and Analysis

Iit Istituto di Informatica e Telematica

Communication and Concurrency: CCS

Communicating Parallel Processes. Stephen Brookes

The Expressivity of Universal Timed CCP: Undecidability of Monadic FLTL and Closure Operators for Security

Decidability Results for Probabilistic Hybrid Automata

cse541 LOGIC FOR COMPUTER SCIENCE

Reward Based Congruences: Can We Aggregate More?

Chapter 7. Inclusion-Exclusion a.k.a. The Sieve Formula

Ling 130 Notes: Syntax and Semantics of Propositional Logic

Automatic Partitions Extraction to Distribute the Runtime Verification of a Global Specification

Reasoning Under Uncertainty: Introduction to Probability

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

Propositional Calculus - Deductive Systems

PDF hosted at the Radboud Repository of the Radboud University Nijmegen

cis32-ai lecture # 18 mon-3-apr-2006

An On-the-fly Tableau Construction for a Real-Time Temporal Logic

Concurrency theory. proof-techniques for syncronous and asynchronous pi-calculus. Francesco Zappa Nardelli. INRIA Rocquencourt, MOSCOVA research team

Solutions to Old Final Exams (For Fall 2007)

Expressiveness of Timed Events and Timed Languages

Liveness of Communicating Transactions

Consequence Relations and Natural Deduction

Mohammad Farshi Department of Computer Science Yazd University. Computer Science Theory. (Master Course) Yazd Univ.

Towards A Multi-Agent Subset Space Logic

Blocking Synchronization: Streams Vijay Saraswat (Dec 10, 2012)

Automated Reasoning Lecture 17: Inductive Proof (in Isabelle)

Syntax Analysis Part I

Syntax Analysis Part I

On the Executability of Interactive Computation. June 23, 2016 Where innovation starts

Guest lecturer: Prof. Mark Reynolds, The University of Western Australia

Models for Concurrency

Models of Language Evolution

Partial model checking via abstract interpretation

Programming Language Concepts, CS2104 Lecture 3

Introduce complex-valued transcendental functions via the complex exponential defined as:

STAT:5100 (22S:193) Statistical Inference I

16.1 Countability. CS125 Lecture 16 Fall 2014

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

Exam: Synchronous Grammars

Magnetic Moments and Spin

Applied Logic. Lecture 1 - Propositional logic. Marcin Szczuka. Institute of Informatics, The University of Warsaw

Lecture 6 September 21, 2016

Parameterized Regular Expressions and Their Languages

Propositional and Predicate Logic - IV

COMP4141 Theory of Computation

Mapping coloured stochastic Petri nets to stochastic process algebras

Computation Tree Logic

Undecidability. Andreas Klappenecker. [based on slides by Prof. Welch]

Lecture 7. Logic. Section1: Statement Logic.

Formalising the π-calculus in Isabelle

Truth-Functional Logic

Transcription:

CCS: & Semantics (Final Version) Prof. Susan Older 14 September 2017 (CIS 400/632) CCS & Semantics 14 September 2017 1 / 10

Relevant Syntactic Sets: A Recap from Last Time We have the following countably infinite sets: The set A of names (of actions/observable events) Examples: read, pass, jam (CIS 400/632) CCS & Semantics 14 September 2017 2 / 10

Relevant Syntactic Sets: A Recap from Last Time We have the following countably infinite sets: The set A of names (of actions/observable events) Examples: read, pass, jam The set A = {a a A} of co-names Examples: read, pass, jam (CIS 400/632) CCS & Semantics 14 September 2017 2 / 10

Relevant Syntactic Sets: A Recap from Last Time We have the following countably infinite sets: The set A of names (of actions/observable events) Examples: read, pass, jam The set A = {a a A} of co-names Examples: read, pass, jam The set L = A A of labels (CIS 400/632) CCS & Semantics 14 September 2017 2 / 10

Relevant Syntactic Sets: A Recap from Last Time We have the following countably infinite sets: The set A of names (of actions/observable events) Examples: read, pass, jam The set A = {a a A} of co-names Examples: read, pass, jam The set L = A A of labels The set Act = L {τ} = A A {τ} of actions (CIS 400/632) CCS & Semantics 14 September 2017 2 / 10

Relevant Syntactic Sets: A Recap from Last Time We have the following countably infinite sets: The set A of names (of actions/observable events) Examples: read, pass, jam The set A = {a a A} of co-names Examples: read, pass, jam The set L = A A of labels The set Act = L {τ} = A A {τ} of actions The set K of agent constants (i.e, names of processes) (CIS 400/632) CCS & Semantics 14 September 2017 2 / 10

CCS: Nil (A very boring process) 0 (CIS 400/632) CCS & Semantics 14 September 2017 3 / 10

CCS: Nil (A very boring process) Transition Rule 0 (this space intentially left blank) Comments 0 is the process that does nothing (i.e., never makes any transitions). (CIS 400/632) CCS & Semantics 14 September 2017 3 / 10

CCS: Prefixing α.p where α Act, P Proc (CIS 400/632) CCS & Semantics 14 September 2017 4 / 10

CCS: Prefixing Transition Rule α.p where α Act, P Proc Act α.p α P (CIS 400/632) CCS & Semantics 14 September 2017 4 / 10

CCS: Prefixing Transition Rule α.p where α Act, P Proc Act α.p α P Examples include: print.0 accept.print.0 τ.fail.0 (CIS 400/632) CCS & Semantics 14 September 2017 4 / 10

CCS: Choice (a.k.a. Summation) P + Q where P, Q Proc (CIS 400/632) CCS & Semantics 14 September 2017 5 / 10

CCS: Choice (a.k.a. Summation) P + Q where P, Q Proc Transition Rules Sum P α P 1 P + Q α P Sum Q α Q 2 P + Q α Q (CIS 400/632) CCS & Semantics 14 September 2017 5 / 10

CCS: Choice (a.k.a. Summation) P + Q where P, Q Proc Transition Rules Sum P α P 1 P + Q α P Sum Q α Q 2 P + Q α Q Examples include: print.0 + jam.0 0 + sleep.0 (CIS 400/632) CCS & Semantics 14 September 2017 5 / 10

CCS: Constants K (For naming and recursion) where K K (CIS 400/632) CCS & Semantics 14 September 2017 6 / 10

CCS: Constants K (For naming and recursion) where K K Transition Rule α Const P P K α P K def = P K def = P is a side condition in the rule: If the constant K is defined to behave as process P, then the transition rule is applicable. (CIS 400/632) CCS & Semantics 14 September 2017 6 / 10

CCS: Constants K (For naming and recursion) where K K Transition Rule α Const P P K α P K def = P K def = P is a side condition in the rule: If the constant K is defined to behave as process P, then the transition rule is applicable. Example of defining equations: Birthday def = age.celebrate Celebrate def = gift.thank.celebrate + cake.celebrate + sleep.0 (CIS 400/632) CCS & Semantics 14 September 2017 6 / 10

CCS: Restriction P\L where P Proc, L L (CIS 400/632) CCS & Semantics 14 September 2017 7 / 10

CCS: Restriction P\L where P Proc, L L Transition Rule Res P α P P\L α P \L α L L (CIS 400/632) CCS & Semantics 14 September 2017 7 / 10

CCS: Restriction P\L where P Proc, L L Transition Rule Res P α P P\L α P \L α L L Comments: L is the set of labels whose complements are in L: L = { l l L} P\L behaves like P, except that actions in L L are not permitted (CIS 400/632) CCS & Semantics 14 September 2017 7 / 10

CCS: Parallel Composition P Q where P, Q Proc (CIS 400/632) CCS & Semantics 14 September 2017 8 / 10

CCS: Parallel Composition P Q where P, Q Proc Transition Rules Com P α P 1 P Q α P Q Com Q α Q 2 P Q α P Q Com P l P Q l Q 3 P Q τ P Q (CIS 400/632) CCS & Semantics 14 September 2017 8 / 10

CCS: Parallel Composition P Q where P, Q Proc Transition Rules Com P α P 1 P Q α P Q Com Q α Q 2 P Q α P Q Com P l P Q l Q 3 P Q τ P Q Comments: Communication between processes is pairwise and synchronous: Transition P α P means P has potential to perform α When synchronization happens, that potential is consumed. (CIS 400/632) CCS & Semantics 14 September 2017 8 / 10

CCS: Relabeling P[f ] where P Proc, f a relabeling function (CIS 400/632) CCS & Semantics 14 September 2017 9 / 10

CCS: Relabeling P[f ] where P Proc, f a relabeling function Transition Rule Res P α P P[f ] f (α) P [f ] (CIS 400/632) CCS & Semantics 14 September 2017 9 / 10

CCS: Relabeling P[f ] where P Proc, f a relabeling function Transition Rule Res P α P P[f ] f (α) P [f ] Comments: 1 A relabeling function is a function f : Act Act such that: f (τ) = τ For all labels l, f (l) = f (l). Example: If f (a) = b, then f (a) = b. 2 Relabeling function f often written as [l 1 /l 1, l 2 /l 2,..., l n/l n ]: f (l i ) = l i, for each i f (l) = l, for each l n i=1 {l i, l i }. (CIS 400/632) CCS & Semantics 14 September 2017 9 / 10

Summary of & Transition Rules (By Sept 7) Abstract syntax for agent expressions (P, Q Proc): P ::= 0 α.p P + Q K P\L P Q P[f ] These are syntax-directed rules: Act α.p α P α Sum P α P 1 P + Q α P Sum Q α Q 2 P + Q α Q Const P P K α P K def = P Res P α P P\L α P \L α L L Com P α P 1 P Q α P Q Com Q α Q 2 P Q α P Q Com P l P Q l Q 3 P Q τ P Q Rel P α P P[f ] f (α) P [f ] (CIS 400/632) CCS & Semantics 14 September 2017 10 / 10