1 / 32

Formal Modeling of Concurrent Processes: PI and API Calculi

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,

kishas
Download Presentation

Formal Modeling of Concurrent Processes: PI and API Calculi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Formal Modelingof Concurrent Processes:PI and API Calculi Shahram Rahimi

  2. 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.

  3. 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

  4. 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

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

  6. Term (cont.) 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

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

  8. 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.

  9. Knowledge Unit (cont.) • A knowledge unit reacts to any new fact(s) • K1, K2,… represents knowledge units. • Kidenotes the set of knowledge units of process i (Pi). • Here is the grammar of knowledge units: K ≡ 0 (empty knowledge unit) | r (a single rule) | K1+K2 (knowledge units summation)

  10. 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. • K1+K2  knowledge unit summation • both of the knowledge units react to a fact at the same time.

  11. 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.

  12. 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.

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

  14. Actions (cont.) • is a prefix that adds tuple to the facts list of Ki, if itis 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).

  15. 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.

  16. 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.

  17. 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.

  18. Milieu (cont.)

  19. Milieu (cont.) • M[O] exhibits a tree structure induced by processes and the nesting of milieu brackets, i.e: M[P1|…|Pp|M1[…]|…|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.

  20. 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

  21. Reflexivity O = O Symmetry O1 = O2implies O2 = O1 Transitivity O1 = O2and O2 = O3implies O1 = O3 Generality P = Q implies C[P] = C [Q] The rules of equational reasoning

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

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

  24. 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:

  25. 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:

  26. Abbreviations (cont.) 4)Some composite prefixes:

  27. 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:

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

  29. Example 3:Joining and Leaving Milieus

  30. Example 4:Interaction Between Processes

  31. 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

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

More Related