Formal Modeling of Concurrent Processes: PI and API Calculi Shahram Rahimi.

Slides:



Advertisements
Similar presentations
COMMUNICATING SEQUENTIAL PROCESSES C. A. R. Hoare The Queen’s University Belfast, North Ireland.
Advertisements

Cs7120 (Prasad)L22-MetaPgm1 Meta-Programming
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
Elements of Lambda Calculus Functional Programming Academic Year Alessandro Cimatti
Programming Paradigms for Concurrency Lecture 11 Part III – Message Passing Concurrency TexPoint fonts used in EMF. Read the TexPoint manual before you.
CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous.
Dependable Composition of Web Services and Process Calculi Manuel Mazzara Newcastle University.
Winter 2007SEG2101 Chapter 41 Chapter 4 SDL – Structure and Behavior.
CSE115: Introduction to Computer Science I Dr. Carl Alphonce 219 Bell Hall
Introduction to Computability Theory
Chapter 41 Defining Classes and Methods Chapter 4.
Catriel Beeri Pls/Winter 2004/5 type reconstruction 1 Type Reconstruction & Parametric Polymorphism  Introduction  Unification and type reconstruction.
1 Trust Management and Theory Revision Ji Ma School of Computer and Information Science University of South Australia 24th September 2004, presented at.
Machine Learning: Symbol-Based
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Algebraic Laws Commutative and Associative Laws Commutativity for Sets and Bags (Ch5): R x S = S x R (Proof) R  S = S  R (ch5 e) R U S = S U.
Mobile Ambients Luca Cardelli Digital Equipment Corporation, Systems Research Center Andrew D. Gordon University of Cambridge, Computer Laboratory Presented.
Function: Definition A function is a correspondence from a first set, called the domain, to a second set, called the range, such that each element in the.
ONTOLOGY SUPPORT For the Semantic Web. THE BIG PICTURE  Diagram, page 9  html5  xml can be used as a syntactic model for RDF and DAML/OIL  RDF, RDF.
CS 8532: Adv. Software Eng. – Spring 2007 Dr. Hisham Haddad Tuesday Class will start momentarily. Please Stand By … CS 8532: Advanced Software.
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
CS 462: Introduction to Artificial Intelligence This course advocates the physical-symbol system hypothesis formulated by Newell and Simon in It.
INTRODUCTION TO PROGRAMMING STRUCTURE Chapter 4 1.
1 Relational Algebra and Calculus Chapter 4. 2 Relational Query Languages  Query languages: Allow manipulation and retrieval of data from a database.
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
CoPTUA: Consistent Policy Table Update Algorithm for TCAM without Locking Zhijun Wang, Hao Che, Mohan Kumar, Senior Member, IEEE, and Sajal K. Das.
The Relational Model Part III. Remember: 3 Aspects of the Model It concerns 1) data objects storing it 2) data integrity making sure it corresponds to.
A presentation by Robin Upton ( ) ‏ latest version at Attribution – NonCommercial - ShareAlike FF 404.
A presentation by Robin Upton ( ) ‏ latest version at Attribution – NonCommercial - ShareAlike FF 4 :
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
Declarative vs Procedural Programming  Procedural programming requires that – the programmer tell the computer what to do. That is, how to get the output.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Supported by ELTE IKKK, Ericsson Hungary, in cooperation with University of Kent Erlang refactoring with relational database Anikó Víg and Tamás Nagy Supervisors:
1 Relational Algebra. 2 Relational Query Languages v Query languages: Allow manipulation and retrieval of data from a database. v Relational model supports.
CS5204 – Operating Systems 1  -Calculus Reasoning about concurrency and communication (Part 1).
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
CSE Winter 2008 Introduction to Program Verification January 31 proofs through simplification.
A Logic of Partially Satisfied Constraints Nic Wilson Cork Constraint Computation Centre Computer Science, UCC.
12/2/20151 GC16/3011 Functional Programming Lecture 2 The Lambda Calculus: A Simple Introduction.
CS 5204 Spring 99 1 A Simple Agent A CCS agent is described both by a structural diagram and one or more algebraic equations. The diagram is for readability.
College Algebra Sixth Edition James Stewart Lothar Redlin Saleem Watson.
UW CSE 503 ▪ Software Engineering ▪ Spring 2004 ▪ Rob DeLine1 CSE 503 – Software Engineering Lecture 3: An introduction to Alloy Rob DeLine 5 Apr 2004.
CS190/295 Programming in Python for Life Sciences: Lecture 6 Instructor: Xiaohui Xie University of California, Irvine.
COMP 412, FALL Type Systems II C OMP 412 Rice University Houston, Texas Fall 2000 Copyright 2000, Robert Cartwright, all rights reserved. Students.
1 Theoretical Foundations of Concurrency A formal study of concurrency enables: understanding the essential nature of concurrency reasoning about the behavior.
Types and Programming Languages Lecture 16 Simon Gay Department of Computing Science University of Glasgow 2006/07.
PPL Syntax & Formal Semantics Lecture Notes: Chapter 2.
ECE 103 Engineering Programming Chapter 30 C Functions Herbert G. Mayer, PSU CS Status 8/9/2014 Initial content copied verbatim from ECE 103 material developed.
1 Section 1 - Introduction to SQL u SQL is an abbreviation for Structured Query Language. u It is generally pronounced “Sequel” u SQL is a unified language.
COMP 412, FALL Type Systems C OMP 412 Rice University Houston, Texas Fall 2000 Copyright 2000, Robert Cartwright, all rights reserved. Students.
Artificial Intelligence Logical Agents Chapter 7.
Relational Algebra & Calculus
Introduction to Logic for Artificial Intelligence Lecture 2
Mobile Ambients Luca Cardelli Andrew D. Gordon Pravin Shetty
Chapter 11 Object-Oriented Design
CS 611: Lecture 9 More Lambda Calculus: Recursion, Scope, and Substitution September 17, 1999 Cornell University Computer Science Department Andrew Myers.
Corky Cartwright January 18, 2017
4. Javascript Pemrograman Web I Program Studi Teknik Informatika
Structural testing, Path Testing
CS190/295 Programming in Python for Life Sciences: Lecture 6
CHAPTER 2 Context-Free Languages
Using Functions
CS 8532: Advanced Software Engineering
Relational Algebra & Calculus
Introduction to Classes and Objects
Presentation transcript:

