Abstract
The article deals with interaction in concurrent systems. A calculus able to express specific communication patterns is defined, together with its abstract control structures. A hypergraph model for these structures is presented. The hypergraphs are able to properly express the communication patterns, providing a fully abstract model for the pattern calculus. It is also proved that the hypergraph model preserves the operational reductions of processes from pattern calculus and of the actions from the control structures.
1. Introduction
Mathematics has sometimes been called a ‘science of patterns’ [1], meaning that patterns are at the heart of mathematics. The nice description of mathematics as the “study of patterns” was given by G.H. Hardy in his book A Mathematician’s Apology: “A mathematician, like a painter or a poet, is a maker of patterns. If his patterns are more permanent than theirs, it is because they are made with ideas”. Essentially, patterns are regularities that we can perceive. Regarding the skilful ability of applying a pattern to multiple contexts, Solomon Marcus was a wonderful example of applying knowledge patterns to surprising contexts.
Since mathematics and technology have developed a fruitful relationship over past few decades, patterns have been investigated recently in modern fields. New communication technologies have changed the computing landscape, and the Internet is now a platform for large scale distributed programming. Nowadays, we deal with global computation based on multiple interactions with the environment (instead of isolated systems). Concurrency is essential now in computer science; web servers handle multiple simultaneous clients, and cloud servers allow several simultaneous applications and users. Message-passing represents a way in which concurrent processes communicate (a process is an instance of a running program). In software architecture, a messaging pattern describes how two different processes communicate with each other. In telecommunications, a message exchange pattern describes the messages required by a communications protocol or the message flow between parties involved in communication. For example, when navigating on Internet (representing the channel), a web browser (the communicating party) uses the communication protocol HTTP to request a web page from the server (another communicating party). In general, the interaction between clients and servers follows a specific communication pattern: the client sends a request, the server returns a response, and so on. Such an exchange of messages is only an example of communication patterns. More complicated behaviours appear due to the concurrent interaction of communicating processes; this complexity reveal the necessity to find new ways to describe and build up concurrent systems. The communicating parties in such a concurrent system should have a common language to communicate; moreover, they should follow the rules defined in a communications protocol. There exits already a calculus able to express communication patterns called join calculus; it is used as a basis for some programming languages (JoCaml and Cω), but also as a basis for libraries (embedded in C#, F# and Scala). This calculus is based on ‘join patterns’, namely rules describing how a certain combination of values sent through multiple channels triggers a specific reaction and removes the values from the communication channels. Interaction in such a calculus is provided by sharing the communication channels names.
We introduce the pattern calculus as a weak version of join calculus. After presenting the control structures for pattern calculus, we provide a hypergraph model of these structures. The hypergraphs are able to express properly the communication patterns described by the pattern calculus. It is proved that the hypergraph model is fully abstract for the calculus; a model is fully abstract if all observationally equivalent processes represent the same object in the model, meaning also that processes with different behaviour are not mapped to the same hypergraph. Furthermore, there is a correspondence between the dynamics of the processes of the calculus and their hypergraph representation.
2. Pattern Calculus
The pattern calculus is inspired by the join calculus [2], a calculus proposed to underlie programming languages for distributed systems. A presentation of the join calculus can also be found in [3]. The specific construction of the new calculus is the definition of communication channels: . To elucidate the simplicity of this syntactical construction, let us say that it could be expressed in the -calculus [4] by using several syntactical constructions: .
The syntax of the pattern calculus is defined by using a countable set of names ranging over , together with ranging over finite strings of names. We use ranging over the set of processes. The set of processes contains an empty process 0, as well as an output message sending v by using a channel u. The process describes the parallel composition of processes P and Q. The communication between processes is achieved by the channel definition indicating that the interaction of processes P and Q is realized by the channel u (which is created only for the communication between them).
Definition 1.
The processes of our calculus are defined by the following syntax:
P ::= .
In , both u and v are bound. The scope of v is P, while the scope of u is given by the whole definition. It is worth noting that only this definition binds names. The free names are defined inductively by , and .
A substitution replaces all the free occurrences of name x in P by name y; name-capture is avoided by using the -conversion (defined in the standard way).
Definition 2.
A structural congruence is defined as the smallest congruence satisfying the following axioms:
- , if
- if and
- if
- if , , and
- .
The evolution of the processes is given by a reduction relation → .
For the specific construct , the reduction is described mainly by:
.
More exactly, process Q can send a name v along the channel u, while process P waits at the other end of channel u to receive certain channel names. When the name v is received, process Q continues its execution in parallel with process P in which all free occurrences of y are replaced by v, i.e., . Then, channel u remains open to receive other names. The formal definition is given below.
Definition 3.
The reduction relation is defined as the smallest relation satisfying:
- r1:
- if with and
- r2:
- r3:
- .
It is worth noting that there is no rule for parallel composition in the definition of this reduction. The following (easy-to-prove) results show that such a rule for parallel composition is just a consequence.
Lemma 1.
Considering any substitution ,
implies , and implies .
Proposition 1.
implies .
3. Hypergraphs
In the theory of distributed systems, Petri nets [5] and -nets [6] provide both algebraic and graphical descriptions for concurrent systems. Compared to Petri nets, our hypergraph model for pattern calculus has a flexible structure; compared to -nets, the hypergraph model is simpler, but still able to describe a large class of processes.
Following [7], we present the definitions for hypergraphs and some standard related notions such as isomorphism and contractions (on nodes and on edges). For a set S of hyperedges and a set V of vertices, it is defined an incidence relation . A rooted hypergraph is a tuple , where is the root hyperedge. For a hypergraph H, we use the notations , , and .
The graphical presentation of a hypergraph H is provided by:
- -
- A hyperedge t represented as an oval with its name t outside.
- -
- A vertex v represented as a point having the name v .
- -
- An element of the incidence relation represented as lines from the hyperedge t to the vertex v; “v lies on t” whenever .
- -
- The root indicated by an arrow pointing to the hyperedge .
Example 1.
Considering a hypergraph with , , and , various graphical representations are depicted in Figure 1. The left representation uses only lines of non-zero length, while the right one uses only lines of zero length. The representation in the middle is a compromise (between lengths) to provide a reasonable picture.
Figure 1.
Graphical representations of a hypergraph.
For a given rooted hypergraph H and a nonempty subset of nodes, a contraction on vertices is specified by the hypergraph with the same root hyperedge (), the same hyperedges (), but with for a fresh and .
For a given rooted hypergraph H and a nonempty subset of hyperedges, a contraction on hyperedges is specified by the hypergraph with the same set of vertices (), but with for a fresh , and . Regarding the root hyperedge , if then , otherwise it remains the same .
Example 2.
Considering two vertices , we denote by the contraction on vertices in . For two hyperedges , we denote by the contraction on hyperedges in . For the hypergraph H used in the previous example, the contraction on vertices and the contraction on hyperedges are depicted in Figure 2.
Figure 2.
A contraction on vertices (left), and a contraction on hyperedges (right).
The isomorphism between two hypergraphs H and is defined by two bijections and which satisfy and if and only if for all and . In such a situation, we say that hypergraphs H and are isomorphic (denoted by ).
The isomorphism relation is an equivalence over hypergraphs. The names of hyperedges and vertices do not play any role in the isomorphism of hypergraphs. For the graphical representation of an equivalence class, it can be used any hypergraph (after removing the names of hyperedges and vertices).
4. Control Structure for Pattern Calculus
Milner proposed the control structures and action calculi as a unifying framework for the models of concurrent systems in [8]. A control structure defines the static aspects of a process calculus, while the corresponding action calculus describes various models of interactive behaviours. Regarding the behaviour, distinct action calculi differ only in their generators (called controls). Thus, the previously mentioned Petri nets and -nets, as well as our hypergraph model, differ only in their generators. Analyzing these generators, it is possible to compare and classify the formal models for concurrent systems. Moreover, by selecting some specific generators, it is possible to combine existing models in order to obtain a new desired model.
The control structures presented here follow the definitions of [9]. Essentially, a control structure is defined by a set of terms, an equational theory, and a reduction relation over terms. This fact is condensed in the following expression:
From an algebraic viewpoint, a control structure is a symmetric strict monoidal category with an additional structure [10]. The morphisms of the symmetric strict monoidal category correspond to the terms of the control structure; they are denoted by and called actions.
The control structure uses an enumerable set of names together with a signature in which P is a set of prime arities and is a set of control operators. Every name has a prime arity , and this is denoted by . Each control has an arity rule. In addition to the specific control operators, every control structure contains a datum operator (where ) and a discard operator , as well as an abstractor operator (where and ). The equational theory is the same for all control structures. To express the evolution, a set R of reaction rules is used; reaction rules are ordered pairs of terms with the same arity.
Each action a possesses a surface .
The equality = between actions is valid whenever the equation could be proved by using the axioms of the control structure; otherwise .
We present here some results used later in the proofs of our results.
Proposition 2.
The following properties hold in any control structure:
The following properties hold in any control structure, whenever :
Additionally,
| 1. | ||
| 2. | ||
| 3. | ||
| 4. | ||
| 5. | ||
| 6. |
Proposition 3.
The following properties are provable in any control structure:
| 1. | ; | |
| 2. | ; | |
| 3. | if; | |
| 4. | if and . |
We define the control structure for our pattern calculus, emphasizing on its actions. We also present a graphical representation for its processes. The monoid of the natural numbers provides the arity monoid of the control structure, with ranging over natural numbers, and denoting the first n natural numbers. The (unique) prime arity 1 is associated with each name . For a number k and a function , we define by . Following [9], the control structure is defined over the set of names using as meta-variables.
Regarding the actions of the control structure for our calculus, they are given by enriched hypergraphs called shortly pattern nets. An action with arity is given by a hypergraph H together with its decoration consisting of:
- -
- An input function given by an injective function ;
- -
- An output function given by a function ;
- -
- A label function given by an injective function , where ;
- -
- A transition relation ;
- -
- A resource function .
We can look at these functions as multisets over . We denote by a multiset over such that , and ; we use the standard multiset operations over these functions: ().
We extend in a straightforward way the isomorphism and contraction introduced for hypergraphs. Considering with (), the nets and are isomorphic if there is a hypergraph isomorphism between and such that , , , and if and only if , together with for all and .
For the graphical representations of the pattern nets, let us consider a generic net with ; the hypergraph H is presented by assuming that its lines are of length zero (see Figure 1):
- -
- Whenever , and , an input label is assigned to vertex v, an output label to vertex , and a name labelx to vertex w;
- -
- Whenever , an arc is drawn outside any oval from vertex v to vertex ;
- -
- Whenever , v and lie on the same hyperedge s: ; more exactly, whenever , we have k arcs inside the oval s from vertex v to vertex .
As for hypergraphs, isomorphic nets are not distinguished. The names of vertices and hyperedges do not play any role in the isomorphic nets, and so the graphical representation of an isomorphic (equivalence) class of pattern nets is given by any net of the class after removing the names of vertices and hyperedges.
The control structure operators for our pattern nets are:
| - datum defined by | |
| and | ![]() |
| - discard defined by | |
| and | ![]() |
The three controls generating the pattern nets are:
| – defined by | |
| and | ![]() |
| – defined by | |
| and | ![]() |
| – If and , then | |
| , where | |
| , for fresh | |
| and , and | |
| . |
The equational theory is defined by the following operators.
Let us consider the nets with and , where . Without loss of generality, we consider . and , as well as .
| – Identity defined by | |
| and | ![]() |
| – Symmetry defined by | |
![]() |
– Tensorial product of two nets and is obtained by combining them as follows: in , the input labels are incremented by m and the output labels are incremented by n; then overlap the two roots and the vertices of and of with the same name. Formally, , where
– Composition of two nets and is obtained by combining them as follows: overlap the two roots and vertices of and with the same name; for every , overlap the vertex labelled in with the vertex labelled in , and then remove the labels and .
Formally, , where
– Abstractor. Let us consider a net with .
Then is obtained from a in the following steps: increment all the input and output labels by 1; assign both the input label and the output label to vertex x, and then remove the label x. Formally, , where
In general, these operators over the pattern nets are well-defined. However, the abstractor is not well-defined if a vertex labelled by x is not contained in the net a. To avoid such a situation, we adjust the definition of the above operators by
where op stands for each operator defined above, and is the pattern net
Following [9], it is not difficult to prove the following result.
Proposition 4.
The operators , ω, ν, , , , , ·, ⊗ and define a control structure.
The actions of this control structure determine the hypergraph model for the pattern calculus. We actually use the derived control operators:
The reaction ↘ is the smallest relation over the pattern nets closed under equality, composition, tensorial product and abstraction which satisfies the control rule
The corresponding graphical description of the reaction rule is given by:

In this diagram, the scope of the operator is represented as a gray patch; due to the properties derived from the syntax of our calculus, this patch can actually be determined from the hypergraph structure.
The operators, actions and reaction complete the definition of our nets.
It is worth noting that the def operator can be generalized, namely we can have a more general control operator by . Moreover, the corresponding graphical representation is extended by using m external arcs to connect the new root hyperedge to the old one. The corresponding reaction is generalized in the following way:
We present some proprieties of the pattern nets. The proofs of these properties are tedious (but easy), based mainly on definitions and the structure of the nets.
Lemma 2.
We have the following properties:
- 1.
- and .
- 2.
- For any substitution , and .
- 3.
- If , then there exists such that and .
- 4.
- iff and .
- 5.
- iff
- either there exists such that and , or
- there exist such that and , where .
- 6.
- Whenever , iff and .
- 7.
- iff and .
5. Fully Abstract Hypergraph Model of the Pattern Calculus
This section presents the main results of the paper. These results reveal the hypergraphs as a fully abstract model for the pattern calculus. According to [11], a model is fully abstract if all observationally equivalent terms in the object language represent the same object in the model. This means that processes with different behaviour are not mapped to the same hypergraph. Moreover, we prove a correspondence between the reduction of the processes and the reduction of their hypergraph representation.
Definition 4.
The semantic relationship between the pattern calculus processes and the pattern nets is defined by structural induction as follows:
- 1.
- ;
- 2.
- ;
- 3.
- ;
- 4.
- .
We prove some results involving this semantic relationship .
Lemma 3.
For every process , we have .
Proof.
A simple induction on the structure of P. In the case of our nets, 0 is the neutral element of the arity monoid . For case of the previous definition, we use the discard operator instead of . Since 1 is the only prime arity p of the monoid , we omit the index without any risk of confusion. □
Lemma 4.
For every process , we have .
Proof.
By induction on the structure of P (the proof uses Lemma 2). □
Lemma 5.
For two names and a process , we have .
Proof.
Induction on the definition of the substitution over processes (and Lemma 5). □
Proposition 5.
If , then .
Proof.
Induction on the definition of structural congruence. Let us consider the relation
Proof is reduced to the equality between ∼ and ≡. Obviously, . We show that ∼ satisfies the axioms from the definition of ≡. Since ≡ is the smallest relation satisfying these axioms, it follows that , and so . Thus, to prove that , it is enough to verify that ∼ satisfies the axioms from the definition of ≡.
The cases , and are rather trivial, based on the fact that is neutral for tensor product, together with the commutativity and associativity of tensor product ⊗ in the equational theory (of the control structures).
Let us consider the other cases.
– , if .
Assume . By Lemma 4, it follows that . Then,
– if , .
Assume and ; then, and . By Lemma 4, . If , then the result is trivial.
Let us assume that .
– if .
Assume . By Lemma 4, . Then,
–
if , , and .
Assume , and . By Lemma 4, it follows that and . Furthermore, by Lemma 2, .
In a similar way, we obtain
To complete the proof, it remains to prove that X = Y.
□
Theorem 1.
If , then .
Proof.
By induction on the definition of .
* r1: is
, , and . According to Lemma 2 and Lemma 4, . According to Proposition 2 and using the compatibility of ↘ with composition, tensorial product and abstraction,
* r2: is with .
By induction, . Since ↘ is closed under composition, tensor and abstraction, it follows that
* r3: with , and .
By the induction hypothesis, . By Proposition 5, we have and . Since ↘ is closed under equality, then . □
Lemma 6.
iff and .
Proof.
A consequence of the fact that the reaction is closed under tensorial product and equality.
Induction on the structure of P.
- –
- If P is the empty process or a message, then . Therefore, the statement of the lemma is obviously true because its premise is not satisfied.
- –
- If P is a parallel composition , then . Since , it follows (Lemma 2) that one of the following cases remains possible:
- (1)
- and ;
- (2)
- and ;
- (3)
- and , where .
Note that by Proposition 2, we have .In case , , and we consider . In case , we take . In case , by induction, we have and . Thus, , considering . - –
- If P is a definition , then we may assume without losing generality that . It follows from Lemma 2 together with Proposition 2 that . By Lemma 2, and . Since , and , it follows (according to Lemma 2) that one of the following cases remains possible:
- (1)
- and ;
- (2)
- and ;
- (3)
- and .
In case , . Considering , it satisfies the requirements (according to Proposition 2). In case , we have , and consider . In case , by induction hypothesis, and . Thus, , and consider . □
Lemma 7.
iff one of the following conditions holds:
- 1.
- and ;
- 2.
- and .
Proof.
A consequence of the fact that the reaction is closed under tensorial product and equality.
Induction on the structure of P.
- –
- If P is the empty process 0, then condition 2 holds obviously.
- –
- If P is a message, then condition 2 holds by Lemma 6.
- –
- If P is a parallel composition , then .
By Lemma 2, it follows that one of the following cases is possible:
- and ;
- and ;
- and ;
- and , where .
According to Proposition 2, . In case , condition 2 holds by taking . In case , we have . Then, condition 1 holds by taking . In case , condition 1 holds by taking .
In case , by induction, we distinguish two sub-cases:
- and ;
- and .
For , we obtain , and condition 1 holds for . For , condition 2 holds for . In both sub-cases, some action commutations are required; they are possible according to Proposition 2.
- –
- If P is a definition , then we may assume without losing generality that . By Lemma 4, . According to Proposition 2, we have . By Lemma 2, and . Since , it follows from Lemma 2 that one of the following cases remains possible:
- and ;
- and ;
- and ;
- and .
In case , condition 1 holds for .
In case , by Lemma 2, there exists b such that and ; condition 2 holds for this b. In case , condition 1 holds for .
In case , we distinguish two sub-cases:
- and ;
- and .
For , condition 1 holds for . For , there exists b such that and (by Lemma 2); condition 2 holds for this b. Proposition 2 is used in all cases and sub-cases. □
Lemma 8.
iff one of the following conditions holds:
- 1.
- and ;
- 2.
- and ;
- 3.
- , andwhere for every .
Proof.
If condition 1 holds, then the implication follows as a consequence of the fact that the reaction is closed under tensorial product and equality. If condition 2 holds, then we have
by Proposition 5
If condition 3 holds, it follows by Lemma 2 and Lemma 4 that for every . Then,
by Propositions 5 and 2
Induction on the structure of P.
– If P is the empty process 0 or a message with , then . The statement of the lemma is obviously true as its premise is not satisfied. On the other hand, if P is a message , then
by Lemma 2
Furthermore, . Consequently, condition 2 holds.
– If P is a parallel composition , then . Since , it follows from Lemma 2 that one of the following cases remains possible:
- and ,
- and ,
- and , where .
According to Proposition 2, we obtain . In case , we obtain , and condition 1 holds for . In case , condition 1 holds for . In case , we distinguish three sub-cases:
- and ;
- and ;
- andwhere for every .
In sub-case , we obtain . Therefore, condition 1 holds for . For , we have . By Proposition 2, . Thus, condition 2 holds. For sub-case , we may assume (without losing generality) that for every . By Lemma 4, it follows that for every . Then , and
by Proposition 2
Thus, condition 3 holds.
– If P is a definition , then we can assume without losing generality that . By Lemma 4 and Lemma 2, . It follows from Proposition 2 that . By Lemma 2, and . Since and , then (according to Lemma 2). It follows that one of the following cases remains possible:
- and ;
- and ;
- and .
In case , condition 1 holds for . In case , condition 1 holds for . In case , by induction, we distinguish three sub-cases:
- and ,
- and ,
- andwhere for every .
In sub-case , condition 1 holds for . In sub-case , we have . We distinguish two situations:
- •
- . Then . It is easy to see that , and so . By Proposition 2, . Thus, condition 2 holds.
- •
- . Then . Moreover, . Thus, condition 3 holds.
In sub-case , . Using Proposition 2, we obtain
Thus, condition 3 holds. □
Theorem 2.
If , then there exists a process Q such that and .
Proof.
Induction on the structure of P.
– If P is the empty process or a message, then . Therefore, the statement of the theorem is obviously true because the premise is not satisfied.
– If P is a parallel composition , then . By Lemma 7, one of the following cases holds:
- (1)
- and ;
- (2)
- and .
It is sufficient to consider the case , the other one being similar (symmetric).
By induction, we have and . According to Proposition 1, and . Thus, the result of the theorem holds for .
– If P is a definition , then . It follows from Lemma 2 that and . By Lemma 8, only one of the following cases holds:
- (i)
- and ;
- (ii)
- and ;
- (iii)
- andwhere for every .
In case , by the induction hypothesis, and . It follows that and Thus, the result of the theorem holds for .
In case , we have and . Thus, the result of the theorem holds for .
In case , it follows that for any (Lemmas 2 and 4).
□
6. Describing Communication Patterns by Using the Hypergraph Model
In the Unix operating system, interprocess communications based on message queues allow exchange of information between processes. The processes exchange information by accessing a common message queue. Essentially, one process produces a message queue (via a message-passing module) that other processes may access; often a server places a message onto a queue which can be read by multiple clients. The sending process may specify its type when placing the message in a queue such that the reading processes can select the appropriate message; thus, message queues provide a way of multiplexing information from one producer to more consumers.
As example, we consider a simple system in which only one channel is used to exchange messages between the server and clients, and any message at the input of any client must appear at the output of all the clients (this is a requirement for several social networks including a chat messaging system). A type associated to each message allows a client to access the (unique) message queue for selectively reading only specific messages (in a first-in–first-out manner). We simplify the system, and consider a process S working as a server and two clients A and B. The channels idA and idB are used to indicate the type of messages from S to A and B, respectively; a channel idS indicates the type of messages from the clients to the server. Client A uses an input channel inA and an output channel outA; client B uses channels inB and outB). For a message m sent along the input channel inA, the pattern calculus process corresponding to this system is:
Using the hypergraph model, in Figure 3 is presented the net corresponding to this process.
Figure 3.
The net of a simple communication system described previously in pattern calculus.
Except the root hyperedge, the structure of this net does not change during the evolution. Therefore, the evolution of the system could be described graphically focusing only on the root hyperedge; this evolution is depicted in Figure 4.
Figure 4.
The evolution of the system (as it appears in the root hyperedge).
In Figure 4 it is not difficult to check visually the requirement that a message appearing at the input of a client appears also at the output of all the clients. In our case, the message m on the input channel inA (the initial step) appears at the output channels outA and outB in the final step described in Figure 4.
7. Conclusions and Related Work
In this paper we introduce a hypergraph model (given by the pattern nets) for the communication patterns. These nets provide a fully abstract model for the pattern calculus. In this way, a new sound graphical model for concurrency is introduced. We present a semantic interpretation of the pattern calculus in the framework of control structures, creating a graphical representation for the pattern calculus given by a new hypergraph model given by the pattern nets. By introducing a mapping from the control structure of pattern calculus into a set of hypergraphs, we provide a graphical model for communication patterns. It is also proved that the hypergraph model preserves the operational reductions of processes from pattern calculus and of the actions from the control structures. As an example, simple interprocess communications based on message queues inspired by the social networks are described by using our pattern nets. This example could be a first step towards more realistic scenarios in which the proposed model can be used to identify control structures supporting specific communication patterns. Future work will investigate realistic autonomic networking, mobility management, multiaccess selection, wireless and mobile networks (as they are presented in [12], for instance).
Graphical representations for process calculi highlight a new perception, providing a visual approach of concurrency and networks. According to our knowledge, just a few papers are devoted to the graphical presentations of the process calculi. We mention our previous attempts, namely the faithful -nets [13], a graphical representation of the -calculus machine [14], and a related approach by using jc-nets [15]. There exist also the graphical representations introduced by Robin Milner, namely action graphs and -nets. Action graphs [16] are the graphical presentation of action calculi; they are very general, and so they are not able to describe specific features of certain action calculi. In the graphical presentation of the -calculus given by the -nets [6], channels are represented as rather complicated nodes called torpedos together with boxes representing guards, and messages are represented as directed arcs. The boxes obscure the internal nodes representing channels; to ensure access to the hidden channels, a rather complex additional mechanism of links is used. To avoid such a mechanism, in [13,14] the channels are represented by nodes, messages are represented by boxes of arcs and guards are represented by arcs between boxes. This approach simplified the graphical representation of the -calculus; unfortunately, it provided identical representations for processes with different behaviours. Fortunately, this deficiency was overtaken in the pattern calculus hypergraph model: processes with different behaviours are not mapped to the same hypergraph. The hypergraph model is presented in the same formal framework used for the -nets (it is worth noting that hypergraph model avoids certain irrelevant aspects of -nets). It is simpler than the -nets, preserving much of their expressive power (according to [2], the join calculus has the same expressive power as the -calculus). Compared with all of them, the pattern nets represent a simple but sound graphical model for concurrency, providing a fully abstract model for the pattern calculus.
Funding
This research received no external funding.
Acknowledgments
Many thanks to Mihai Rotaru for his contributions in our past collaboration.
Conflicts of Interest
The author declares no conflict of interest.
References
- Resnik, M.D. Mathematics as a Science of Patterns; Oxford University Press: Oxford, UK, 1999. [Google Scholar]
- Fournet, C.; Gonthier, G. The reflexive CHAM and the join calculus. In Proceedings of the 23rd ACM Symposium on Principles of Programming Languages (POPL’96), St. Petersburg, FL, USA, 21–24 January 1996; Association for Computing Machinery: New York, NY, USA, 1996; pp. 372–385. [Google Scholar] [CrossRef]
- Levy, J.J. Some results in the join calculus. Lect. Notes Comput. Sci. 1997, 1281, 233–249. [Google Scholar]
- Milner, R. Communicating and Mobile Systems: The π-Calculus; Cambridge University Press: Cambridge, UK, 1999. [Google Scholar]
- Reisig, W. Understanding Petri Nets; Springer: Berlin, Germany, 2013. [Google Scholar]
- Milner, R. π-nets: A graphical form of π-calculus. Lect. Notes Comput. Sci. 1994, 788, 26–42. [Google Scholar]
- Schmidt, G.; Strohlein, T. Relations and Graphs; EATCS Monographs on Theor. Comput. Sci.; Springer: Berlin, Germany, 1993. [Google Scholar]
- Milner, R. Action calculi for syntactic action structures. Lect. Notes Comput. Sci. 1993, 711, 105–121. [Google Scholar]
- Mifsud, A.; Milner, R.; Power, J. Control structures. In Proceedings of the 10th IEEE Symposium on Logic in Computer Science (LICS’95), San Diego, CA, USA, 26–29 June 1995. [Google Scholar]
- Asperti, A.; Longo, G. Categories, Types and Structures; MIT Press: Cambridge, MA, USA, 1996. [Google Scholar]
- Milner, R. Fully abstract models of typed λ-calculi. Theor. Comput. Sci. 1977, 4, 1–22. [Google Scholar] [CrossRef]
- Pentikousis, K.; Blume, O.; Aguero, R.; Papavassiliou, S. Mobile Networks and Management; Springer: Berlin, Germany, 2010. [Google Scholar]
- Ciobanu, G.; Rotaru, M. Faithful π-nets. A graphical representation of the asynchronous π-calculus. Electron. Notes Theor. Comput. Sci. 1998, 18, 24–45. [Google Scholar] [CrossRef][Green Version]
- Ciobanu, G.; Rotaru, M. A π-calculus machine. J. Univers. Comput. Sci. 2000, 6, 39–59. [Google Scholar]
- Ciobanu, G.; Rotaru, M. JC-nets. Lect. Notes Comput. Sci. 2001, 2055, 190–201. [Google Scholar]
- Milner, R. Calculi for interaction. Acta Inform. 1996, 33, 707–737. [Google Scholar] [CrossRef]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).





