C. Varela1 Chapter 6: Ambient Calculus Programming Distributed Computing Systems: A Foundational Approach Carlos Varela Rensselaer Polytechnic Institute.

Slides:



Advertisements
Similar presentations
Priority Inversion BAE5030 Advanced Embedded Systems 9/13/04.
Advertisements

Operating Systems Mehdi Naghavi Winter 1385.
Deadlock Prevention, Avoidance, and Detection
Deadlock Prevention, Avoidance, and Detection.  The Deadlock problem The Deadlock problem  Conditions for deadlocks Conditions for deadlocks  Graph-theoretic.
Program correctness The State-transition model A global state S  s 0 x s 1 x … x s m {s k = local state of process k} S0  S1  S2  … Each state transition.
Chapter 6: Process Synchronization
Dining-Philosophers Problem Shared data fork[5]: semaphore; initialized to 1.
Chapter 6 Concurrency: Deadlock and Starvation
Chapter 6 Concurrency: Deadlock and Starvation
Shanghai Jiao Tong University Xudong GUAN Mobility and Threads in Ambients.
Foundations of Interaction ETAPS `05 0 Ex nihilo: a reflective higher- order process calculus The  -calculus L.G. Meredith 1 & Matthias Radestock.
Exercise Exercise3.1 8 Exercise3.1 9 Exercise
Concurrency: Deadlock and Starvation Chapter 6. Revision Describe three necessary conditions for deadlock Which condition is the result of the three necessary.
Rensselaer Polytechnic Institute © Shivkumar Kalvanaraman & © Biplab Sikdar1 ECSE-4730: Computer Communication Networks (CCN) Network Layer Performance.
Exercise Exercise Exercise Exercise
Exercise Exercise Exercise Exercise
Exercise Exercise6.1 7 Exercise6.1 8 Exercise6.1 9.
Chapter 6 – Concurrent Programming Outline 6.1 Introduction 6.2Monitors 6.2.1Condition Variables 6.2.2Simple Resource Allocation with Monitors 6.2.3Monitor.
Formal Modeling of Concurrent Processes: PI and API Calculi Shahram Rahimi.
Mobile Access Control Adriana Compagnoni Stevens Institute of Technology Joint work with Elsa L Gunter (UI-UC) Rutgers, February 3, 2006.
Chapter 5 Probability Distributions
Rensselaer Polytechnic Institute Simulation and Analysis of a Pratt & Whitney Turbine Module Manufacturing Cell Christopher L. Gunther Rensselaer Polytechnic.
Mobile Ambients Luca Cardelli Digital Equipment Corporation, Systems Research Center Andrew D. Gordon University of Cambridge, Computer Laboratory Presented.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-4670: Computer Communication Networks (CCN) Informal Quiz 2 Shivkumar Kalyanaraman:
1 times table 2 times table 3 times table 4 times table 5 times table
By Asma Khalil.  As now a days world is known as the global village. We can share our ideas through out the world and in this mean computer helps us.
1 Concurrency: Deadlock and Starvation Chapter 6.
Chapter 8. Problem 8-6 Problem 8-15 µ=60 σ=
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Principles of Parallel Programming First Edition by Calvin Lin Lawrence Snyder.
C. Varela1 Chapter 5: Join Calculus Programming Distributed Computing Systems: A Foundational Approach Carlos Varela Rensselaer Polytechnic Institute.
Operating Systems (OS)
Practice Exercises Chapter one and three.
Program correctness The State-transition model The set of global states = so x s1 x … x sm {sk is the set of local states of process k} S0 ---> S1 --->
Introduction to Computer Operating Systems
Program correctness The State-transition model A global states S  s 0 x s 1 x … x s m {s k = set of local states of process k} S0  S1  S2  Each state.
CENG334 Introduction to Operating Systems Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY URL:
Deadlock cs550 Operating Systems David Monismith.
Verifying Properties of Parallel Programs: An Axiomatic Approach Susan Owicki and David Gries Communications of the ACM, 1976 Presented by Almog Benin.
12.6 – Probability Distributions. Properties of Probability Distributions.
$100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300 $400 $500 $100 $200 $300.
File Input and Output Chapter 14 Java Certification by:Brian Spinnato.
Chapter 6 Concurrency: Deadlock and Starvation Operating Systems: Internals and Design Principles, 6/E William Stallings.
Essential Cell Biology
Tables Learning Support
CIS 720 Asynchronous Message Passing. Dining philosophers problem P 0 : do hungry acquire left and right fork eat release forks sleep od.
6 October PPDP / GPCE 2002 Mobile Calculi Catuscia Palamidessi, INRIA Futurs, France joint work with Mihaela Herescu, IBM, Austin for Distributed.
Slide 10-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 10.
Billy Coss Distributed Computing Dr. Lee.
Types and Programming Languages Lecture 16 Simon Gay Department of Computing Science University of Glasgow 2006/07.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
Mobile Ambients Luca Cardelli Andrew D. Gordon Pravin Shetty
Applied Operating System Concepts -
Virtual Memory Networks and Communication Department.
Times Tables.
Wavenets John Chapin MIT.
Applying ... Co631 (Concurrency) Peter Welch
ITEC452 Distributed Computing Lecture 5 Program Correctness
Distributed systems II A polynomial local solution to Mutual Exclusion
Name: Player number Session 1 Session 2 Session 3 Session 4 Table Seat
CIS 720 Message Passing.
What are the Boundaries of a Networked Culture
CIS 720 Message Passing.
Copyright © Cengage Learning. All rights reserved.
Copyright © Cengage Learning. All rights reserved.
CIS 720 Message Passing.
Lab4 PROGRAMMING 1 exercise chapter3.
3 times tables.
6 times tables.
Chapter 8: Deadlocks Deadlock Characterization
Day 5: Review Jamestown/Maryland
Presentation transcript:

C. Varela1 Chapter 6: Ambient Calculus Programming Distributed Computing Systems: A Foundational Approach Carlos Varela Rensselaer Polytechnic Institute

Mobile Ambients Locations represented by a topology of boundaries –Not identified with globally vague names Process mobility represented as crossing of boundaries –Not as communication of processes or process names over channels Security represented as ability/inability to cross boundaries Interaction between processes is by shared location within a common boundary C. Varela2

Mobile Ambients n names P,Q ::= processes (n)P 0 P | Q !P n[P] M.P M::= capabilities in n out n open n C. Varela3

Entry Capability n[ in m.P | Q] | m[ R ] m[ n[ P | Q ] | R ] nm m | C. Varela4 in m.P | QRn P| Q | R

Exit Capability m[ n [ out m.P | Q ] | R ] n [ P | Q ] | m[ R ] m n m C. Varela5 n | R out m.P | Q P | Q | R

Open Capability open m.P | m[ Q ] P | Q open m.P | P | Q C. Varela6 Q m

Subjective/Objective Moves Subjective moves: n[ in m.P | Q ] | m[ R ] m[ n[ P | Q] | R m[ n[ out m.P | Q ] | R ] m[ R ] | n[ P | Q ] open m.P | m[ Q ] P | Q Objective moves: mv in m.P | m[ R ] m[ P | R ] m[ mv out m.P | R ] P | m[ R ] Ambient I/O: (x).Pinput output C. Varela7 (x).P | P{M/x} [or P{x m}

Encoding Objective Moves With Subjective Moves allow n = !open n mv in n.P = (k) k[ in n.enter[ out k.open k.P ] ] mv out n.P = (k) k[ out n.exit[ out k.open k.P ] ] n [ P ] = n[ P | allow enter ] n [ P ] = n[ P ] | allow exit n [ P ] = n[ P | allow enter ] | allow exit C. Varela8

Exercises Prove: 1.mv in n.P | n [ Q ] * n [ P | Q ] 2.n [ mv out n.P | Q ] * n [ Q ] | P C. Varela9

Reference Cell cell c w = c [ ] get c (x).P = mv in c.(x).( | mv out c.P) set c.P = mv in c.(x).( | mv out c.P) C. Varela10

Mutual Exclusion acquire n.P = open n.P release n.P = n[] | P acquire l.P | release l.Q = open l.P | l[] | Q P | 0 | Q ≡ P | Q C. Varela11

Dining Philosophers phil l r = !(acquire l.acquire r.(release l | release r)) fork f = release f 2-table = phil f1 f2 | phil f2 f1 | fork f1 | fork f2 2-table-nd = phil f1 f2 | phil f1 f2 | fork f1 | fork f2 3-table = phil f1 f2 | phil f2 f3 | phil f3 f1 | fork f1 | fork f2 | fork f3 C. Varela12