Formal Modeling of Concurrent Processes: PI and API Calculi Shahram Rahimi

Introduction A formal model based on a process calculus could address several questions regarding: –preliminary evaluation –validation and verification, –performance, –security, Development of a formal model, capable of representation of a variety of agents/processes involved in the system, can address these concerns.

Introduction None of the current calculi covers all the natural characteristics of intelligent-agent based systems including: –Intelligence representation, –Organizational grouping, and –security aspects  Api-Calculus, and extended pi-calculus

The API-Calculus An extension to PI-Calculus is a formal modeling calculus for multi-process and multi-agent systems addresses the migration, intelligence, organizational grouping, and potentially security aspect of processes and agents. introduces three core concepts: –Process (or agent) –Term –Milieu –Knowledge Unit

Definition I: Term: (term) (name) (fact or rule) (functions) Term

A term can be a name, fact/rule or a function: A name can be a channel or a variable name. A term may be a function. –A function may have l parameters. –f ranges over the functions of and one matches the arity of f Term (cont.)

Process (cont.) The following expression define a process: (no action) (action prefix) (summation process) (conditional process) (name restriction) (knowledge name restriction) (replication) (constant)

Knowledge Unit “Intelligence” considered to be a single or a group of knowledge units (KUs). A KU consists of a knowledge base and a set of facts. Agents/processes may add/drop facts to/from the fact list and modify the knowledge base by adding new rules or eliminating existing ones. Agents/processes are capable of carrying one or more knowledge units and sending and receiving them to/from other agents.

