Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
1. Introduction
The observability is an important property of a Discrete-Event System (DES). Different frameworks have been proposed to face the problems related to the study of this property. In the finite automata (FA) framework, automatons are used for modelling a DES, and the analysis of properties is typically done by linguistic approaches. Mainly, the observability notions in the FA framework consist on dividing the automata language into equivalence classes. The control techniques consider that a specification is feasible to be implemented if the classes induced by the observability are finer than those induced by the controllability. This is a class of βstatic observabilityβ that does not consider the concept of an observer for progressively discover the systemβs state, as part of the control scheme [6]-[12].
In Vector Additive Systems (VAS) framework, similar approaches, as those used in FA, are applied. The plant is modelled as a system of vectors, while a set of linear inequalities are the specifications. In a similar way such as in FA, the observability notions require that if two different states of a VAS produce the same output signal, then they must require the same control action. Accordingly, the observability notion in a VAS produces results that are consistent to those of FA. Consequently, a VAS does not consider the notion of an observer for reconstructing the system state [13], [14]. The design of observers in Petri Nets (PN) framework has been addressed in a fewer
number of works than those presenting designs of controllers based on this modeling tool. In [16], the problem of discovering the marking of the net is addressed. The proposed scheme produces marking estimations, which are always a lower bound of the current marking of the net. In [17] and [18], the problem of discovering the marking of an Interpreted PN is considered. The sequence invariance and a geometrical approach are used for the analysis and observer design.
Some related works of the authors are reported in the literature. In [1] and [4], the authors state results about the observability analysis focused on the subclass of PNβs known as Free-choice nets. In [5], the authors show that a combination of a PN observer and a supervisor allows for addressing problems that has no solution with the solely use of a supervisor, as in [14] and [15]. In [3] and [2], a framework of practical interest based on Matlab/Simulink for the study of DES, including controllers and observers, is reported.
This work addresses the design of observers for a class of PN known as S-Nets. A Lyapunov criterion is proposed for the stability analysis. The major contributions of this paper are: a) polynomial algorithms for the observer construction; b) the use of a Lyapunov stability criterion for the observer characterization, and c) analysis of the stability region of the pair, system and observer.
The rest of this paper is organized as follows. Section 2 provides some background notions
Observers Design for Discrete-Event Systems Modelled by S-Nets
Raul CAMPOS-RODRIGUEZ, Mildreth ALCARAZ-MEJIA ITESO University, Periferico Sur # 8585, Tlaquepaque, 45604, Mexico. [email protected], [email protected].
Abstract: This paper addresses the design of observers for Discrete-Event Systems modelled by Output Petri nets. The observer is conceived as a copy of the system and a corrective term based on the execution trajectories. The observer performs a tracking of the transition sequence executed by the net. Based on this information, the observer is able to produce approximations of the initial and current state of the system. The focus is a subclass of Petri nets called S-Nets. A Lyapunov criterion is used for testing the stability of the herein proposed scheme. This criterion allows for proving that the observers are asymptotically stable and it supports characterizing the region of stability of the System/Observer pair, as well. An application example is developed through the paper to illustrate the results. Some graphs are provided to show the approximation error of the observer under different initial conditions. Keywords: Observer Design, Petri Nets, S-Nets, Discrete-Event Systems, Sequence Observer, Lyapunov Stability.
Studies in Informatics and Control, Vol. 26, No. 1, March 2017 http://www.sic.ici.ro 13
on PN and on the sequence detection in S-Nets. The major contribution of this work is in sections 3 and 4. Section 3 details the proposed observer scheme and the metric space for the measurement of its error. Section 4 proposes a
functional term based on the number of sequences that the observer is tracking at every step. It also shows that the observer satisfies the Lyapunov stability criteria. An example at the end of this section illustrates the developed technique. Section 5 provides the conclusions and finally, are the bibliographical references.
2. Background
This section shows basic PN notions, and briefly reviews the main results on sequence-detectability that are relevant for this work.
Output Petri Nets An OPN is a tuple (π΅π΅,ππ0,ππ) where π΅π΅ is a PN structure (ππ,ππ, πΌπΌ,ππ), ππ0 is the initial marking and ππ is the output function. For simplicity, π΅π΅ also stands for the incidence matrix of the PN structure. The pre-set β π‘π‘ππ and post-set π‘π‘ππ β of a transition π‘π‘ππ β ππ are as usual. Likewise, are the pre-set β ππππ and post-set ππππ β of a place ππππ β ππ. The operator β is extended in a natural way for sets. This work deals with well-formed nets, which in summary are strongly connected, conservative and repetitive nets [19]. The compact representation of a marking ππππ{π₯π₯ππππ} for ππππ(ππππ) = π₯π₯, with ππππ β ππ and π₯π₯ β β+, is as in [1]. The state equation of an OPN is:
ππππ+1 = ππππ + π΅π΅π’π’οΏ½β ππ , π¦π¦ππ = ππ(ππππ) (1)
The notation ππππ βπ‘π‘ππππππ+1 means that from ππππ
the transition π‘π‘ππ is fired reaching ππππ+1. A net is safe if βππππ β π π (π΅π΅,ππ0), it holds that ππππ(ππππ) β€1,βππππ β ππ, and non-safe otherwise. The length of a sequence of transitions ππ is denoted by |ππ|. This sequence or trajectory is denoted by ππ0 β
πππππ π .
As in the automata theory, ππβ denotes the Kleen closure of a sequence ππ, which extends in a natural way to sets [20]. The output word associated to a sequence ππ, defined as ππ(ππ) = ππ(ππππ)ππ(ππππ+1) β¦ππ(ππππ+ππ)ππ(ππππ+π π ), is the information that an external observer is able to detect from an OPN.
Thus, by (1) ππππππ+1 = ππππππ + πππ΅π΅π’π’οΏ½β ππ. The vector πππ΅π΅π’π’οΏ½β ππ, denoted by πππ΅π΅(π’π’οΏ½β ππ), is the change, or increment, in the system sensors due to the firing of π’π’ππ, which the observer tries approximate. Notice that it is possible πππ΅π΅οΏ½π‘π‘πποΏ½ = 0, while π΅π΅π‘π‘ππ β 0. The transition π‘π‘ππ is known as silent [11]. This class of transitions are out of the scope of this work. For additional notions about PN see [19].
Sequence Detectability in S-Nets This work is devoted to the design of an observer for tracking the transition sequence executed by an OPN. The Sequence-Detectability (SD) is a useful concept. An efficient solution for the SD is derived in [1] on Output S-System (OSS), as the one shown in Figure 1. A first step in the testing of the SD is the construction of the Event-Detectability (ED) table πΈπΈπ΅π΅. Given a safe OSS (π΅π΅,ππ0,ππ), with ππ = {π‘π‘1, β¦ , π‘π‘ππ}, πΈπΈπ΅π΅ is a square arrangement [ππ β 1 Γ ππ β 1], where columns represent transitions from π‘π‘1 to π‘π‘ππβ1 and rows represent transitions from π‘π‘2 to π‘π‘ππ. The entries of πΈπΈπ΅π΅, for 2 β€ ππ β€ ππ; 1 β€ ππ β€ ππ β 1; ππ < ππ, are defined as follows:
ππππ πππ΅π΅οΏ½π‘π‘πποΏ½ β πππ΅π΅οΏ½π‘π‘πποΏ½, π‘π‘βππππ πΈπΈπ΅π΅οΏ½π‘π‘ππ, π‘π‘πποΏ½ = β πππ‘π‘βππππππππππππ,πΈπΈπ΅π΅οΏ½π‘π‘ππ, π‘π‘πποΏ½ = β{π‘π‘π’π’, π‘π‘π£π£}βπ‘π‘π’π’ β (π‘π‘ππ β) β,βπ‘π‘π£π£ β οΏ½π‘π‘ππ βοΏ½ β
(2)
The Table 1 shows πΈπΈπ΅π΅ for the net in Figure 1. A further refinement of πΈπΈπ΅π΅ leads to the Sequence-Detectability (SD) table πΈπΈπ΅π΅π π . The entries of πΈπΈπ΅π΅π π
p11
p21
p31
p41
p51
p61
p71
p81
p91
p101
p22
p32
p42
p52
p62
p72
p82
p92
p12
p13
p23
p33
p43
p53
p63
p73
p83
p14
p24
p34
p44
p54
p64
p74
p15
p25
p35
p45
p55
p65
t21
t31
t41
t51
t61
t71
t81
t91
t101
t11
t111 t10
2
t12
t22
t32
t42
t52
t62
t72
t82
t92
t13
t23
t33
t43
t53
t63
t73
t83
t93
t14
t24
t34
t44
t54
t64
t74
t84
t15
t25
t35
t45
t55
t65
t75
p16
J
C
F
H
L
A2
D/A1
A1
C
F
G/A2
I/A2
K/A2
A3
A5A4
C
D/A3
G/A1
I/A1
K/A1
F
G/A3
H
I/A3
J
C
D/A5
F
H
G/A5
D/A2
H
J
C
D/A4
F
G/A4
H
I/A4
Z
Figure 1. A well-formed OSS.
http://www.sic.ici.ro Studies in Informatics and Control, Vol. 26, No. 1, March 2017 14
are obtained from the entries in πΈπΈπ΅π΅ by a repetitive procedure as follows:
πΈπΈπ΅π΅π π οΏ½π‘π‘ππ, π‘π‘πποΏ½ = πΈπΈπ΅π΅οΏ½π‘π‘ππ, π‘π‘πποΏ½ β (π‘π‘π’π’, π‘π‘π£π£) ππππππ πΈπΈπ΅π΅(π‘π‘π’π’, π‘π‘π£π£) = β ππππππ πππππ‘π‘β,β π‘π‘ππ β©β π‘π‘ππ = β ππππππ π‘π‘ππ ββ© π‘π‘ππ β= β
(3)
The definition (3) is recursively applied until no new empty entries appear. In [1], the authors shown that the non-empty entries in πΈπΈπ΅π΅π π lead to circuits of transitions, denoted by ΞπΈπΈπ΅π΅π π , that are closely related to the SD of the net. Theorem 1. A safe OSS (π΅π΅,ππ0,ππ) is SD if and only if ΞπΈπΈπ΅π΅π π = β . β Proposition 1. Let πΈπΈπ΅π΅π π be the SD table of the OSS (π΅π΅,ππ0,ππ). Then, for any nonempty entry πΈπΈπ΅π΅π π οΏ½π‘π‘ππ, π‘π‘βοΏ½ there exist a pair of circuits, say ππππ and ππβ, such that πποΏ½πππποΏ½ = ππ(ππβ). β When an OSS is non-safe, the results of the safe nets have to be extended. Theorem 2. Let (π΅π΅,ππ0,ππ) be a non-safe OSS. Then, the net is SD if and only if πΈπΈπ΅π΅ is empty. β
Observability in S-Nets Besides the tracking of the transition sequence of an OSS, in some cases, the observer is able to determine the marking of the net. Informally, an OPN (π΅π΅,ππ0,ππ) is observable if its initial and current markings, ππ0 and πππ π respectively, could be determined in finite time, by using the information of the output word ππ(ππ) and the structure of (π΅π΅,ππ0,ππ). The Firing-Vector-Detectability (FVD) and the
Marking-Detectability (MD) are sufficient conditions for the Observability in a PN. Proposition 2. An OPN (π΅π΅,ππ0,ππ), which is FVD and MD, is Observable. β For the case of OSS nets, the ED and the SD lead to efficient solutions of the FVD and the MD. Proposition 3. If a well-formed and safe OSS (π΅π΅,ππ0,ππ) is SD then, it is also MD. β Thus, the next holds for the observability. Corollary 1. If a well-formed and safe OSS is SD, then it is observable. When the OSS is non-safe, the next theorem shows how πΈπΈπ΅π΅ allows for testing the SD. Theorem 3. Let (π΅π΅,ππ0,ππ) be a non-safe OSS. Then, the net is SD if and only if πΈπΈπ΅π΅ is empty. β The SD, as in the case of safe nets, does not directly imply the MD in a non-safe OSS. Theorem 4. A non-safe OSS (π΅π΅,ππ0,ππ) is MD if and only if ππππππππ = β . β Corollary 2. Let (π΅π΅,ππ0,ππ) be a non-safe OSS. Then (π΅π΅,ππ0,ππ) is observable if and only if kerππ = β . β
3. Observer Design
Consider Figure 2, which depicts the block diagram of the proposed observer scheme. The observer is designed as a copy of the system plus a corrective term, as shown.
Table 1. Event-Detectability table of a well-formed OSS.
t21 { }
t31 { } { }
t41 { } { } { }
t51 { } { } { } { }
t61 { } { } { } { } { }
t71 { } { } { } { } { } { }
t81 { } { } { } { } { } { } { }
t91 { } { } { } { } { } { } { } { }
t101 { } { } { } { } { } { } { } { } { }
t111 { } { } { } { } { } { } { } { } { } { }
t121 { } { } { } { } { } { } { } { } { } { } { }
t12 { } { } { } { } { } { } { } { } { } { } { } { }
t22 { } { } { } { } { } { } { } { } { } { } { } { } { }
t32 { } { } {t4
2,t41} { } { } { } { } { } { } { } { } { } { } { }
t42 { } { } { } {t5
2,t51} { } { } { } { } { } { } { } { } { } { } { }
t52 { } { } { } { } {t6
2,t61} { } { } { } { } { } { } { } { } { } { } { }
t62 { } { } { } { } { } {t7
2,t71} { } { } { } { } { } { } { } { } { } { } { }
t72 { } { } { } { } { } { } {t8
2,t81} { } { } { } { } { } { } { } { } { } { } { }
t82 { } { } { } { } { } { } { } {t9
2,t91} { } { } { } { } { } { } { } { } { } { } { }
t92 { } { } { } { } { } { } { } { } {t10
2,t101} { } { } { } { } { } { } { } { } { } { } { }
t102 { } { } { } { } { } { } { } { } { } {t11
2,t111} { } { } { } { } { } { } { } { } { } { } { }
t112 { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { }
t13 { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { }
t23 { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { }
t33 { } { } {t4
3,t41} { } { } { } { } { } { } { } { } { } { } { } {t4
3,t42} { } { } { } { } { } { } { } { } { } { }
t43 { } { } { } {t5
3,t51} { } { } { } { } { } { } { } { } { } { } { } {t5
3,t52} { } { } { } { } { } { } { } { } { } { }
t53 { } { } { } { } {t6
3,t61} { } { } { } { } { } { } { } { } { } { } { } {t6
3,t62} { } { } { } { } { } { } { } { } { } { }
t63 { } { } { } { } { } {t7
3,t71} { } { } { } { } { } { } { } { } { } { } { } {t7
3,t72} { } { } { } { } { } { } { } { } { } { }
t73 { } { } { } { } { } { } {t8
3,t81} { } { } { } { } { } { } { } { } { } { } { } {t8
3,t82} { } { } { } { } { } { } { } { } { } { }
t83 { } { } { } { } { } { } { } {t9
3,t91} { } { } { } { } { } { } { } { } { } { } { } {t9
3,t92} { } { } { } { } { } { } { } { } { } { }
t93 { } { } { } { } { } { } { } { } {t10
3,t101} { } { } { } { } { } { } { } { } { } { } { } {t10
3,t102} { } { } { } { } { } { } { } { } { } { }
t103 { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { }
t14 { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { }
t24 { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { }
t34 { } { } {t4
4,t41} { } { } { } { } { } { } { } { } { } { } { } {t4
4,t42} { } { } { } { } { } { } { } { } { } { } {t4
4,t43} { } { } { } { } { } { } { } { } { }
t44 { } { } { } {t5
4,t51} { } { } { } { } { } { } { } { } { } { } { } {t5
4,t52} { } { } { } { } { } { } { } { } { } { } {t5
4,t53} { } { } { } { } { } { } { } { } { }
t54 { } { } { } { } {t6
4,t61} { } { } { } { } { } { } { } { } { } { } { } {t6
4,t62} { } { } { } { } { } { } { } { } { } { } {t6
4,t63} { } { } { } { } { } { } { } { } { }
t64 { } { } { } { } { } {t7
4,t71} { } { } { } { } { } { } { } { } { } { } { } {t7
4,t72} { } { } { } { } { } { } { } { } { } { } {t7
4,t73} { } { } { } { } { } { } { } { } { }
t74 { } { } { } { } { } { } {t8
4,t81} { } { } { } { } { } { } { } { } { } { } { } {t8
4,t82} { } { } { } { } { } { } { } { } { } { } {t8
4,t83} { } { } { } { } { } { } { } { } { }
t84 { } { } { } { } { } { } { } {t9
4,t91} { } { } { } { } { } { } { } { } { } { } { } {t9
4,t92} { } { } { } { } { } { } { } { } { } { } {t9
4,t93} { } { } { } { } { } { } { } { } { }
t11 t2
1 t31 t4
1 t51 t6
1 t71 t8
1 t91 t10
1 t111 t12
1 t12 t2
2 t32 t4
2 t52 t6
2 t72 t8
2 t92 t10
2 t112 t1
3 t23 t3
3 t43 t5
3 t63 t7
3 t83 t9
3 t103 t1
4 t24 t3
4 t44 t5
4 t64 t7
4
Studies in Informatics and Control, Vol. 26, No. 1, March 2017 http://www.sic.ici.ro 15
Definition 1. Let (π΅π΅,ππ0,ππ) be the OPN as in (1). The equation of the Observer (π΅π΅,πποΏ½0,ππ) is:
πποΏ½ππ+1 = πποΏ½ππ + π΅π΅π’π’οΏ½β ππ + β(π¦π¦οΏ½ππ β π¦π¦ππ)π¦π¦οΏ½ππ = πππποΏ½ππ
(4)
The term β(π¦π¦οΏ½ππ β π¦π¦ππ) is denoted as βππ where no confusion arises. The error ππππ between the system and the observer is ππππ = πποΏ½ππ βππππ. Hence, ππππ+1 = πποΏ½ππ+1 βππππ+1. From (1) and (4), ππππ+1 = πποΏ½ππ + π΅π΅π’π’οΏ½β ππ + βπποΏ½πππποΏ½ππ β πππππποΏ½ β(ππππ + π΅π΅π’π’οΏ½β ππ). By expanding and rearranging the terms, it leads to ππππ+1 = οΏ½πποΏ½ππ βπππποΏ½ ββπππποΏ½πποΏ½ππ βπππποΏ½ = ππππ β βππππππππ. Thus, the equation defining the dynamics of the error system for Figure 2 is as follows: ππππ+1 = (1 β βππππ)ππππ (5)
The initial error in (5) is ππ0 = πποΏ½0 βππ0, where πποΏ½0 is an initial estimation, or βguessβ, of the observer. In order to emphasize the initial error ππ0, let (πΈπΈ, ππ0) denotes the system (5). Notice that a βtrajectoryβ, say ππππ β
ππππππππ+1, occurs in (5)
if and only if ππππ = πποΏ½ππ βππππ and ππππ+1 =πποΏ½ππ+1 βππππ+1, such that πποΏ½ππ β
βοΏ½π΅π΅,πποΏ½0οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½:πποΏ½ππ βπποΏ½πππποΏ½ππ+1 and ππππ β
β(π΅π΅,ππ0)οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½:ππππ βππππππππ+1. Let β(πΈπΈ, ππ0) be the set
of all the trajectories of (5). In this context, we say that ππππ β β(πΈπΈ, ππ0) corresponds to ππππ and πποΏ½ππ in the system and observer, respectively. Thus, a sequence in (5) may be empty, single or infinite, where β(πΈπΈ, ππ0)οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ is the middle set of β(πΈπΈ, ππ0), as with an OPN.
Observer Metrics In order to measure the error of the system (5), the following notions are considered. Let ππ be the number of places of the OPN (π΅π΅,ππ0,ππ). The Manhattan distance ππ of π’π’, π£π£ β βππ, here denoted by βπ’π’ β π£π£β, is defined as usual:
ππ(π’π’, π£π£) = οΏ½ |π’π’(ππ) β π£π£(ππ)|ππ
ππ=1 (6)
The distance from an element π’π’ β βππ to a set ππ β βππ is ππ(π’π’,ππ) = min{βπ’π’ β π£π£β:π£π£ β ππ}. Definition 2. The r-neighbourhood of a subset β³ β βππ is ππ(β³, ππ) βΆ= {ππ β βππ: 0 <βπ’π’ β π£π£β < ππ} for some ππ > 0. Since ππ is defined in βππ, then it is supposed that ππ β β€+. The subset β³ β βππ is said to be invariant w.r.t. (πΈπΈ, ππ0), if firstly, ππ0 β β³, where ππ0 = οΏ½πποΏ½0 βππ0οΏ½. Secondly, βππππ β βππ
such that ππ0 βππππππππ. Then, necessarily ππππ β β³,
for every ππ > 0, whenever exists an infinite sequence πΎπΎ in (5), that follows from ππππ, i.e., ππ0 β
ππππππππ β
πΎπΎβ―. Notice that πΎπΎ implies the
existence of infinite sequences, say πΌπΌ and π½π½, such that ππππΞ± β β(π΅π΅,ππ0) and πποΏ½πππ½π½ ββοΏ½π΅π΅,πποΏ½0οΏ½, respectively, where ππππ and πποΏ½ππ are related to ππππ. In other words, a subset β³ β βππ is invariant w.r.t. (πΈπΈ, ππ0) if a) ππ0 belongs to β³ and, b) for any ππππ βreachableβ from ππ0 by a finite trajectory ππππ ,ππ β₯ 0, then ππππ also belongs to β³, whenever exist an infinite trajectory πΎπΎ βfollowing toβ ππππ in (πΈπΈ, ππ0). Notice that if an OSS (π΅π΅,ππ0,ππ) is well-formed, then for every ππ β β(π΅π΅,ππ0): |ππ| < β, it always exists another infinite sequence, say πΌπΌ β β(π΅π΅,ππ0)οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, such that πππΌπΌ β β(π΅π΅,ππ0) (by Prop. 8.2 Home markings of live S-Nets [19]). Thus, the later requirement is trivially satisfied. Suppose that the structure (π΅π΅,ππ0,ππ) of the OSS is known and the net is SD. Thus, if ππ0 =0, i.e. ππ0 = πποΏ½0, then ππππ+1 = 0 for any ππ β₯ 0. On the contrary, suppose that for some ππ > 0, where ππππ β
ππππππππ+1 for ππππ β β(πΈπΈ, ππ0)οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½, with ππππ =
0 and |ππππ| = 1, it holds that ππππ+1 > 0. Then,
there must exist πποΏ½ππ β βοΏ½π΅π΅,πποΏ½0οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½:πποΏ½ππ βπποΏ½πππποΏ½ππ+1
and
ππππ β β(π΅π΅,ππ0)οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½:ππππ βππππππππ+1, where |πποΏ½ππ| = 1
and |ππππ| = 1, with ππππ = ππππ βπποΏ½ππ and ππππ+1 =πποΏ½ππ+1 βππππ+1, corresponding to ππππ. Let say, without loss of generality, that ππππ = π‘π‘ππ and πποΏ½ππ = οΏ½ΜοΏ½π‘ππ. Thus, since ππππ+1 > 0, it implies that πποΏ½ππ+1 β ππππ+1. But, the structure of the OSS (π΅π΅,ππ0,ππ) is known, and since the observer has wrongly computed πποΏ½ππ+1 when ππππ = 0, this directly implies that there must exists in the net at least one transition besides of π‘π‘ππ, say π‘π‘ππβ² β ππ, such that πππ΅π΅(π‘π‘ππβ² ) = πππ΅π΅(π‘π‘ππ) where [ππππβ©π‘π‘ππβ² , and [ππππβ©π‘π‘ππ. However, if the net is safe,
Mk+1 = Mk + Buk ΟMk
ek
yk
Mk+1 = Mk + Buk + l(yk - yk)Mk
-+
Ο
-+
^ ^^
uk
yk^
Observer
^
System
Figure 2. Observer Scheme
http://www.sic.ici.ro Studies in Informatics and Control, Vol. 26, No. 1, March 2017 16
then β π‘π‘ππβ² =β π‘π‘ππ, which directly contradicts the SD of the net. On the other hand, if the OSS is non-safe, then πππ΅π΅(π‘π‘ππβ² ) = πππ΅π΅(π‘π‘ππ) directly contradicts the ED of the net. Thus, οΏ½0οΏ½β οΏ½ is invariant w.r.t. (πΈπΈ, ππ0), as stated. The Lyapunov stability criterion for (πΈπΈ, ππ0), valid in the metric space (βππ,ππ), is as follows. Definition 3. A closed invariant set β³ β βππ of the error system (5) is stable in the sense of Lyapunov w.r.t. β(πΈπΈ, ππ0), if for every ππ > 0, it is possible to find πΏπΏ > 0, such that whenever ππ(ππ0,β³) < πΏπΏ, it holds that ππ(ππππ ,β³) < ππ, where ππ0 β
ππππππππ, for all ππ > 0. If furthermore,
ππ(ππππ ,β³) β 0 as ππ β β, then β³ is asymptotically stable. The region of asymptotic stability of β³ is the subset β³ππ β βππ of all οΏ½Μ οΏ½π0 β βππ for which β³ is asymptotically stable. The next theorem provides a necessary and sufficient condition to verify asymptotic stability in a neighbourhood of (πΈπΈ, ππ0). See [21] for the formal proof. Theorem 5. Let (πΈπΈ, ππ0) be the error system in (5) and let β³ = οΏ½0οΏ½β οΏ½. Then, β³ is asymptotically stable in the sense of Lyapunov w.r.t. β(πΈπΈ, ππ0) if and only if in a sufficiently small neighbourhood ππ(β³, ππ), there exist a functional ππππ fulfilling:
i. For all sufficiently small ππ1 > 0 it is possible to find a ππ2 > 0, such that when ππππ > ππ2 it holds that ππ(ππππ ,β³) >ππ1 for ππππ β ππ(β³, ππ);
ii. For any ππ4 > 0 as small as required, it is possible to find a ππ3 > 0 so small such that when ππ(ππππ ,β³) < ππ3 it holds that ππππ β€ ππ4 for ππππ β ππ(β³, ππ);
iii. ππππ is a non-increasing function for all ππ > 0, as long as ππ0 β
ππππππππ with ππππ β
ππ(β³, ππ) for which exist an infinite trajectory πΎπΎ such that ππ0 β
ππππππππ β
πΎπΎβ―;
iv. Moreover, ππππ β 0 as ππ β β.
The election of the functional ππππ is the key element in the observer design for the stability testing.
This paper proposes a functional that is based in the number of transitions sequences that the term βππ, shown in Figure 2 as part of the observer, is tracking at every ππ. Before the formal analysis, some intuitive ideas are given in the following example.
Example 1. Consider that the initial state of the OSS in Figure 1 is ππ0{ππ21} and that its respective output is π¦π¦0{πΆπΆ}. The net includes dashed tokens and output signals after a slash that will be used in a later example. With a simple examination, it is easy to see that the markings ππ0{ππ21}, ππ0{ππ22}, ππ0{ππ23}, ππ0{ππ24} and ππ0οΏ½ππ25οΏ½ all produce the same output π¦π¦0{πΆπΆ}. Let οΏ½πποΏ½οΏ½0 = ππ0{ππ21} + ππ0{ππ22} + ππ0{ππ23} + ππ0{ππ24} + ππ0οΏ½ππ25οΏ½ be the observer estimation. Thus, at ππ = 0, the distance of the observer estimation and the system state is four, i.e. ππ0 = 4. Now, suppose that π‘π‘31 is fired at ππ = 1. The output is now π¦π¦1{π·π·}. Notice that πππ΅π΅(π‘π‘31) =πππ΅π΅(π‘π‘32) = πππ΅π΅(π‘π‘33) = πππ΅π΅(π‘π‘34) = πππ΅π΅οΏ½π‘π‘35οΏ½. Indeed, all of these transitions are enabled at οΏ½πποΏ½οΏ½0. Therefore, at ππ = 1, the observer computes the possible executed sequences as ππ1 = π‘π‘31, ππ2 = π‘π‘32, ππ3 = π‘π‘33, ππ4 = π‘π‘34 and ππ5 =π‘π‘35. Letβs denote the set of these sequences as {πποΏ½}1. Corresponding to {πποΏ½}1, the observer computes the possible reached markings as those with one token in the places with subscript three, i.e. from ππ1{ππ31} to ππ1οΏ½ππ35οΏ½. Let οΏ½πποΏ½οΏ½1 = ππ1{ππ31} + β―+ ππ1οΏ½ππ35οΏ½ be the summation of these markings. At this point, the observer does not improve the state estimations, i.e. the error remains the same. This is an important characteristic of the SD of an OSS, that is, it is possible that the estimations do not improve at every event execution. In this case, ππ1 = 4 = ππ0. However, the estimations must improve in a finite number of events until they match to the system. Indeed, suppose that π‘π‘41 is fired, at ππ = 2 and the output changes to π¦π¦2 = {πΉπΉ}. Notice that πππ΅π΅(π‘π‘41) = πππ΅π΅(π‘π‘42) = πππ΅π΅(π‘π‘43) = πππ΅π΅(π‘π‘44) =πππ΅π΅οΏ½π‘π‘45οΏ½. By using this new information, the observer is able to update the set of possible executed sequences to {πποΏ½}2 = { ππ1,ππ2,ππ3,ππ4,ππ5,ππ6,ππ7,ππ8}, where ππ1 = π‘π‘31π‘π‘41, ππ2 = π‘π‘32π‘π‘42, ππ3 = π‘π‘33π‘π‘43, ππ4 = π‘π‘34π‘π‘44, ππ5 = π‘π‘35π‘π‘45, ππ6 = π‘π‘36π‘π‘46, ππ7 = π‘π‘37π‘π‘47, and ππ8 =π‘π‘38π‘π‘48. At this point, the observer is able to discard ππ9, since πππ΅π΅(π‘π‘49) β πππ΅π΅(π‘π‘41). Hence, the possible reached marking οΏ½πποΏ½οΏ½2, is that with a token on places with subscript four, from ππ2{ππ41} to ππ2{ππ38}. Notice that now, |{πποΏ½}2| < | {πποΏ½}1|, and accordingly, ππ2 β€ ππ1.
Studies in Informatics and Control, Vol. 26, No. 1, March 2017 http://www.sic.ici.ro 17
The next section proposes a functional term based on the number of transition sequences tracked by the observer, which satisfies the Lyapunov stability criterion.
4. Observer Stability Analysis
Generalizing the idea in the example of the previous section, let π¦π¦ππ be the ππ β π‘π‘β system output and {πποΏ½}ππ be the possible sequences executed by the system. Notice that the number of possible transition sequences that the observer may track does not necessarily decrease at every transition firing, as stated. However, this paper shows that for any evolution of the system of length ππ, with a corresponding set of possible fired transition sequences {πποΏ½}ππ, there exist a finite integer ππ such that |{πποΏ½}ππ+ππ| < |{πποΏ½}ππ|. To this aim, consider the following definition for the corrective term of the scheme in Figure 2.
Definition 4. Let (π΅π΅,ππ0,ππ) be a SD and well-formed OSS, where ππ0 is probably unknown. Let π¦π¦0 be the initial output of the system. Let πποΏ½0 = ππβ²π¦π¦0 be the initial estimation for the observer by (5). Let οΏ½πποΏ½οΏ½0 = πποΏ½0 = οΏ½πποΏ½οΏ½ππ be the estimations of the initial and current markings. Define βππ as follows:
(first step) For ππ = 1:
i. Let π¦π¦1 be the first output of the system and let Ξπ¦π¦1 = π¦π¦1 β π¦π¦0. Let οΏ½πποΏ½οΏ½1 =οΏ½π‘π‘ππ β ππ:πππ΅π΅οΏ½π‘π‘πποΏ½ = Ξπ¦π¦1οΏ½ be the first set of single transitions that have been probably fired;
ii. Let {πποΏ½}1 = βππππ where ππππ = π‘π‘ππ for π‘π‘ππ β
οΏ½πποΏ½οΏ½1, such that οΏ½οΏ½πποΏ½οΏ½0οΏ½ ππππ;
iii. Let β1 = β(ππβ²π¦π¦0) + βπ΅π΅+ππππ :ππππ β οΏ½πποΏ½οΏ½1;
iv. Optionally, update the internal variables οΏ½πποΏ½οΏ½0 = οΏ½πποΏ½οΏ½0 β ππβ²π¦π¦0 + βπ΅π΅βππππ :ππππ β οΏ½πποΏ½οΏ½1 and οΏ½πποΏ½οΏ½ππ = οΏ½πποΏ½οΏ½ππ β ππβ²π¦π¦0 +βπ΅π΅+ππππ :ππππ βοΏ½πποΏ½οΏ½1;
(iteration) For ππ > 1: i. Let π¦π¦ππ be the ππ β π‘π‘β system output and let
Ξπ¦π¦ππ = π¦π¦ππ β π¦π¦ππβ1. Let οΏ½πποΏ½οΏ½ππ =οΏ½π‘π‘ππ β ππ:πππ΅π΅οΏ½π‘π‘πποΏ½ = Ξπ¦π¦πποΏ½;
ii. If οΏ½οΏ½πποΏ½οΏ½πποΏ½ = 1 then {πποΏ½}ππ = πππ‘π‘ππ, for {ππ} ={πποΏ½}ππβ1 and π‘π‘ππ β οΏ½πποΏ½οΏ½ππ;
iii. Otherwise, if οΏ½οΏ½πποΏ½οΏ½πποΏ½ > 1, let {πποΏ½}ππ = βπππ‘π‘ππ for ππ = πππ‘π‘ππ β {πποΏ½}ππβ1 and π‘π‘ππ β οΏ½πποΏ½οΏ½ππ, such
that οΏ½οΏ½πποΏ½οΏ½ππβ1οΏ½ π‘π‘ππ;
iv. Let {πποΏ½}οΏ½οΏ½οΏ½οΏ½ππ = {πποΏ½}ππβ1 β {πποΏ½}ππ, i.e., the set of those elements in {πποΏ½}ππβ1 not used in {πποΏ½}ππ;
v. Let βππ+ = βπ΅π΅+π‘π‘ππ and βππβ = βπ΅π΅βπ‘π‘ππ for πππ‘π‘ππ β {πποΏ½}ππ;
vi. Let βππβοΏ½οΏ½οΏ½ = βπ΅π΅βπ‘π‘ππ for π‘π‘ππππ β {πποΏ½}οΏ½οΏ½οΏ½οΏ½ππ;
vii. Let βππ = βππ+ β οΏ½βππβ + βππβοΏ½οΏ½οΏ½οΏ½ be the ππ β π‘π‘β correction element;
viii. Optionally, update οΏ½πποΏ½οΏ½0 = οΏ½πποΏ½οΏ½0 ββ(π¦π¦ππ)βοΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ and οΏ½πποΏ½οΏ½ππ = οΏ½πποΏ½οΏ½ππ + βππ.
Clearly, the element {πποΏ½}ππ track the transition sequences that the system has been probably fired at every ππ > 0. Notice that in the
Figure 3. Error in the Observer estimations in a safe well-formed OSS.
http://www.sic.ici.ro Studies in Informatics and Control, Vol. 26, No. 1, March 2017 18
construction of {πποΏ½}ππ some sequences in {πποΏ½}ππβ1 may be discarded. Thus, if {πποΏ½}ππ is a singleton (point ii in the iteration stage), then the transitions sequence is completely known. Besides, three parts comprise the corrective term, in such a way that the observer estimations approach to the system state, and at the same time, the initial state could be progressively updated. The last part is not required; however, it is included since its computation is direct from the definition of the corrective term.
Let ππππ β |{πποΏ½}ππ|β 1 be the functional for the Lyapunov stability analysis. That is, the number of sequences in {πποΏ½}ππ minus one. Thus, if |{πποΏ½}ππ| = 1 then ππππ = 0. This make sense because under such a condition, the error in the sequence estimation is zero. Intuitively, {πποΏ½}ππ tends to be a singleton as the events occurrence increase. However, it could be the case that the size of {πποΏ½}ππ does not decrease at each transition firing. Moreover, if the net is safe, the knowledge of the transition sequence leads to a zero error in the estimated state, as established in [1].
Additionally, as highlighted, if the system state is known from the beginning, then the tracking sequence is unique. Thus, trivially |{πποΏ½}0| = 1 and ππ0 = |{πποΏ½}0| β 1 = 0, as expected. Furthermore, πποΏ½0οΏ½β , οΏ½0οΏ½β οΏ½οΏ½ = 0 for every ππ β₯ 0, and οΏ½0οΏ½β οΏ½ is a closed invariant set of the error system (πΈπΈ, ππ0) represented by (5), as previously analysed. Thus, the next theorem shows that ππππ fulfils the Lyapunov stability requirements.
Theorem 6. Let (π΅π΅,ππ0,ππ) be a well-formed OSS, where ππ0 is probably unknown. Let (π΅π΅,πποΏ½0,ππ) be the observer defined by (4), where the initial output is π¦π¦0, and the corresponding initial estimation is πποΏ½0 = ππβ²π¦π¦0. Let (πΈπΈ, ππ0) be the error system in (5), where the initial error is ππ0 = οΏ½πποΏ½0 βππ0οΏ½. Let ππ =βππ0β β 1 = πποΏ½πποΏ½0,ππ0οΏ½ β 1 and let β³ = οΏ½0οΏ½β οΏ½. Then ππππ satisfies the Theorem 5 in the vicinity ππ(β³, ππ).
Proof:
i. Without loose of generality, let ππ1 > 0 be sufficiently small such that βππππ β ππ(β³, ππ) where ππππ > ππ2 with ππ2 β₯ ππ1 + 1. Then, it must be the case that ππ(ππππ ,β³) > ππ1. On the contrary, suppose that ππ(ππππ ,β³) β€ ππ1. Then, ππ(ππππ ,β³) β€ ππ2 β 1, since
ππ1 β€ ππ2 β 1. Moreover, as β³ = οΏ½0οΏ½β οΏ½, then ππ(ππππ ,β³) = βππππβ. Thus, βππππβ β€ ππ2 β 1, or βππππβ+ 1 β€ ππ2. But βππππβ =οΏ½πποΏ½ππ βπππποΏ½ for every ππ β₯ 0. Hence οΏ½πποΏ½ππ βπππποΏ½+ 1 β€ ππ2 or οΏ½πποΏ½ππ βπππποΏ½ <ππ2. By construction οΏ½πποΏ½ππ βπππποΏ½ β₯ 0 for every ππ β₯ 0. Thus, it immediately follows that the number of entries in οΏ½πποΏ½ππ βπππποΏ½, which are different from zero, is strictly less than ππ2. On the other hand, Then, ππ(ππππ ,β³) β€ ππ2 β 1, since ππ1 β€ ππ2 β 1. Moreover, as β³ = οΏ½0οΏ½β οΏ½, then ππ(ππππ ,β³) =βππππβ. Thus, βππππβ β€ ππ2 β 1, or βππππβ+1 β€ ππ2. But βππππβ = οΏ½πποΏ½ππ βπππποΏ½ for every ππ β₯ 0. Hence οΏ½πποΏ½ππ βπππποΏ½+ 1 β€ ππ2 or οΏ½πποΏ½ππ βπππποΏ½ < ππ2. By construction οΏ½πποΏ½ππ βπππποΏ½ β₯ 0 for every ππ β₯ 0. Thus, it immediately follows that the number of entries in οΏ½πποΏ½ππ βπππποΏ½, which are different from zero, is strictly less than ππ2. On the other hand, the computation of πποΏ½ππ depends on πποΏ½ππβ1 and βππ. Furthermore, the terms βππ+ and βππβ are computed from {πποΏ½}ππ as in Definition 4, where the term βππβοΏ½οΏ½οΏ½ computed from {πποΏ½}οΏ½οΏ½οΏ½οΏ½ππ, is used to delete some markings from πποΏ½ππ corresponding to those wrongly computed sequences in previous steps. It is clear that, the current transition sequence executed by the net is always contained in {πποΏ½}ππ, for every ππ β₯ 0. Then, it must hold that |{πποΏ½}ππ| β€οΏ½πποΏ½ππ βπππποΏ½, for both cases, either if the net is SD (for safe nets) or ED (for non-safe net). So, |{πποΏ½}ππ| < οΏ½πποΏ½ππ βπππποΏ½+ 1 β€ππ2. But, ππππ β |{πποΏ½}ππ|β 1. Hence, ππππ < ππ2, which is a contradiction. Thus, necessarily ππ(ππππ ,β³) > ππ1.
ii. Without loose of generality, let ππ4 > 0 be sufficiently small such that there exists ππππ β ππ(β³, ππ) with ππ(ππππ ,β³) < ππ3 where 0 < ππ3 β€ (ππ4 β 1). Then, it should be the case that ππππ β€ ππ4. On the contrary, suppose that ππππ > ππ4. Since ππππ β|{πποΏ½}ππ|β 1 and ππ4 β₯ ππ3 + 1, then |{πποΏ½}ππ| >ππ3 + 2. Moreover, since βππ+ is computed from every element in {πποΏ½}ππ, then ββππ+β >ππ3 + 2. Thus,> ππ3 + 2, since from Definition 4, πποΏ½ππβ1 β₯ οΏ½βππβ + βππβοΏ½οΏ½οΏ½οΏ½ for every ππ β₯ 0. But, βππ+ + πποΏ½ππβ1 β οΏ½βππβ + βππβοΏ½οΏ½οΏ½οΏ½ =πποΏ½ππ. Thus, οΏ½πποΏ½πποΏ½ > ππ3 + 2. So, οΏ½πποΏ½ππ βπππποΏ½ > ππ3 + 1. But,οΏ½πποΏ½ππ βπππποΏ½ =
Studies in Informatics and Control, Vol. 26, No. 1, March 2017 http://www.sic.ici.ro 19
ππ(ππππ ,β³). Thus, ππ(ππππ ,β³) > ππ3 + 1, which is a contradiction. Consequently, it must be the case that ππππ β€ ππ4.
iii. In order to show that the functional ππππ is a non-increasing function of ππ, notice that by point (ii) in the iteration stage of Definition 4, if ππππ = 0 for some ππ, i.e. |{πποΏ½}ππβ1| = 1, then ππππ+ππ = 0 for every ππ >0. Thus, by contradiction, consider without loss of generality that ππππ+1 >ππππ > 0, for some ππ. Then |{πποΏ½}ππ+1| >|{πποΏ½}ππ| β₯ 2. But, by Definition 4, {πποΏ½}ππ+1 =βπππ‘π‘ππ for ππ = πππ‘π‘ππ β {πποΏ½}ππ and π‘π‘ππ β οΏ½πποΏ½οΏ½ππ+1, such that οΏ½οΏ½πποΏ½οΏ½πποΏ½ π‘π‘ππ. Since, by contradiction, it holds that |{πποΏ½}ππ+1| >|{πποΏ½}ππ| β₯ 2, then it must exist at least a pair of transition sequences, say π½π½π‘π‘π’π’,π½π½π‘π‘π£π£ β {πποΏ½}ππ+1, constructed from the single sequence π½π½ = πππ‘π‘ππ β {πποΏ½}ππ such that π‘π‘π’π’, π‘π‘π£π£ β οΏ½πποΏ½οΏ½ππ+1, i.e. πππ΅π΅(π‘π‘π’π’) = πππ΅π΅(π‘π‘π£π£) =Ξπ¦π¦ππ. On one hand, if the net is non-safe, then πππ΅π΅(π‘π‘ππ) = πππ΅π΅οΏ½π‘π‘πποΏ½ is a contradiction to the ED of the OSS. On the other hand, if the net is safe, then οΏ½οΏ½πποΏ½οΏ½πποΏ½ π‘π‘π’π’ and οΏ½οΏ½πποΏ½οΏ½πποΏ½ π‘π‘π£π£. It implies that β π‘π‘π’π’ =β π‘π‘π£π£, which is a contradiction to the SD. Thus, necessarily ππππ+1 β€ ππππ, for every ππ > 0.
iv. In order to show that ππππ β 0 as ππ β β, let ππππ > 0 for some ππ. Then |{πποΏ½}ππ| > 1, which implies that there exist at least two sequences in {πποΏ½}ππ, say ππ1,ππ2 β {πποΏ½}ππ, where ππ1,ππ2 β β(π΅π΅,ππ0) and ππ(ππ1) =ππ(ππ2), which on the one hand, it contradicts the ED if the net is non-safe. On the other hand, if the net is safe, then it should exist an integer ππ < β, for which |{πποΏ½}ππ+ππ| < |{πποΏ½}ππ|. On the contrary, suppose that |{πποΏ½}ππ+ππ| β₯ |{πποΏ½}ππ| > 1 for every ππ >0. Thus, it must exist at least two transition sequences that could be constructed from ππ1 and ππ2, say
v. πποΏ½1 = ππ1π‘π‘πππ‘π‘ππ+1π‘π‘ππ+2 β¦ π‘π‘ππ+ππβ2π‘π‘ππ+ππβ1π‘π‘ππ+ππ β¦, πποΏ½2 = ππ2π‘π‘ππβ²π‘π‘ππ+1β² π‘π‘ππ+2β² β¦ π‘π‘ππ+ππβ2β² π‘π‘ππ+ππβ1β² π‘π‘ππ+ππβ² β¦ such that πποΏ½1,πποΏ½2 β {πποΏ½}ππ+1 for every 0 <ππ β€ ππ, where ππ(πποΏ½1) = ππ(πποΏ½2). Now, let {π‘π‘ππ, π‘π‘ππβ²}, {π‘π‘ππ+1, π‘π‘ππ+1β²}, {π‘π‘ππ+2, π‘π‘ππ+2β²},β¦, {π‘π‘ππ+ππβ2, π‘π‘ππ+ππβ2β² }, {π‘π‘ππ+ππβ1, π‘π‘ππ+ππβ1β² }, {π‘π‘ππ+ππ , π‘π‘ππ+ππβ² }, β― , etc., be the sequence formed by pairing the corresponding transitions in πποΏ½1 and πποΏ½2, that follows from ππ1 and ππ2, respectively. Then, it holds that π‘π‘ππ β=β π‘π‘ππ+1, π‘π‘ππ+1 β=β π‘π‘ππ+2, β¦, π‘π‘ππ+ππβ2 β=βπ‘π‘ππ+ππβ1, π‘π‘ππ+ππβ1 β=β π‘π‘ππ+ππ,β¦, etc., and also π‘π‘ππβ² β=β π‘π‘ππ+1β² , π‘π‘ππ+1β² β=β π‘π‘ππ+2β² , β¦, π‘π‘ππ+ππβ2β² β=βπ‘π‘ππ+ππβ1β² , π‘π‘ππ+ππβ1β² β=β π‘π‘ππ+ππβ² ,β¦, etc. Since ππ(πποΏ½1) = ππ(πποΏ½2), then in πΈπΈπ΅π΅, at least, it holds that {π‘π‘ππ+1, π‘π‘ππ+1β² } β πΈπΈπ΅π΅(ππ, ππβ²), {π‘π‘ππ+2, π‘π‘ππ+2β² } β πΈπΈπ΅π΅(ππ + 1, ππβ² + 1),β¦, {π‘π‘ππ+ππβ1, π‘π‘ππ+ππβ1β² } β πΈπΈπ΅π΅(ππ + ππ β 2, ππβ² + ππ β2), {π‘π‘ππ+ππ , π‘π‘ππ+ππβ² } β πΈπΈπ΅π΅(ππ + ππ β 1, ππβ² + ππ β1),β¦, etc. As the number of transitions in the net is finite, then at least one element in the previous list of entries in πΈπΈπ΅π΅ must appear twice. Let say that {π‘π‘ππ, π‘π‘ππβ²} βπΈπΈπ΅π΅(ππ + ππ, ππβ² + ππ). This conforms a cyclic dependency implying that βπΈπΈπ΅π΅π π = β , which directly contradicts the SD of the OSS. Thus, ππππ β 0 as ππ β β. β
Notice that the requirement ππ2 β₯ ππ1 + 1 with ππ1 > 0 implies that ππ = βππ0β β 1 β₯ 2. Additionally, the requirement 0 < ππ3 β€(ππ4 β 1) with ππ4 > 0 implies that ππ4 β₯ 2. Thus, it must exist at least two transition sequences that the observer has to track. However, this observer scheme can also be useful in the case of a non-safe net, where |{πποΏ½}ππ| = 1,βππ β₯ 0, as highlighted in the following section.
Figure 4. Error in the Observer estimations in a non-safe well-formed OSS.
http://www.sic.ici.ro Studies in Informatics and Control, Vol. 26, No. 1, March 2017 20
Illustrative Example Consider again the OSS in Figure 1, which shows a system with five processes represented by the loops in the model. The places and transitions include superscripts, which represent the loop to which they belong. For example, π‘π‘31 is the third transition of the first loop. Similarly, ππ14 is the first place of the fourth loop. Some sensors include a slash. The sensor before the slash is used when the net is considered safe, and that one after the slash is used when the net is considered non-safe. Thus, for ππ31, π·π· is used when the net is safe, and π΄π΄1 when the net is non-safe. Also, some places include grey-filled tokens used as initial markings when the net is non-safe. The framework in [2] has been used for the simulation of the observer scheme in Figure 2. The corrective term βππ was programmed as in Definition 4. The graphs in Figure 3 correspond to different simulation processes with safe markings. In this plot, the error remains at four up to ππ = 6, for the lines of Error 1, Error 4, Error 5 and Error 6. These errors correspond to the initial conditions ππ0{ππ21}, ππ0{ππ22}, ππ0{ππ23} and ππ0{ππ24}, respectively. The line of Error 1 corresponds to the observability constant of the net, i.e. it is the longest convergence error. Indeed, this error reaches zero at ππ = 9, which agrees with the sequences ππ(ππ1) = ππ(ππ3) where ππ1 = π‘π‘31π‘π‘41π‘π‘51π‘π‘61π‘π‘71π‘π‘81π‘π‘91 and ππ3 =π‘π‘32π‘π‘42π‘π‘52π‘π‘62π‘π‘72π‘π‘82π‘π‘92. These sequences are easily constructed by chaining consecutive entries in the non-empty entries in Table 1. That is, ππ1 and ππ3, correspond to πΈπΈπ΅π΅π π (π‘π‘31, π‘π‘32), πΈπΈπ΅π΅π π (π‘π‘41, π‘π‘42), πΈπΈπ΅π΅π π οΏ½π‘π‘51, π‘π‘52οΏ½, πΈπΈπ΅π΅π π (π‘π‘61, π‘π‘62), πΈπΈπ΅π΅π π (π‘π‘71, π‘π‘72), πΈπΈπ΅π΅π π (π‘π‘81, π‘π‘82), and πΈπΈπ΅π΅π π (π‘π‘91, π‘π‘92), which are non-empty entries in upper left section of Table 1. Indeed, the table πΈπΈπ΅π΅π π provides information about the loops of a net and their relation to other loops. Thus, for example, the longest sequence of non-empty entries in πΈπΈπ΅π΅π π corresponds to the observability convergence constant of the sequences observer. Moreover, if some sequence is too long that it is unacceptable for a specific application, a detailed examination of πΈπΈπ΅π΅π π may provide suitable information about the best place to add a new sensor. However, the optimal sensor placement for an OSS is out of the scope of this work. In the same plot, Error 6 abruptly decreases from 4 to 0 at ππ = 6. Notice that this error corresponds to the initial condition ππ0{ππ24}. Finally, Errors 4 and 5 decreases from 2 to 0 at
ππ = 8, and from 3 to 0 at ππ = 7, respectively. The region of the asymptotic stability of the net is any safe marking, i.e., β³ππ = {ππ β β41: 0 β€βππβ β€ 1}. It is not hard to conclude that the size of β³ππ is 41. The graphs in Figure 4 correspond to simulations of the same net, but with non-safe markings. Errors 1 and 2 are from two consecutive simulation processes of the initial marking ππ0οΏ½ππ11,ππ21,ππ41,ππ12,ππ13,ππ14,ππ15οΏ½. The difference shown in the evolution of the errors is due to a random firing of the transitions in the system block in Figure 2, when all the transitions are allowed to be fired, i.e. when π’π’ππ = 1οΏ½β ,βππ β₯ 0. See [2] for details about the firing of the transitions and other configuration options of the simulation framework. Errors 3 and 4 correspond to two simulation processes with the initial condition ππ0οΏ½2ππ11, 6ππ21, 6ππ41, 2ππ12, 2ππ13, 2ππ14, 2ππ15οΏ½. In this case, the initial error is higher than the former due to a greater number of tokens. The error drops as the number of events increases. Notice that, in spite of the transition sequence is known from ππ = 1, the error oscillates, i.e. it increases and decreases randomly. Depending on suitable transition firings in the net, the error may approach to zero. Moreover, it is possible to show that for non-safe markings, the error in (5) is stable. However, a further analysis of this topic is out of the scope of this work.
5. Conclusions This paper presents the design of observers for DES, which are modelled with OPN. The focus is on a subclass of models called S-Nets. An scheme for tracking the transition sequences executed by the system is proposed, where the feedback for the observer is the system output. The observer is provided with a corrective term βππ to update its estimations. This corrective element is tracking for every possible transition sequences executed by the system. Thus, the observer error decreases as the number of transition sequences tracked by βππ decreases. A Lyapunov stability criterion for characterizing the observer scheme has been used. It shows that the technique developed in this work produces asymptotically stable observers for the case of a safe OSS such that its sequence-detectability property is verified. Thus, in this case, the initial and current state of the system could be perfectly reconstructed with the proposed scheme. When the net is non-safe, the herein introduced scheme produces estimations such that, in some cases, the error may
Studies in Informatics and Control, Vol. 26, No. 1, March 2017 http://www.sic.ici.ro 21
oscillate. An application example illustrates the advantages of the developed techniques.
REFERENCES 1. Campos-Rodriguez R., Alcaraz-Mejia M.
(2016). An Efficient Testing for the Detection of Trajectories in Discrete-Event Systems Modelled by S-Nets, Studies in Informatics and Control, 25(3), pp. 363-374.
2. Campos-Rodriguez R., Alcaraz-Mejia M., Sanchez-Ramirez U. (2016). Simulation of Discrete-Event Systems in MATLAB, Applications from Engineering with MATLAB Concepts, Assoc. Prof. Jan Valdman (Ed.), In Tech. DIO: 10.5772/63230.
3. Campos-Rodriguez R., Alcaraz-Mejia M. (2010). A Matlab/Simulink Framework for the Design of Controllers and Observers for Discrete-Event Systems, Electronics and Electrical Engineering, 99(3), pp. 63-68.
4. Campos-Rodriguez R., Ramirez-Trevino a. & Lopez-Mellado E. (2006), Observability Analysis of Free-Choice Petri Net Models, IEEE/SMC Intel. Conf. on System of Systems Engineering, pp. 24-26.
5. Campos-rodriguez R., Alcaraz-Mejia M. & Mireles-Garcia J. (2007), Supervisory Control of Discrete Event Systems Using Observers, Mediterranean Conf. on Control & Automation, pp. 1-7.
6. Ramadge P.J.G., Wonham W.M. (1989). The Control of Discrete Event Systems, Proc. of the IEEE, 77(1), pp.81-98.
7. Kumar R., Shayman M. A. (1998). Formulae relating controllability observability and co-observability, Automatica, 2(1), pp. 211-215.
8. Wong K.C., Wonham W.M. (2004). On the Computation of Observers in Discrete-Event Systems, Discrete Event Dynamic Systems, 14(1), pp. 55-107.
9. Shaolong S., Feng L. (2013). I-Detectability of Discrete-Event Systems, IEEE Trans. Autom. Sc. and Eng., 10(1), pp.187-196.
10. Shu S., Lin F. (2011). Generalized detectability for discrete event systems, Syst. Control Lett., vol. 60, no. 5, pp. 310β317.
11. Ozveren C. M., Willsky A. S. (1990). Observability of discrete event dynamic systems, IEEE Trans. Autom. Control, vol. 35, no. 7, pp. 797-806.
12. Takai S., Ushio T., Kodama S. (1995). Static-state feedback control of discrete-event systems under partial observation, IEEE Trans. Autom. Ctrl., 40(11):1950-1954, 1995.
13. Yong L., Wonham W. M. (1994). Control of vector discrete-event systems. II: Controller Synthesis. IEEE Trans. Autom. Control, 39(3): pp. 512β531, 1994. 0018-9286.
14. Li Y., Wonham W. M. (1993). Control of vector discrete-event systems I: The base model, IEEE Trans. Autom. Ctrl., 38(8): pp.1214-1227.
15. Moody J. O., Antsaklis P. J. (2000). Petri net supervisors for DES with uncontrollable and unobservable transitions. IEEE Trans. Autom. Control, 45(3), pp. 462-476
16. Giua A., Seatzu C. (2002). Observability of place/transition nets. IEEE Trans. Automatic Control, 47(9), pp. 1424-1437.
17. Ramirez-Trevino A., Rivera-Rangel I., Lopez-Mellado E. (2003). Observability of discrete event systems modeled by interpreted petri nets. IEEE Trans. Robotics and Autom. 19(4), pp. 557-565.
18. Rivera-Rangel I., RamΓrez-TreviΓ±o A., Aguirre-Salas L..Ruiz-Leon J. (2005). Geometrical Characterization of Observability in Interpreted Petri Nets. Kybernetika. Vol. 41, No. 5, pp. 553-574.
19. Desel J.. Esparza J. (2005). Free Choice Petri Nets. Cambridge University Press.
20. Hopcroft J. E., Ullman J. D. (1979). Introduction to automata theory, languages, and computation. Addison-Wesley.
21. Passino, K.M., Burguess, K.L. (1998). Stability Analysis of Discrete Event Systems. John Wiley & Sons.
http://www.sic.ici.ro Studies in Informatics and Control, Vol. 26, No. 1, March 2017 22