… Many agents active at once and can influence each other’s activity on the fly. We could treat these agents as lambda calc’s “functional computers” receiving arguments and producing results.
Based on the notion of naming.
A way of describing and analyzing systems consisting of agents which interact among each other, and whose configurations or neighborhood is continually changing
Naming strongly presupposes independence. It is natural to assume that the namer and the named are co-existing (concurrent) entities.
Naming is inextricably confused with the act of communication.
Naming is used to locate and modify data.
Treat data-access and communication as te same thing.(data is a special kind of process. This is taken further with the rho calculus.)
Name channels, not entities.
Names: usually presented as lowercase letters like \(x, y, z\). They are the base elements of this calculus, there is no way to construct them, they just exist
Processes: usually presented as uppercase letters like \(P, Q\). Processes that are not (structurally congruent to) \(\emptyset\) (the empty, stopped, or “do nothing” process) have to be constructed using operations (atomic actions / prefixes) involving names.
Usually presented as uppercase letters like \(M\), \(N\), \(L\)
Ways to construct normal processes
Ways to construct non-normal processes
\(\overline{x}y.P\)
Process?
Yes
Normal?
Yes
\(!N\)
Process?
Yes
Normal?
No
\(P + N\)
Process?
No
Can’t “sum” non-normal processes
\(N | M\)
Process?
Normal?
No
\(N | P\)
Process?
Yes
Normal?
No
\(!((\nu x) x(z).P) + N\)
Process?
No
The first item in the sum is not normal
\(\overline{x}y.!((\nu x) x(z).P) + N\)
Process?
Yes
Normal?
Yes
\(\overline{x}y.(\nu x)x(z).\emptyset | N\)
Process?
Yes
Normal?
No
\(\overline{x}y.(\nu x)x(z).((\nu z)z(z).\emptyset | N)\)
Process?
Yes
Normal?
Yes
https://goo.gl/forms/ehT0jj4U3Wh4gA4l2
#KFramework Pi Calc definition Create a KFramework definition of the Pi Calculus (challenge, do not use (or show the decomposition to) K Specialized Notation: Attributes, Contexts, Angle Brackets, Underscore Brackets)