@prefix log: . @prefix owl: . @prefix xsd: . @prefix rdfs: . @prefix rdf: . @prefix pi: . ### Pi-Calculus # see http://www.lfcs.inf.ed.ac.uk/reports/89/ECS-LFCS-89-85/ECS-LFCS-89-85.ps # http://www.lfcs.inf.ed.ac.uk/reports/89/ECS-LFCS-89-86/ECS-LFCS-89-86.ps # # We presuppose an infinite set N of names, and let u, v, w, x, y, z range over names. # We also presuppose a set K of agent identifiers, each with an arity an integer >= 0. # We let A, B, C, ... range over agent identifiers. We now let P, Q, R, ... range # over the agents or process expressions, which are of six kinds as follows: pi:Process a rdfs:Class. pi:Port a rdfs:Class. # A summation P1 + P2 # ------------------- # sum_i Pi where the index set I is finite. # This agent behaves like one or other of the Pi. We write 0 for the empty # summation, and call it inaction; this is the agent which can do nothing. pi:summationOf a rdf:Property; rdfs:domain pi:Process; rdfs:range pi:Process. pi:substitutableBy a rdf:Property; rdfs:domain pi:Process; rdfs:range pi:Process. {?P a pi:Process} => {?P pi:substitutableBy ?P}. {?P1 pi:summationOf ?P2. ?P2 pi:substitutableBy ?P3} => {?P1 pi:substitutableBy ?P3}. # A composition P1 | P2 # --------------------- # This agent consists of P1 and P2 acting in parallel. The components may # act independently; also, an output action of P1 (resp. P2) at any output # port x may synchronize with an input action of P2 (resp. P1) at x, to create # a silent (tau) action of the composite agent P1 | P2 . pi:compositionOf a rdf:Property; rdfs:domain pi:Process; rdfs:range pi:Process.