Semantics of LOTOS Answering the question: Which processes are equivalent? Basic LOTOS: ignore ! and ?...pure synchronization Dining philosophers example:

Slides:



Advertisements
Similar presentations
Synthesis of Protocol Converter Using Timed Petri-Nets Anh Dang Balaji Krishnamoorthy Manoj Iyer Presented by:
Advertisements

Web Services Choreography Description Language Overview 24th November2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation Ltd Chair W3C Web Services.
Visual Formalisms Message Sequence Charts Book: Chapter 10.
Process Algebra Book: Chapter 8. The Main Issue Q: When are two models equivalent? A: When they satisfy different properties. Q: Does this mean that the.
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Deadlock Prevention, Avoidance, and Detection
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Architecture Representation
Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.
5. December 2003 (Folie 1) Protocol Consistency Checking of UML Statecharts Barış Güldalı ADvenTmatik 2003 Definitionen Automated Consistency.
Network Protocols Dr. Eng Amr T. Abdel-Hamid NETW 703 Winter 2006 Finite State Machines (FSMs)
Programming Paradigms for Concurrency Lecture 11 Part III – Message Passing Concurrency TexPoint fonts used in EMF. Read the TexPoint manual before you.
1 Statecharts for the many: Algebraic State Transition Diagrams Marc Frappier GRIL – Groupe de recherche en ingénierie du logiciel.
1 Concurrency Specification. 2 Outline 4 Issues in concurrent systems 4 Programming language support for concurrency 4 Concurrency analysis - A specification.
The design and implementation of a workflow analysis tool Vasa Curcin Department of Computing Imperial College London.
An Associative Broadcast Based Coordination Model for Distributed Processes James C. Browne Kevin Kane Hongxia Tian Department of Computer Sciences The.
1 Ivan Lanese Computer Science Department University of Bologna Italy Towards a Unifying Theory for Web Services Composition Manuel Mazzara Faculty of.
Course Summary. © Katz, 2003 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
1 Synchronization strategies for global computing models Ivan Lanese Computer Science Department University of Bologna.
Communication Notation Part V Chapter 15, 16, 18 and 19.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
Katz Formal Specifications Larch 1 Algebraic Specification and Larch Formal Specifications of Complex Systems Shmuel Katz The Technion.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
1 IFM 2005 – November 30, 2005 EXP.OPEN 2.0 A flexible tool integrating partial order, compositional, and on-the-fly verification methods Frédéric Lang.
Course Summary. © Katz, 2007 Formal Specifications of Complex Systems-- Real-time 2 Topics (1) Families of specification methods, evaluation criteria.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Real-Time Systems Group University of Pennsylvania 5/24/2001 Resource-bound family of real-time process algebras Oleg Sokolsky, Insup Lee Real-Time Systems.
Model Checking LTL over (discrete time) Controllable Linear System is Decidable P. Tabuada and G. J. Pappas Michael, Roozbeh Ph.D. Course November 2005.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Are We Equal?? Determine whether each of the following pairs of expressions are equivalent. Some of them may not be equivalent. Be sure to justify your.
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Comparison of methods for supervisory control and submodule construction 1 Gregor v. Bochmann, University of Ottawa Comparison of methods for supervisory.
MAT 3730 Complex Variables Section 1.1 The Algebra of Complex Numbers
SDS Foil no 1 Process Algebra Process Algebra – calculating with behaviours.
Consensus and Its Impossibility in Asynchronous Systems.
Reactive systems – general
A Methodology for Architecture Exploration of heterogeneous Signal Processing Systems Paul Lieverse, Pieter van der Wolf, Ed Deprettere, Kees Vissers.
Distributed Database Systems Overview
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Prof. Diletta Romana Cacciagrano. (red-cong) :
CS 367: Model-Based Reasoning Lecture 5 (01/29/2002) Gautam Biswas.
C. André, J. Boucaron, A. Coadou, J. DeAntoni,
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Internet Security CSCE 813 Communicating Sequential Processes.
1 Test Selection for Result Inspection via Mining Predicate Rules Wujie Zheng
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Formal Methods for Software Engineering Part II: Modelling & Analysis of System Behaviour.
1 3. System reliability Objectives Learn the definitions of a component and a system from a reliability perspective Be able to calculate reliability of.
Unit 7 An Introduction to Exponential Functions 5 weeks or 25 days
MPRI – Course on Concurrency Lectures 11 and 12 The pi-calculus expressiveness hierarchy Catuscia Palamidessi INRIA Futurs and LIX
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
CSCI1600: Embedded and Real Time Software Lecture 11: Modeling IV: Concurrency Steven Reiss, Fall 2015.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
Grigore Rosu Founder, President and CEO Professor of Computer Science, University of Illinois
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Process Algebra (2IF45) Abstraction Parallel composition (short intro) Suzana Andova.
07/10/04 AIPP Lecture 5: List Processing1 List Processing Artificial Intelligence Programming in Prolog Lecturer: Tim Smith Lecture 5 07/10/04.
Solving problems by searching A I C h a p t e r 3.
From NARS to a Thinking Machine Pei Wang Temple University.
Copyright 1999 G.v. Bochmann ELG 7186C ch.1 1 Course Notes ELG 7186C Formal Methods for the Development of Real-Time System Applications Gregor v. Bochmann.
Formal Methods for Software Engineering
Prof. Dr. Holger Schlingloff 1,2 Dr. Esteban Pavese 1
SysML v2 Formalism: Requirements & Benefits
Concurrency Specification
Elements and Compounds
Substitution method y= 3x+1 5x + 2 y =13 Solve:
Presentation transcript:

Semantics of LOTOS Answering the question: Which processes are equivalent? Basic LOTOS: ignore ! and ?...pure synchronization Dining philosophers example: –think: t –hungry: h –eat: e –give-up: g

Three versions of a Philosopher (1) PH = (t;h;g;PH) [] (t;h;e;PH) (2) PH = t; ((h;g;PH) [] (h;e;PH)) (3) PH = t;h;((g;PH) [] (e;PH)) Are these `the same’?

Trace Semantics A process defines a collection of traces YES, all three are equal (because they define the same set of traces) Insufficient when we use as building blocks and consider deadlocks with other processes

Testing/Refusal/Failure Semantics Many versions, one basic idea: a process defines `observable behaviors’, where possible failure or deadlock is observable. Is there a `test’ (a process executing in parallel) that distinguishes between 2 processes? If not, they are equivalent. (1) and (2) CAN fail in parallel with T = t;h;e;T but (3) succeeds

Bisimulation Semantics `Structural equivalence’: there is a matching from nodes of one to nodes of the other such that from any matching pair of nodes can continue with the same sequences and reach points that match. Some versions ignore internal `i’ actions (1), (2), and (3) are all different: no matching works!

Practical Implications Tools that check whether one specification is `equivalent’ to another using one of the possible semantic definitions. Various definitions are possible, for different contexts. Abstractions that build simpler versions that can be checked for temporal properties. Used for communication protocols/ mobile phones

Summary on LOTOS A Process Algebra (others: CSP and CCS) A “building block” approach, with parametric components Often uses equivalence to a simpler version as a specification for a complex system Allows considering various communication and synchronization architectures Needs to be combined with a notation for operations on data, and for fairness/liveness