Knowledge Unit (cont.) A knowledge unit reacts to any new fact(s) K 1, K 2,… represents knowledge units. K i denotes the set of knowledge units of process i (P i ). Here is the grammar of knowledge units: K≡0(empty knowledge unit) |r(a single rule) |K 1 +K 2 (knowledge units summation)

Knowledge Unit (cont.) 0  empty knowledge unit. –if all the rules and facts are deleted from it. A knowledge unit may consist of a single rule. K 1 +K 2  knowledge unit summation –both of the knowledge units react to a fact at the same time.

Actions We replace names with ‘terms’ and processes in Api actions.  is an internal process. is an input prefix. –x stands for a name of an input port (channel) – stands for any tuple of processes or terms. – inputs arbitrary terms or processes at the port x and then behaves like. –All free occurrences of the names in P are bound by this action.

Actions (cont.) is an output prefix. –name x is as an output port – outputs the tuple of terms or processes at the port x and then behaves like P.

Actions (cont.) is a knowledge unit call. - calls the knowledge unit, K i, passes a list of facts and places the results in. - All free occurrences of in P are bound.

Actions (cont.) is a prefix that adds tuple to the facts list of K i, if it is a tuple of facts, or to the rule list if it is a tuple of rules. is a prefix which drops a from the facts list (if a is a fact) or from the rule base (if a is a rule).

Actions (cont) join m.P makes process P to join milieu m and then acts like P inside of the milieu m. leave m.P makes process P to leave milieu m and then acts like P outside of milieu m.

Milieu The existence of separate locations is represented by a topology of boundaries. A Milieu is an environment (a bounded place) in which processes live and computations take place.

Milieu (cont.) A milieu is surrounded by a border, which needs to be passed to join or leave it. A whole milieu can move together with its whole content (all the processes/milieus inside the milieu) into another milieu. The concept of milieu can be used to address the problem of organizational grouping and security.

Milieu (cont.)

M[O] exhibits a tree structure induced by processes and the nesting of milieu brackets, i.e: M[P 1 |…|P p |M 1 […]|…|Mq[…]]. process mobility is represented as crossing of milieus’ boundaries. interaction between processes is by shared location within a common boundary or outside of any boundary.

SC 1, Match SC 2, Summation Associativity SC 3, Summation Commutativity SC 4, Summation Identity SC 5, Composition Associativity SC 6, Same Process SC 7, Composition Commutativity SC 8, Composition Identity SC 9, Restriction SC 10, Restriction Identity SC 11, Restriction Composition SC 12, Replication

ReflexivityO = O SymmetryO 1 = O 2 implies O 2 = O 1 TransitivityO 1 = O 2 and O 2 = O 3 implies O 1 = O 3 GeneralityP = Q implies C[P] = C [Q] The rules of equational reasoning

Reduction Rules TAU: REACT: PAR:RES:RES-K: MIL: STRUCT:

Example 1: simple knowledge unit passing A knowledge unit with a private (local) name: A knowledge unit with a non-private name:

Abbreviations 1) Sometimes a communication needs to carry no parameter. To model this we presuppose a special name, , which is never bound; then we write:

Abbreviations (cont.) 2) We shall often omit ‘.0’ in an process, and write: 3) We often wish to allow input names to determine the course of computation. to:

Abbreviations (cont.) 4) Some composite prefixes:

Abbreviations (cont.) 5 ) If a process leave a milieu just to communicate with a second process: if the process needs to leave n milieus to communicate then:

Example 2: knowledge unit call P receives a fact, a, from agent Q and then calls knowledge unit K 1 by adding the fact to K 1 facts list and then behaving like P’ which in fact is the same as P{a/b}. ;

Example 3: Joining and Leaving Milieus

Example 4: Interaction Between Processes

Discussion I Api-calculus is capable of addressing several issues in intelligent agent modeling including: –Intelligence representation, –natural grouping (a new level of abstraction),and –potentially security

What are we missing? –Security details –Milieu ports –Compiler/Analyzer –There are more!!! Discussion II