Professional Documents
Culture Documents
Wisniewski Karatkevich Adamski Costa Gomes 18 07920333
Wisniewski Karatkevich Adamski Costa Gomes 18 07920333
Wisniewski Karatkevich Adamski Costa Gomes 18 07920333
Abstract— This paper shows a novel prototyping technique for Moreover, most of the known methods extract all possible
concurrent control systems described by interpreted Petri nets. components of decomposition; thus, a subsequent selection
The technique is based on the decomposition of an interpreted from the obtained components is required [58].
Petri net into concurrent sequential automata. In general, min-
imum decomposition requires runtime that is exponential in A new prototyping method for the concurrent control
the number of Petri net places. We show that in many cases, systems described by the Petri nets is presented in this
including the real-life ones, the minimum decomposition problem paper. The proposed method includes decomposition of a
can be solved in polynomial time. The proposed method allows system into concurrently executed sequential automata, called
implementing a concurrent control system using minimal number state machine components (SMCs) [38], [50]. Such an oper-
of sequential components, which requires polynomial time and
can be applied to most of the considered cases. The presented ation is performed with application of the perfect graph
concept is illustrated by a real-life industrial example of a theory [28], [45]. In most cases, the presented technique
beverage production and distribution machine implemented in makes it possible to obtain a state machine decomposition in
a field programmable gate array. polynomial time.
Index Terms— Comparability graphs, concurrent control sys- This paper is organized as follows. Section II introduces the
tems, field-programmable gate array (FPGA), Petri nets. preliminaries regarding comparability graphs and Petri nets.
Section III describes the role of decomposition in prototyping
I. I NTRODUCTION of the concurrent control systems. The main idea of the pro-
behind it is as follows: 1) all the places marked in the initial can be described by a separate parallel module (process),
marking are mutually concurrent; 2) every two places being which leads to a complex and difficult to manage description.
output for the same transition are concurrent, if the transition Alternatively, each sequential component can be described
can ever fire; and 3) if a place is concurrent with every by single process, which provides a more understandable
input place of a transition, it is structurally concurrent with description and which is relatively easy for analysis and
all of its output places. It is shown in [39] that every two implementation [31]. Apart from the above-mentioned reasons,
places, which are behaviorally concurrent, are also structurally decomposition is used in some methods of state encoding [14].
concurrent (but not always vice versa). Most of the Petri net decomposition methods are based
According to [39, Lemma 3.3], if || A is reflexive, the Petri on the preservation of properties and focus on net analysis.
net cannot be covered by SM-components. For example in [18], a decomposition method is presented
Definition 18 (Concurrency Graph): A concurrency graph based on shared places or shared transitions, demonstrating
(structural concurrency graph) of a Petri net that place invariants of the global model are the same as of
N = (P, T, B, M0 ) is a graph G C =(V, E), such that the decomposed model. However, the resulting subnets cannot
V = P and E = || (E = || A , correspondingly). be executed in a distributed way.
Definition 19 (Well-Formed Net): A Petri net N is live if Aybar and Iftar [3] propose a decomposition method based
for every reachable marking M and transition t of N, t can be on net structure analysis identifying overlapped sections. Over-
fired in M or in a marking reachable from M. A net is safe lapped places and transitions are repeated in all resulting
if there is no marking M, such that a place p ∈ P contains subnets.
more than one token. Other decomposition methods use input and output places
A Petri net is well formed if it is live and safe. for communication between the decomposed models [13],
Definition 20 (Interpreted Petri Net): An interpreted Petri [51], [72]. In [21], a functional decomposition method is
net is a well-formed Petri net, defined as a six-tuple [2], [53] proposed, based on the definition of a cutting set. The main
concern of this method is to maintain the same behavior
N = (P, T, B, M0 , X, Y ) (5) before and after decomposition. The interface between the
where decomposed components is always composed by transitions,
1) P finite, nonempty set of places; which communicate through output and input events. Common
2) T finite, nonempty firing rules are also preserved.
set of transitions; An SM-decomposition of a Petri net N = (P, T, B, M0 )
3) B ⊆ (P × T ) (T × P) finite set of arcs;
4) M0 initial marking; can be obtained by means of a calculation of its binary
5) X={x 1 , x 2 , . . . , x m } finite set of logic inputs; S-invariants and by finding a cover of set P by their supports.
6) Y ={y1 , y2 , . . . , yn } finite set of logic outputs. The invariants can be obtained directly by finding the (0, 1)
solutions of the system of linear equations Ax = 0, where
Logic inputs and logic outputs are connected to the net as
A is the incidence matrix of N [50], or more efficiently,
follows. A Boolean function of the inputs is associated with
for example, using the Martinez–Silva algorithm [46]. Both
every transition of the net, and value 1 of the function is
approaches are easy to implement, but since the number of
a necessary condition of the transition firing. A subset of
S-invariants can be exponential in the number of Petri net
outputs (maybe empty) is associated with every place, and
places, generation of all SM-components requires exponential
an output has value 1, if and only if at least one of the
time and space in the worst case.
corresponding places is marked in the current marking.
However, it is not necessary to generate all SM-components
Note that as far as the prototyping process presented in this
to obtain an SM-decomposition. Indeed, it is enough to get
paper is based on the interpreted Petri nets, we suppose that
a set of the modified SM-components, such that each of
the considered nets are well formed.
them covers some places of the given Petri net and may
also contain the so-called nonoperational places (NOPs) [31],
III. D ECOMPOSITION IN D ESIGN OF C ONCURRENT [43], [69]. Such decomposition can be obtained by col-
C ONTROL S YSTEMS oring the concurrency graph of the Petri net [4]. Then,
The design process of a parallel control system specified by an SM-component can be constructed from the places, which
an interpreted Petri net usually includes its decomposition into obtain the same color, the transitions incident to them and,
sequential components [4], [30]. It may be required for several when necessary, the NOPs (a way of adding NOPs is explained
reasons. One of them is the situation in which a concurrent in Algorithm 4).
algorithm has to be executed by several microcontrollers or Given that minimum coloring of a graph is an NP-hard
processors, where each of them executes a sequential sub- problem, no known polynomial-time algorithm can calculate
process [21], [66]. This is not the case when the controller the coloring of a graph using the smallest possible number
is implemented in a field-programmable gate array (FPGA), of colors in the general case. Hence, it is reasonable to
since a parallel logical control algorithm can usually be apply the approximation coloring algorithms [24]. However,
implemented in a single FPGA device. However, configuration as shown in the following, in many practical cases, mini-
of an FPGA is usually specified using a hardware description mum decomposition of a concurrent control system and the
language (HDL), such as very high speed integrated circuits whole prototyping process can be performed in polynomial
HDL (VHDL) or Verilog. In those languages, a Petri net place time.
578 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 26, NO. 2, MARCH 2018
IV. I DEA OF THE P ROPOSED M ETHOD Algorithm 1 Computation of the Structural Concur-
The proposed method of prototyping of the concurrent rency Graph
control systems consists of the following steps.
1) Specification of the concurrent control system:
a) Specification by an interpreted Petri net N.
b) Optional: formal verification of the system.
c) Optional: reduction of the net N.
2) Decomposition of the Petri net N:
a) Computation of the structural concurrency graph
G C of N.
b) Obtaining a TRO of G C if it exists.
c) Minimum (optimal) coloring of G C if a TRO
exists (otherwise, another approach has to be
used, such as coloring using an approximation
algorithm).
d) Formation of the set S of decomposed components.
3) Modeling, validation, logic synthesis, and final imple-
mentation of the system in a programmable device.
We shall explain each of the above-mentioned stages in in [41] that for every Petri net, || ⊆ || A , and that for the well-
more detail. formed Extended Free-Choice-nets || = || A .
2) Obtaining a Transitive Orientation of the Structural
A. Specification of the System by an Interpreted Petri Net Concurrency Graph: This step is one of the essential stages
of the whole decomposition process. Existence of a TRO
Initially, the concurrent control system is specified by an in G C means that such a graph can be optimally colored
interpreted Petri net N. Such a specification allows further in polynomial time. Otherwise, the proposed method cannot
decomposition and implementation of the system in program- guarantee obtaining optimal decomposition and a different
mable devices. decomposition method ought to be selected.
At this stage, the Petri net model of concurrent controller The best known recognition algorithm uses a depth-first
can be additionally formally verified with the use of a model search (DFS). The set of graph vertices is split into the
checking technique [19], [26], [29]. Such a verification ensures subsets called implication classes by a recursive orientation
that the final system meets all the user-defined requirements. of subsequent edges [27]. At the beginning, an initial edge
Different aspects of formal verification are widely described is selected arbitrarily. Another idea is shown in [32], where
in the literature [9], [11], [17], [33], [44], [52], [55], [60]. lexicographic breadth-first search (BFS) is used. The algorithm
Reduction of the Petri net [8], [35], [50] can be used as a also partitions the set of vertices into the implication classes.
step simplifying its SM-decomposition [4]. Some details on Let us introduce an alternative version of recognition of a
this topic will be presented in Section V. comparability graph. The method shown in Algorithm 2 finds
the TRO F of an undirected graph G=(V, E). The algorithm
B. Decomposition of the Interpreted Petri Net explores further edges with the use of the BFS method. The
The decomposition process allows splitting the initial set F is supplied by the subsequent TROs, while an additional
net into the concurrent modules (SM-components). Each set X (a copy of E) holds unexplored edges. Let us point out
of the obtained components is further modeled indepen- that in contrast to the known methods, the proposed one does
dently (see Section IV-C). Note that at this stage of prototyping not split the set of graph vertices into implication classes, and
of a concurrent control system, input and output signals (sets it just retrieves a TRO of G C .
X and Y ) are not considered. An estimation of the computational complexity of
The proposed decomposition method consists of five steps. Algorithm 2 is as follows. Clearly, both outer loops (while..do
Let us describe each of them. and repeat..until) are executed |E| times for each edge of the
1) Computation of the Structural Concurrency Graph: graph. Each of the inner for each loops is executed for all
Based on the initial Petri net N, a structural concurrency graph the neighbor vertices. Therefore, their complexity is at most
G C is formed. Such a structure is obtained by the consecutive O(δ(G)), where δ(G) means the maximum degree of vertices
application of three rules presented in Definition 17. in G. Summarizing, we can formulate the following statement.
The method for obtaining the structural concurrency graph Statement 1: Comparability graph recognition and finding
G C for a Petri net N is shown in Algorithm 1. The idea is a TRO by Algorithm 2 can be done in O(|E|δ(G)) time.
taken from [39]. According to [39], computation of the struc- 3) Coloring of the Structural Concurrency Graph: Since the
tural concurrency relation || A of Petri net N = (P, T, B, M0 ) graph G C can be transitively oriented, its minimum coloring
is bounded by O((|P| + |T |)5 ). can be obtained in linear time [27]. Algorithm 3 uses the ideas
Note that a structural concurrency relation does not always of coloring of already oriented comparability graphs presented
coincide with a behavioral concurrency relation. It is shown in [27] and [45]. The algorithm recursively calls an additional
WIŚNIEWSKI et al.: PROTOTYPING OF CONCURRENT CONTROL SYSTEMS 579
Algorithm 2 Finding of a TRO in an Undirected Graph 4) Formation of the Set of the Decomposed Components:
Based on the colored graph, the set of components is formed.
Each set of places, which obtain the same color during
coloring of G C , refers to an SM-net S ∈ S, where S is a set
of components covering all the places of the Petri net. Such
set of places P ⊆ P of net N = (P, T, B, M0 ) generates
an SM-net S = (P , T , B , M0 ) as follows: T = {t ∈ T :
∃ p ∈ P : (t, p) ∈ B ∨ ( p, t) ∈ B}, B = {( p, t) : p ∈
P ∧ t ∈ T ∧ ( p, t) ∈ B} ∪ {(t, p) : p ∈ P ∧ t ∈ T ∧
(t, p) ∈ B}, M0 = M0 .
Note that there is a possibility that a particular component
S contains unconnected input or output transitions. Such
a situation is caused by the fact that some places of the
decomposed system are common to more than one component.
Coloring of a concurrency graph just groups vertices (places)
into separate sets, but does not assure common places for
different components. Therefore, additional NOPs ought to be
supplied to the components with unconnected input or output
transitions (we shall explain such a situation in more detail by
an example in Section V).
Algorithm 4 presents a method that supplements the com-
ponents with the NOPs. In addition, the algorithm verifies
whether the net can be properly decomposed and whether the
NOPs can be supplied.
Let us briefly explain the functionality of Algorithm 4.
The proposed method uses DFS, considering the structural
concurrency relation. Initially, strong connectedness of each
of the obtained components is checked. The method searches
for the unconnected transition outputs and the unconnected
Algorithm 3 Coloring of a Comparability Graph transition inputs. If there are such transitions in component S,
then S should be supplemented with the NOPs. For each
unconnected transition output, an adequate unconnected tran-
sition input is searched. If a proper input cannot be found,
then the net cannot be decomposed by means of the proposed
technique [such a situation may be caused by the differ-
ence between real and structural concurrency relations (see
Section IV-B1)].
Finally, an NOP is supplied to the component. Note that if
an NOP replaces at least one initially marked place, then it
should also be initially marked.
Let us estimate the computational complexity of
Algorithm 4. The outer for each loop is executed at
most |P| times, because each place p ∈ P belongs to only
function Coluor. Such a function simply orders all the graph one component S ∈ S. Executions of the inner for each
vertices by their height. The height of vertices strictly refers and while..do loops are disjoint; thus, we shall analyze their
to the TRO of a graph. Thus, it can be directly used for complexity separately.
the minimum coloring of a graph. At the bottom level (with The inner for each loop (lines 5–8) is executed at most
height/coluor equal to 1), there are sink vertices (vertices that |P| times and checks every transition at most twice; hence, its
have no outgoing arcs in relation F). The largest value of execution time is bounded by O(|P|+|T |). The while..do loop
height (color) is assigned to the vertices that have no incoming involves inner repeat..until and two for each loops. Clearly,
arcs. the for each loops (lines 37 and 38) are executed at most |T |
Clearly, the number of the recursive calls of function Color times. The repeat..until loop is performed at most |T | times,
is equal to |V |, and every arc is checked twice. There- since V holds all the transitions to be visited. It performs
fore, the computational complexity of the presented coloring a DFS with additional checking of the structural concurrency
method is bounded by O(|V | + |E|). relation, which can be executed in O((|P| + |T |)|P|) time.
If the structural concurrency graph is not a comparability Finally, the outer while..do loop is repeated for all the transi-
graph, then one of the approximation coloring algorithms tions in the set O; thus, it is bounded by O(|T |). Therefore,
should be used [42]. the execution of the whole while..do loop is bounded by
580 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 26, NO. 2, MARCH 2018
V. E XAMPLE
Let us illustrate the whole prototyping process by an
industrial example. We shall use a modified version of a
real-life concurrent control system, initially described in [63],
i.e., a beverage production and distribution machine presented
in Fig. 1.
The system works as follows. Initially, the machine remains
in an idle state. Pressing of a button on the operator console
(illustrated as input signal x 1 ) starts the production process.
Two valves (y1 and y2 ) are opened. Two containers (Con-
tainer 1 and Container 2) are filled with the liquid ingredients.
When the upper limit of Container 1 is reached (which
is signalized by sensor x 2 ), the liquid in this container is
warmed up (y4 ). Similarly, reaching of the upper bounds of
O(|P||T 2 |(|P| + |T |)). Now, we can formulate the following Container 2 (signalized by x 3 ) initializes the warm-up process
statement. of the second container (y5 ).
Statement 2: Supplementation of the decomposed compo- Simultaneously to the above-mentioned procedure, a cup is
nents with NOPs by Algorithm 2 takes time O(|P|2 |T |2 (|P|+ placed on the cart (y3 ), which is signalized by sensor x 4 . When
|T |)). the cup is placed, the cart moves to the left, until reaching the
From the above-mentioned analysis, the total computational leftmost position, indicated by sensor x 7 . The cup on the cart
complexity of the whole decomposition process can be calcu- is being warmed up (y11 ), waiting until the beverage is ready
lated. Let us recall all the partial results and their complexities: for distribution.
1) formation of the graph G C : O((|P| + |T |)5 ); When the liquid reaches the required temperature in any
2) TRO of G C : O(|E|δ(G)); of the containers (signalized by sensor x 5 for Container 1
WIŚNIEWSKI et al.: PROTOTYPING OF CONCURRENT CONTROL SYSTEMS 581
was used. The device was selected due to its integration with
the board Nexys 4 DDR. The input values of the prototyped
beverage production machine (set X) were specified by the
integrated switches, while outputs (set Y ) were assigned to
the LEDs of the board. The clock signal was connected
to the internal source (450 MHz). The logic synthesis and
implementation were performed by the tool Xilinx ISE 14.7.
Table I shows the utilization of the implemented system.
Particular components were realized as FSMs according to
the Xilinx recommendations [70]. In addition, internal states
of FSMs were encoded using the gray code to optimize the
number of used logic blocks. Indeed, the number of occupied
Fig. 7. Schema of the system (the synchronization signals are not shown). slices was reduced by one element in comparison to the
traditional natural binary encoding.
of a particular container (x 2 and x 3 ), the warming-up of the
ingredients is launched (y4 and y5 ). Meanwhile, the cart is VI. R ESULTS OF E XPERIMENTS
moving to the left (y3) until reaching the required position (x 4 ), The effectiveness of the proposed idea has been veri-
and so on. fied experimentally. To perform this, 111 benchmarks were
Finally, the system was implemented in a programmable checked. The library of test modules contains safe Petri nets
device. The XC7A100T FPGA (Artix-7 family) from Xilinx that describe hypothetical and real devices, processes, and
584 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 26, NO. 2, MARCH 2018
Such a process requires decomposition of the controller, which [24] R. Diestel, Graph Theory, 4th ed. New York, NY, USA: Springer-Verlag,
can be handled by the method proposed in this paper. 2010.
[25] A. Ellis, “System and method for maintaining n number of simultaneous
ACKNOWLEDGMENT cryptographic sessions using a distributed computing environment,”
U.S. Patent 6 484 257, Nov. 19, 2002.
The authors would like to thank the Associate Editor and [26] E. A. Emerson, “The beginning of model checking: A personal perspec-
anonymous reviewers for their constructive comments and tive,” in 25 Years of Model Checking: History, Achievements, Perspec-
tives, O. Grumberg and H. Veith, Eds. Berlin, Germany: Springer-Verlag,
helpful suggestions. 2008, pp. 27–45.
R EFERENCES [27] M. C. Golumbic, “The complexity of comparability graph recognition
and coloring,” Computing, vol. 18, no. 3, pp. 199–208, 1977.
[1] P. S. Andrews and J. Timmis, “Inspiration for the next generation [28] M. C. Golumbic, Algorithmic Graph Theory and Perfect Graphs.
of artificial immune systems,” in Artificial Immune Systems. Berlin, New York, NY, USA: Academic Press, 1980.
Germany: Springer, 2005, pp. 126–138. [29] I. Grobelna, “Formal verification of embedded logic controller specifica-
[2] M. Augin, F. Boeri, and C. Andre, “Systematic method of realization of tion with computer deduction in temporal logic,” Przeglad Elektrotech-
interpreted Petri nets,” Digit. Process., no. 6, vol. 1, pp. 55–68, 1980. niczny, vol. 87, no. 12, pp. 47–50, 2011.
[3] A. Aybar and A. Iftar, “Overlapping decompositions and expansions of
[30] I. Grobelna, M. Wiśniewska, R. Wiśniewski, M. Grobelny, and P. Mróz,
Petri nets,” IEEE Trans. Autom. Control, vol. 47, no. 3, pp. 511–515,
“Decomposition, validation and documentation of control process spec-
Mar. 2002.
ification in form of a Petri net,” in Proc. 7th Int. Conf. Human Syst.
[4] Z. Banaszak, J. Kuś, and M. Adamski, Petri Nets: Modeling, Control
Interact. (HSI), Lisbon, Portugal, 2014, pp. 232–237.
and Synthesis of Discrete Systems, (in Polish). Zielona Góra, Poland:
Higher School of Engineering Publishing House, 1993. [31] I. Grobelna, R. Wiśniewski, M. Grobelny, and M. Wiśniewski, “Design
[5] J. Bang-Jensen and G. Z. Gutin, Digraphs: Theory, Algorithms and and verification of real-life processes with application of Petri nets,”
Applications, 1st ed. New York, NY, USA: Springer, 2007. IEEE Trans. Syst., Man, Cybern., Syst., pp. 1–14, Mar. 2016. [Online].
[6] A. Barkalov and L. Titarenko, Logic Synthesis for FSM-Based Con- Available: http://dx.doi.org/10.1109/TSMC.2016.2531673
trol Units (Lecture Notes in Electrical Engineering), vol. 53. Berlin, [32] M. Habib, R. McConnell, C. Paul, and L. Viennot, “Lex-BFS and
Germany: Springer, 2009. partition refinement, with applications to transitive orientation, interval
[7] F. Basile and P. Chiacchio, “On the implementation of supervised control graph recognition and consecutive ones testing,” Theor. Comput. Sci.,
of discrete event systems,” IEEE Trans. Control Syst. Technol., vol. 15, vol. 234, nos. 1–2, pp. 59–84, 2000.
no. 4, pp. 725–739, Jul. 2007. [33] R. Hadjidj and H. Boucheneb, “On-the-fly TCTL model checking for
[8] G. Berthelot, “Checking properties of nets using transformation,” in time Petri nets,” Theor. Comput. Sci., vol. 410, no. 42, pp. 4241–4261,
Advances in Petri Nets (Lecture Notes in Computer Science), vol. 222. 2009.
London, U.K.: Springer-Verlag, 1986, pp. 19–40. [34] H. Hu, M. Zhou, and Z. Li, “Supervisor design to enforce production
[9] B. Berthomieu, F. Peres, and F. Vernadat, “Model checking bounded ratio and absence of deadlock in automated manufacturing systems,”
prioritized time Petri nets,” in Proc. 5th Int. Conf. Autom. Technol. IEEE Trans. Syst., Man, Cybern. A, Syst. Humans, vol. 41, no. 2,
Verification Anal. (ATVA), 2007, pp. 523–532. pp. 201–212, Mar. 2011.
[10] K. Bilinski, M. Adamski, J. M. Saul, and E. L. Dagless, “Petri-net-based [35] A. Karatkevich, Dynamic Analysis of Petri Net-Based Discrete Systems
algorithms for parallel-controller synthesis,” IEE Proc.-Comput. Digit. (Lecture Notes in Control and Information Sciences), vol. 356. Berlin,
Techn., vol. 141, no. 6, pp. 405–412, Nov. 1994. Germany: Springer-Verlag, 2007.
[11] B. Bérard, F. Cassez, S. Haddad, D. Lime, and O. Roux, “The expressive [36] A. Karatkevich, “On macroplaces in Petri nets,” in Proc. IEEE East-West
power of time Petri nets,” Theor. Comput. Sci., vol. 474, pp. 1–20, Design Test Symp. (EWDTS), Lviv, Ukraine, Oct. 2008, pp. 418–422.
Feb. 2013. [37] A. Karatkevich, “Reduction of SM-components in Petri nets,” (in
[12] S. Brown and Z. Vernesic, Fundamentals of Digital Logic With VHDL Polish), Przega˛d Telekomunikacyjny i Wiadomości Telekomunikacyjne,
Design. New York, NY, USA: McGraw-Hill, 2000. vol. 6. Warsaw, 2008, pp. 806–808.
[13] G. Bruno, R. Agarwal, A. Castella, and M. P. Pescarmona, “CAB: [38] A. Karatkevich and R. Wiśniewski, “Relation between SM-covers and
An environment for developing concurrent application,” in Proc. 16th SM-decompositions of Petri nets,” in Proc. 11th Int. Conf. Comput.
ICATPN, Jun. 1995, pp. 141–160. Methods Sciences Eng. (ICCMSE), Athens, Greece, 2015, pp. 1–4.
[14] J. Carmona and J. Cortadella, “State encoding of large asynchronous [39] A. Kovalyov, “Concurrency relation and the safety problem for Petri
controllers,” in Proc. 43rd ACM/IEEE Design Autom. Conf., Jul. 2006, nets,” in Proc. 13th Int. Conf. Appl. Theory Petri Nets, Jun. 1992,
pp. 939–944. pp. 299–309.
[15] M. Chen and R. Hofestädt, “Quantitative Petri net model of gene [40] A. Kovalyov, “A polynomial algorithm to compute the concurrency
regulated metabolic networks in the cell,” Silico Biol., vol. 3, no. 3, relation of a regular STG,” in Hardware Design and Petri Nets. Boston,
pp. 347–365, 2003. MA, USA: Springer, 2000, pp. 107–126.
[16] Y. Chen, Z. Li, and A. Al-Ahmari, “Nonpure Petri net supervisors [41] A. Kovalyov and J. Esparza, “A polynomial algorithm to compute the
for optimal deadlock control of flexible manufacturing systems,” IEEE concurrency relation of free-choice signal transition graphs,” in Proc.
Trans. Syst., Man, Cybern., Syst., vol. 43, no. 2, pp. 252–265, Mar. 2013. Int. Workshop WODES, 1995, pp. 1–6.
[17] C.-N. Chou, Y.-S. Ho, C. Hsieh, and C.-Y. Huang, “Symbolic model
[42] M. Kubale, Discrete Optimization: Models and Methods of Graph Col-
checking on SystemC designs,” in Proc. 49th ACM/EDAC/IEEE Design
oring, (in Polish). Warsaw, Poland: Wydawnictwa Naukowo Techniczne,
Autom. Conf. (DAC), Jun. 2012, pp. 327–333.
2002.
[18] S. Christensen and L. Petrucci, “Modular analysis of Petri nets,” Comput.
J., vol. 43, no. 3, pp. 224–242, Apr. 2000. [43] G. Łabiak, M. Adamski, M. Doligalski, J. Tkacz, and A. Bukowiec,
[19] E. M. Clarke, O. Grumberg, and D. Peled, Model Checking. Cambridge, “UML modelling in rogorous design methodology for discrete con-
MA, USA: MIT Press, 1999. trollers,” Int. J. Electron. Telecommun., vol. 58, no. 1, pp. 27–34, 2012.
[20] A. Costa, P. Barbosa, L. Gomes, F. Ramalho, J. Figueiredo, and [44] M. Ma, “Model checking for protocols using verds,” in Proc. 5th Int.
A. Junior, “Properties preservation in distributed execution of Petri nets Symp. Theor. Aspects Softw. Eng. (TASE), 2011, pp. 231–234.
models,” in Emerging Trends in Technological Innovation, vol. 314. [45] F. Maffray, “On the coloration of perfect graphs,” in Recent Advances in
Berlin, Germany: Springer, 2010, pp. 241–250. Algorithms and Combinatorics (CMS Books in Mathematics), vol. 11,
[21] A. Costa and L. Gomes, “Petri net partitioning using net splitting B. Reed and C. Sales, Eds. New York, NY, USA: Springer-Verlag, 2003,
operation,” in Proc. 7th IEEE Int. Conf. Ind. Inform. (INDIN), Cardiff, pp. 65–84.
U.K., Jun. 2009, pp. 24–26. [46] J. Martínez and M. Silva, “A simple and Fast Algorithm to Obtain all
[22] H. Costelha and P. Lima, “Petri net robotic task plan represen- invariants of a generalised Petri net,” in Application and Theory of Petri
tation: Modelling, analysis and execution,” in Autonomous Agents, Nets. London, U.K.: Springer-Verlag, 1982, pp. 301–310.
V. Kordic, Ed. Rijeka, Croatia: InTech, 2010, pp. 65–89. [47] T. Miyamoto et al., “Autonomous distributed secret sharing storage
[23] L. Dai and W. Guo, “Concurrent subsystem-component development system,” Syst. Comput. Jpn., vol. 37, no. 6, pp. 55–63, 2006.
model (CSCDM) for developing adaptive E-commerce systems,” in [48] L. Montano, F. J. García, and J. L. Villarroel, “Using the time Petri net
Computational Science and Its Applications, Berlin, Germany: Springer, formalism for specification, validation, and code generation in robot-
2007, pp. 81–91. control applications,” Int. J. Robot. Res., vol. 19, pp. 59–76, Jan. 2000.
586 IEEE TRANSACTIONS ON CONTROL SYSTEMS TECHNOLOGY, VOL. 26, NO. 2, MARCH 2018
[49] F. Moutinho and L. Gomes, “Asynchronous-channels within Petri net- [74] R. Zurawski and M. Zhou, “Petri nets and industrial applications:
based gals distributed embedded systems modeling,” IEEE Trans. Ind. A tutorial,” IEEE Trans. Ind. Electron., vol. 41, no. 6, pp. 567–583,
Informat., vol. 10, no. 4, pp. 2024–2033, Nov. 2014. Dec. 1994.
[50] T. Murata, “Petri nets: Properties, analysis and applications,” Proc. [75] M. Zwolinski, Digital System Design With VHDL. Boston, MA, USA:
IEEE, vol. 77, no. 4, pp. 548–580, Apr. 1989. Addison-Wesley, 2000.
[51] T. Nishi and R. Maeno, “Petri net modeling and decomposition method
for solving production scheduling problems,” J. Adv. Mech. Design, Remigiusz Wiśniewski received the Ph.D. degree
Syst., Manuf., vol. 1, no. 2, pp. 262–271, 2007. in computer science from the University of Zielona
[52] W. Penczek and A. Pólrola, Advances in Verification of Time Petri Nets Góra, Zielona Góra, Poland, in 2008.
and Timed Automata: A Temporal Logic Approach. Berlin, Germany: From 2000 to 2003, he was with Aldec, Inc.,
Springer, 2006. Henderson, NV, USA, where he conducted spe-
[53] A. Ramirez-Trevino, I. Rivera-Rangel, and E. Lopez-Mellado, “Observ- cialized trainings for companies, such as Xilinx,
ability of discrete event systems modeled by interpreted Petri nets,” IEEE San Jose, CA, USA, and Intel, Santa Clara, CA,
Trans. Robot. Autom., vol. 19, no. 4, pp. 557–565, Aug. 2003. USA. He is currently an Assistant Professor with
[54] A. Ramirez-Trevino, E. Ruiz-Beltran, I. Rivera-Rangel, and the Institute of Electrical Engineering, University of
E. Lopez-Mellado, “Online fault diagnosis of discrete event systems: A Zielona Góra. He is a Co-Founder and a Coordinator
Petri net-based approach,” IEEE Trans. Autom. Sci. Eng., vol. 4, no. 1, of the research project Hippo. His current research
pp. 31–39, Jan. 2007. interests include design of the concurrent systems, graphs, and hypergraphs,
[55] O. Ribeiro and J. Fernandes, “Translating synchronous Petri nets into cryptology, and field programmable gate arrays.
PROMELA for verifying behavioural properties,” in Proc. Int. Symp.
Ind. Embedded Syst. (SIES), 2007, pp. 266–273. Andrei Karatkevich received the M.Sc. and Ph.D.
[56] I. Rivera-Rangel, A. Ramírez-Treviño, and E. López-Mellado, “Building degrees in computer science from the Belarusian
reduced Petri net models of discrete manufacturing systems,” Math. State University of Informatics and Radioelectronics,
Comput. Model., vol. 41, nos. 8–9, pp. 923–937, Apr. 2005. Minsk, Belarus, in 1998, and the D.Sc. degree in
[57] A. Santone, V. Intilangelo, and D. Raucci, “Application of equiva- computer science from the Ilmenau University of
lence checking in a loan origination process in banking industry,” in Technology, Ilmenau, Germany.
Proc. Enabling Technol., Infrastruct. Collaborative Enterprises, 2013, He is currently a professor with the Faculty of
pp. 292–297. Computer, Electrical and Control Engineering, Uni-
[58] L. Stefanowicz, M. Adamski, and R. Wisniewski, “Application of an versity of Zielona Góra, Zielona Góra, Poland. His
exact transversal hypergraph in selection of SM-components,” in Tech- current research interests include formal analysis of
nological Innovation for the Internet of Things, Heidelberg, Germany: Petri nets and other parallel discrete systems, and
Springer, 2013, pp. 250–257. applications of the graph theory in logical design and Boolean algebra.
[59] J. Suk, Y. Lee, S. Kim, H. Koo, and J. Kim, “System identification and
stability evaluation of an unmanned aerial vehicle from automated flight Marian Adamski received the M.Sc. degree in
tests,” KSME Int. J., vol. 17, no. 5, pp. 654–667, 2003. electrical engineering from Poznań Technical Uni-
[60] M. Szpyrka, A. Biernacka, and J. Biernacki, “Methods of translation of versity, Poznań, Poland, the Ph.D. degree in control
Petri nets to NuSMV language,” in Proc. Int. Workshop Concurrency, and computer engineering from Silesian Technical
Specification Program. (CS&P), 2014, pp. 245–256. University, Gliwice, Poland, and the D.Sc. degree in
[61] D. Thomas and P. Moorby, The Verilog Hardware Description Language, computer engineering from the Warsaw University
5th ed. Norwell, MA, USA: Kluwer, 2002. of Technology, Warsaw, Poland.
[62] A. Tzes, S. Kim, and W. R. McShane, “Applications of Petri networks He is currently a Professor of Computer Engi-
to transportation network modeling,” IEEE Trans. Veh. Technol., vol. 45, neering. His current research interests include math-
no. 2, pp. 391–400, May 1996. ematical logic and Petri nets in digital systems
[63] R. Valette, “Comparative study of switching representation tool with design, and formal development of logic controller
GRAFCET and Petri nets,” Nouv. Autom., vol. 23, no. 12, pp. 377–382, programs, very high speed integrated circuits hardware description language,
Dec. 1978. Field Programmable Logic Device, and field programmable gate array in
industrial applications.
[64] W. van der Aalst, “Decomposing Petri nets for process mining: A generic
approach,” Distrib. Parallel Databases, vol. 31, no. 4, pp. 471–507,
Anikó Costa (M’08) received the Engineering
2013.
degree in electrical engineering from Czech Tech-
[65] R. Wiśniewski, Synthesis of Compositional Microprogram Control Units nical University in Prague, Prague, Czech Republic,
for Programmable Devices, vol. 14. Zielona Góra, Poland: Univ. Zielona in 1992, and the M.Sc. degree in informatics and the
Góra Press, 2009. Ph.D. degree in electrical engineering from the Nova
[66] R. Wiśniewski, Prototyping of Concurrent Control Systems Implemented University of Lisbon, Lisbon, Portugal, in 2003 and
in FPGA Devices (Advances in Industrial Control). Cham, Switzerland: 2010, respectively.
Springer, 2017. She is currently an Assistant Professor with the
[67] R. Wiśniewski, A. Barkalov, L. Titarenko, and W. Halang, “Design Faculty of Science and Technology, Nova University
of microprogrammed controllers to be implemented in FPGAs,” Int. J. of Lisbon. Her current research interests include
Appl. Math. Comput. Sci., vol. 21, no. 2, pp. 401–412, 2011. model-based development of embedded systems
[68] R. Wiśniewski, Ł. Stefanowicz, A. Bukowiec, and J. Lipiński, “The- using Petri nets and statechart, digital system design, and hardware–software
oretical aspects of Petri nets decomposition based on invariants and codesign.
hypergraphs,” in Multimedia and Ubiquitous Engineering (Lecture Notes
in Electrical Engineering), vol. 308. Berlin, Germany: Springer, 2014, Luís Gomes (SM’06) received the Electrotech.Eng.
pp. 371–376. degree from the Universidade Técnica de Lisboa,
[69] R. Wiśniewski, Ł. Stefanowicz, M. Wiśniewska, and D. Kur, “Exact Lisbon, Portugal, in 1981, and the Ph.D. degree in
cover of states in the discrete state-space system,” in Proc. AIP Conf., digital systems from the Nova University of Lisbon,
vol. 1702. 2015, p. 100007. Lisbon, in 1997.
[70] Xilinx FSM Style Implementation, accessed on Feb. 27, 2016. [Online]. From1984 to 1987, he was with EID, Charneca
Available: http://www.xilinx.com/support/docu-mentation/university/ise- de Caparica, Portugal, a Portuguese medium enter-
teaching/hdl-design/14x/nexys3/verilog/docs-pdf/lab10.pdf prise in the area of electronic system design. He is
[71] Xilinx Partial Reconfiguration Tutorial, accessed on Apr. 12, 2017. currently an Associate Professor with the Electrical
[Online]. Available: www.xilinx.com/support/documentation/sw_ Engineering Department, Faculty of Sciences and
manuals/xilinx14_1/ug702.pdf Technology, Nova University of Lisbon, and also
[72] D. A. Zaitsev, “Compositional analysis of Petri nets,” Cybern. Syst. a Researcher with the Uninova-Instituto Desenvolvimento De Novas Tec-
Anal., vol. 42, no. 1, pp. 126–136, 2006. nologias, Caparica, Portugal. His current interests include the usage of Petri
[73] A. Zakrevskij, Y. Pottosin, and L. Cheremisinova, Design of Logical nets and other concurrency models applied to reconfigurable and embedded
Control Devices. Moscow, Russia: TUT Press, 2009. systems codesign.