Controlling Reversibility in Reversing Petri Nets with Application to Wireless Communications
Anna Philippou, Kyriaki Psara, Harun Siljak

TL;DR
This paper introduces a method to control reversibility in Reversing Petri Nets by associating transitions with conditions, demonstrated through a distributed antenna selection algorithm in wireless communications.
Contribution
It presents a novel approach to control transition reversibility in RPNs using conditions, enhancing modeling capabilities for distributed systems.
Findings
Effective control of reversibility in RPNs demonstrated
Application to distributed antenna selection algorithm
Framework supports causal and spontaneous reversals
Abstract
Petri nets are a formalism for modelling and reasoning about the behaviour of distributed systems. Recently, a reversible approach to Petri nets, Reversing Petri Nets (RPN), has been proposed, allowing transitions to be reversed spontaneously in or out of causal order. In this work we propose an approach for controlling the reversal of actions of an RPN, by associating transitions with conditions whose satisfaction/violation allows the execution of transitions in the forward/reversed direction, respectively. We illustrate the framework with a model of a novel, distributed algorithm for antenna selection in distributed antenna arrays.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
11institutetext: Department of Computer Science, University of Cyprus
11email: {annap,kpsara01}@cs.ucy.ac.cy 11institutetext: Department of Computer Science, University of Cyprus
11email: {annap,kpsara01}@cs.ucy.ac.cy 22institutetext: CONNECT Centre, Trinity College Dublin, 22email: [email protected]
Controlling Reversibility in Reversing Petri Nets with Application to Wireless Communications
Anna Philippou
Kyriaki Psara
Anna Philippou 11
Kyriaki Psara 11
and Harun Siljak 22
Abstract
Petri nets are a formalism for modelling and reasoning about the behaviour of distributed systems. Recently, a reversible approach to Petri nets, Reversing Petri Nets (RPN), has been proposed, allowing transitions to be reversed spontaneously in or out of causal order. In this work we propose an approach for controlling the reversal of actions of an RPN, by associating transitions with conditions whose satisfaction/violation allows the execution of transitions in the forward/reversed direction, respectively. We illustrate the framework with a model of a novel, distributed algorithm for antenna selection in distributed antenna arrays.
1 Introduction
Reversibility is a phenomenon that occurs in a variety of systems, e.g., biochemical systems and quantum computations. At the same time, it is often a desirable system property. To begin with, technologies based on reversible computation are considered to be the only way to potentially improve the energy efficiency of computers beyond the fundamental Landauer limit. Further applications are encountered in programming languages, concurrent transactions, and fault-tolerant systems, where in case of an error a system should reverse back to a safe state.
As such, reversible computation has been an active topic of research in recent years and its interplay with concurrency is being investigated within a variety of theoretical models of computation. The notion of causally-consistent reversibility was first introduced in the process calculus RCCS [5], advocating that a transition can be undone only if all its effects, if any, have been undone beforehand. Since then the study of reversibility continued in the context of process calculi [6, 14, 9, 12, 4], event structures [17], and Petri nets [3, 13, 2].
A distinguishing feature between the cited approaches is that of controlling reversibility: while various frameworks make no restriction as to when a transition can be reversed (uncontrolled reversibility), it can be argued that some means of controlling the conditions of transition reversal is often useful in practice. For instance, when dealing with fault recovery, reversal should only be triggered when a fault is encountered. Based on this observation, a number of strategies for controlling reversibility have been proposed: [6] introduces the concept of irreversible actions, and [11] introduces compensations to deal with irreversible actions in the context of programming abstractions for distributed systems. Another approach for controlling reversibility is proposed in [15] where an external entity is employed for capturing the order in which transitions can be executed in the forward or the backward direction. In another line of work, [10] defines a roll-back primitive for reversing computation, and in [9] roll-back is extended with the possibility of specifying the alternatives to be taken on resuming the forward execution. Finally, in [1] the authors associate the direction of action reversal with energy parameters capturing environmental conditions of the modelled systems.
In this work we focus on the framework of reversing Petri nets (RPNs) [13], which we extend with a mechanism for controlling reversibility. This control is enforced with the aid of conditions associated with transitions, whose satisfaction/violation acts as a guard for executing the transition in the forward/backward direction, respectively. The conditions are enunciated within a simple logical language expressing properties relating to available tokens. The mechanism may capture environmental conditions, e.g., changes in temperature, or the presence of faults. We present a causal-consistent semantics of the framework. Note that conditional transitions can also be found in existing Petri net models, e.g., in [8], a Petri-net model that associates transitions and arcs with expressions.
We conclude with the model of a novel antenna selection (AS) algorithm which inspired our framework. Centralized AS in DM MIMO (distributed, massive, multiple input, multiple output) systems [7] is computationally complex, demands a large information exchange, and the communication channel between antennas and users changes rapidly. We introduce an RPN-based, distributed, time-evolving solution with reversibility, asynchronous execution and local condition tracking for reliable performance and fault tolerance.
2 Reversing Petri Nets
In this section we extend the reversing Petri nets of [13] by associating transitions with conditions that control their execution and reversal, and allow tokens to carry data values of specific types (clauses (2), (6) and (7) in the following definition). We introduce a causal-consistent semantics for the framework.
Definition 1
A *reversing Petri net *(RPN) is a tuple where:
is a finite set of places and is a finite set of transitions. 2. 2.
forms a finite set of data types with the associated set of data values. 3. 3.
is a finite set of bases or tokens ranged over by . contains a “negative” instance for each token and we write . 4. 4.
is a set of undirected bonds ranged over by . We use the notation for a bond . contains a “negative” instance for each bond and we write . 5. 5.
is a set of directed labelled arcs. 6. 6.
COND is a function that assigns a condition to each transition such that . 7. 7.
is a function that associates a data value from to each token such that .
RPNs are built on the basis of a set of tokens or bases which correspond to the basic entities that occur in a system. Tokens have a type from the set , and we write to denote the type of a token or expression in the language. Values of these types are associated to tokens of an RPN via function . Tokens may occur as stand-alone elements but as computation proceeds they may also merge together to form bonds. Transitions represent events and are associated with conditions COND defined over the data values associated with the tokens of the model and functions/predicates over the associated data types. Places have the standard meaning. Directed arcs connect places to transitions and vice versa and are labelled by a subset of . Intuitively, these labels express the requirements for a transition to fire when placed on arcs incoming the transition, and the effects of the transition when placed on the outgoing arcs. Graphically, a Petri net is a directed bipartite graph where tokens are indicated by , places by circles, transitions by boxes, and bonds by lines between tokens.
The association of tokens to places is called a marking such that where , for some , implies . In addition, we employ the notion of a history, which assigns a memory to each transition . Intuitively, a history of for some captures that the transition has not taken place, and a history of , captures that the transition was executed as the transition occurrence and it has not been reversed. Note that may arise due to cycles in a model. A pair of a marking and a history, , describes a state of a RPN with the initial state, where for all .
We introduce the following notations. We write and for the incoming and outgoing places of transition , respectively. Furthermore, we write and . Finally, we define , where is a token and a set of connections, to be the tokens connected to via a sequence of bonds in , together with the bonds creating these connections.
In what follows we assume that: (1) transitions do not erase tokens (), and (2) tokens/bonds cannot be cloned into more than one outgoing places of a transition ( for all ). Furthermore, we assume for all , i.e., there exists exactly one base of each type in . Note that we extend the exposition of [13] by allowing transitions to break bonds and by permitting cyclic structures.
2.1 Forward execution
For a transition to be forward-enabled in an RPN the following must hold:
Definition 2
Consider a RPN , a transition , and a state . We say that is forward-enabled in if:
If (resp. ) for some , then (resp. ), and if (resp. ) for some , then (resp. ), 2. 2.
If for some and for some then , 3. 3.
= True.
Thus, is enabled in state if (1) all tokens and bonds required for the transition are available in ’s incoming places and none of the tokens/bonds whose absence is required exists in ’s incoming place, (2) if a pre-existing bond appears in an outgoing arc of a transition, then it is also a precondition of the transition to fire, and (3) the transition’s condition evaluates to true. We write for the value of the condition based on the assignment function .
When a transition is executed in the forward direction, all tokens and bonds occurring in its outgoing arcs are relocated from the input to the output places along with their connected components. The history of is extended accordingly:
Definition 3
Given a RPN , a state , and a transition enabled in , we write where:
[TABLE]
and if , and , otherwise.
2.2 Causal order reversing
We now move on to causal-order reversibility. The following definition enunciates that a transition is -enabled (‘’ standing for causal-order reversing) if it has been previously executed and all the tokens on the outgoing arcs of the transition are available in its outplaces. Furthermore, to handle causality in the presence of cycles, clause (1) additionally requires that all bonds involved in the connected components of such tokens have been constructed by transitions that have preceded . Furthermore, clause (2) of the definition requires that the condition of the transition is not satisfied.
Definition 4
Consider a RPN , a state , and a transition with . Then is -enabled in if: (1) for all then , and if for some with , then , and, (2) = False.
When a transition is reversed all tokens and bonds in the pre-conditions of , as well as their connected components, are transferred to ’s incoming places.
Definition 5
Given a RPN a state , and a transition -enabled in with history , we write where:
[TABLE]
and if , and , otherwise.
3 Case Study: Antenna Selection in DM MIMO
The search for a suitable set of antennas is a sum capacity maximization problem:
[TABLE]
where is the signal to noise ratio, the number of antennas selected from a total of antennas, the number of users, the identity matrix, a diagonal power matrix. is the submatrix of channel matrix [7]. Instead of centralized AS, in our approach (1) is calculated locally for small sets of antennas (neighborhoods), switching on only antennas which improve the capacity: in Fig. 1(a), antenna will not be selected.
In the RPN interpretation, we present the antennas by places , where , and the overlapping neighbourhoods by places . These places are connected together via transitions , connecting , and , whenever there is a connection link between antennas and . The transition captures that, based on the neighbourhood knowledge in place , antenna may be preferred over or vice versa (the transition may be reversed).
To implement the intended mechanism, we employ three types of tokens. First, we have the power tokens , where is the number of enabled antennas. If token is located on place , antenna is considered to be on. Transfer of these tokens results into new antenna selections, ideally converging to a locally optimal solution. Second, tokens , each represent one neighborhood. Finally, , represent the antennas. The tokens are used as follows: Given transition between antenna places and in neighbourhood , transition is enabled if token is available on , token on , and bond on , i.e., , , and . This configuration captures that antennas and are on and off, respectively. (Note that the bonds between token and tokens of type in capture the active antennas in the neighbourhood.) Then, the effect of the transition is to break the bond , and release token to place , transferring the power token to , and creating the bond on , i.e., , , and . The mechanism achieving this for two antennas can be seen in Fig. 1(b).
Finally, to capture the transition’s condition, an antenna token is associated with data vector , (), i.e., the corresponding row of . The condition constructs the matrix of (1) by collecting the data vectors associated with the antenna tokens in place : where if , otherwise . The transition will occur if the sum capacity calculated for all currently active antennas (including ), , is less than the sum capacity calculated for the same neighbourhood with the antenna replaced by , , i.e., . Note that if the condition is violated, the transition may be executed in the reverse direction.
Results of the RPN-based approach on an array consisting of antennas serving users, varying the number of selected antennas from to are shown in Fig. 2 [16]. If we run five RPN models in parallel and select the one with the best performance for the final selection, the results are consistently superior to those of a centralised (greedy) algorithm, and if we run just one (equivalent to the average of the performance of these five models) the results are on par with those of the centralised algorithm.
4 Conclusions
We have extended RPNs with conditions that control reversibility by determining the direction of transition execution, and we have applied our framework to model an AS algorithm. Preliminary results show superior performance to centralised approaches. Our experience strongly suggests that resource management can be studied and understood in terms of RPNs as, along with their visual nature, they offer a number of relevant features. In subsequent work, we plan to extend RPNs for allowing multiple tokens of the same base/type to occur in a model and for developing out-of-causal-order reversibility semantics in the presence of conditional transitions as well as the destruction of bonds.
Acknowledgents: This work was partially supported by the European COST Action IC 1405: Reversible Computation - Extending Horizons of Computing, Science Foundation Ireland (SFI) and European Regional Development Fund under Grant Number 13/RC/2077, and the EU Horizon 2020 research & innovation programme under the Marie Sklodowska-Curie grant agreement No 713567.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] G. Bacci, V. Danos, and O. Kammar. On the statistical thermodynamics of reversible communicating processes. In Proceedings of CALCO 2011 , LNCS 6859, pages 1–18. Springer, 2011.
- 2[2] K. Barylska, A. Gogolinska, L. Mikulski, A. Philippou, M. Piatkowski, and K. Psara. Reversing computations modelled by coloured Petri nets. In Proceedings of ATAED 2018 , CEUR Workshop Proceedings 2115, pages 91–111, 2018.
- 3[3] K. Barylska, M. Koutny, L. Mikulski, and M. Piatkowski. Reversible computation vs. reversibility in Petri nets. In Proceedings of RC 2016 , LNCS 9720, pages 105–118. Springer, 2016.
- 4[4] L. Cardelli and C. Laneve. Reversible structures. In Proceedings of CMSB 2011 , pages 131–140. ACM, 2011.
- 5[5] V. Danos and J. Krivine. Reversible communicating systems. In Proceedings of CONCUR 2004 , LNCS 3170, pages 292–307. Springer, 2004.
- 6[6] V. Danos and J. Krivine. Transactions in RCCS. In Proceedings of CONCUR 2005 , LNCS 3653, pages 398–412. Springer, 2005.
- 7[7] X. Gao, O. Edfors, F. Tufvesson, and E. G. Larsson. Massive mimo in real propagation environments: Do all antennas contribute equally? IEEE Transactions on Communications , 63(11):3917–3928, 2015.
- 8[8] K. Jensen and L. M. Kristensen. Coloured Petri Nets - Modelling and Validation of Concurrent Systems . Springer, 2009.
