|
|
||||||
|
Detailed DescriptionOverviewThis plugin offers algorithms for the verification and synthesis of natural projections that are observers according to K. C. Wong and W. M. Wonham, "On the Computation of Observers in Discrete Event Systems," Discrete Event Dynamic Systems, vol. 14, no. 1, pp. 55-107, 2004. and that fulfill the output control consistency (OCC) or local control consistency (LCC) condition for maximally permissive hierarchical control according to K. Schmidt and C. Breindl, "On Maximal Permissiveness of Hierarchical and Modular Supervisory Control Approaches for Discrete Event Systems," Workshop on Discrete Event Systems, 2008. LicenseThe initial version of the observer plug-in was implemented by Bernd Opitz together with the initial version of libFAUDES. A major revision and extension was part of Christian Breindl's student project, supervised by Klaus Schmidt. The observer plugin is distributed with libFAUDES and under the terms of the LGPL.
Copyright (c) 2006, Bernd Opitz
Function Documentation◆ calcAbstAlphClosed()
L(G)-observer computation. This function modifies a given generator and an associated natural projection such that the resulting natural projection is an L(G)-observer for the prefix-closed language of the resulting generator. This function evaluates the observer algorithm as described in K. C. Wong and W. M. Wonham, "On the Computation of Observers in Discrete Event Systems," Discrete Event Dynamic Systems, vol. 14, no. 1, pp. 55-107, 2004. The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Example: Computation of an L(G)-observer
Definition at line 667 of file op_observercomputation.cpp. ◆ calcAbstAlphMSA()
MSA-observer computation. This function modifies a given generator and an associated natural projection such that the resulting natural projection is an msa-observer for the language marked by the resulting generator. This function evaluates the msa-observer algorithm as described in K. Schmidt and Th. Moor, "Marked String Accepting Observers for the Hierarchical and Decentralized Control of Discrete Event Systems," Workshop on Discrete Event Systems, 2006. The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Example: Computation of an MSA-observer
Definition at line 825 of file op_observercomputation.cpp. ◆ calcAbstAlphMSALCC()
MSA-observer computation including local control consistency (LCC). This function modifies a given generator and an associated natural projection such that the resulting natural projection is an MSA-observer for the language marked by the resulting generator and at the same time fulfills the local control consistency condition (LCC). This function evaluates the msa-observer algorithm as described in K. Schmidt and C. Breindl, "On Maximal Permissiveness of Hierarchical and Modular Supervisory Control Approaches for Discrete Event Systems, Workshop on Discrete Event Systems, 2008. with an extension to LCC as indicated in K. Schmidt and C. Breindl, "On Maximal Permissiveness of Hierarchical and Modular Supervisory Control Approaches for Discrete Event Systems," Workshop on Discrete Event Systems, 2008. The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Example: Computation of an MSA-observer with local control consistency (LCC)
Definition at line 1245 of file op_observercomputation.cpp. ◆ calcAbstAlphObs() [1/2]
Lm-observer computation. This function modifies a given generator and an associated natural projection such that the resulting natural projection is an Lm-observer for the language marked by the resulting generator. This function evaluates the observer algorithm as described in K. C. Wong and W. M. Wonham, "On the Computation of Observers in Discrete Event Systems," Discrete Event Dynamic Systems, vol. 14, no. 1, pp. 55-107, 2004. The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Definition at line 60 of file mtc_observercomputation.cpp. ◆ calcAbstAlphObs() [2/2]
Lm-observer computation. This function modifies a given generator and an associated natural projection such that the resulting natural projection is an Lm-observer for the language marked by the resulting generator. This function evaluates the observer algorithm as described in K. C. Wong and W. M. Wonham, "On the Computation of Observers in Discrete Event Systems," Discrete Event Dynamic Systems, vol. 14, no. 1, pp. 55-107, 2004. The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Example: Computation of an Lm(G)-observer
Definition at line 746 of file op_observercomputation.cpp. ◆ calcAbstAlphObsLCC()
Lm-observer computation including local control consistency (LCC). This function modifies a given generator and an associated natural projection such that the resulting natural projection is an Lm-observer for the language marked by the resulting generator and at the same time fulfills the local control consistency condition (LCC). The function evaluates the observer algorithm as described in K. C. Wong and W. M. Wonham, "On the Computation of Observers in Discrete Event Systems," Discrete Event Dynamic Systems, vol. 14, no. 1, pp. 55-107, 2004. with an extension to LCC as indicated in K. Schmidt and C. Breindl, "On Maximal Permissiveness of Hierarchical and Modular Supervisory Control Approaches for Discrete Event Systems," Workshop on Discrete Event Systems, 2008. The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Example: Computation of an Lm(G)-observer with local control consistency (LCC)
Definition at line 1171 of file op_observercomputation.cpp. ◆ calcClosedObserver()
L(G)-observer computation by adding events to the high-level alphabet. This function extends a given high-level alphabet such that the resulting natural projection is an L(G)-observer for the prefix-closed language of the given generator. This function evaluates the natural observer algorithm as described in Lei Feng; Wonham, W.M., "On the Computation of Natural Observers in Discrete-Event Systems," Decision and Control, 2006 45th IEEE Conference on , vol., no., pp.428-433, 13-15 Dec. 2006 The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Example: Computation of an L(G)-observer
Definition at line 413 of file op_observercomputation.cpp. ◆ calcMSAObserver()
MSA-observer computation by adding events to the high-level alphabet. This function extends a given high-level alphabet such that the resulting natural projection is an MSA-observer for the marked language of the given generator. This function adapts the natural observer algorithm as described in Lei Feng; Wonham, W.M., "On the Computation of Natural Observers in Discrete-Event Systems," Decision and Control, 2006 45th IEEE Conference on , vol., no., pp.428-433, 13-15 Dec. 2006 to the msa-obsever property. The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Example: Computation of an msa-observer
Definition at line 476 of file op_observercomputation.cpp. ◆ calcMSAObserverLCC()
MSA-observer computation including local control consistency (LCC) by adding events to the high-level alphabet. This function extends a given high-level alphabet such that the resulting natural projection is an MSA-observer and locally control consistent (lcc) for the marked language of the given generator. This function adapts the natural observer algorithm as described in Lei Feng; Wonham, W.M., "On the Computation of Natural Observers in Discrete-Event Systems," Decision and Control, 2006 45th IEEE Conference on , vol., no., pp.428-433, 13-15 Dec. 2006 to the msa-obsever property and uses LCC as defined in K. Schmidt and C. Breindl, "On Maximal Permissiveness of Hierarchical and Modular Supervisory Control Approaches for Discrete Event Systems, Workshop on Discrete Event Systems, 2008. The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Example: Computation of an msa-observer with LCC
Definition at line 497 of file op_observercomputation.cpp. ◆ calcNaturalObserver()
Lm(G)-observer computation by adding events to the high-level alphabet. This function extends a given high-level alphabet such that the resulting natural projection is an Lm(G)-observer for the marked language of the given generator. This function evaluates the natural observer algorithm as described in Lei Feng; Wonham, W.M., "On the Computation of Natural Observers in Discrete-Event Systems," Decision and Control, 2006 45th IEEE Conference on , vol., no., pp.428-433, 13-15 Dec. 2006 The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Example: Computation of an Lm(G)-observer
Definition at line 433 of file op_observercomputation.cpp. ◆ calcNaturalObserverLCC()
Lm(G)-observer computation including local control consistency (LCC) by adding events to the high-level alphabet. This function extends a given high-level alphabet such that the resulting natural projection is an Lm(G)-observer and locally control consistent (lcc) for the marked language of the given generator. This function evaluates the natural observer algorithm as described in Lei Feng; Wonham, W.M., "On the Computation of Natural Observers in Discrete-Event Systems," Decision and Control, 2006 45th IEEE Conference on , vol., no., pp.428-433, 13-15 Dec. 2006 and uses LCC as defined in K. Schmidt and C. Breindl, "On Maximal Permissiveness of Hierarchical and Modular Supervisory Control Approaches for Discrete Event Systems The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Example: Computation of an Lm(G)-observer with LCC
Definition at line 454 of file op_observercomputation.cpp. ◆ ExtendHighAlphabet()
Extension of the high-level alphabet to achieve the Lm-observer property. This algorithm extends the given high-level alphabet such that nondeterminism and unobservable transitions in the quotient automaton computed with the current high-level alphabet are removed. The function is called by calcNaturalObserver. The alphabet rHighAlph has to be a subset of the alphabet of rGenObs. rGenObs must be a deterministic generator. There are no further restrictions on parameters.
Definition at line 520 of file op_observercomputation.cpp. ◆ IsLCC()
Verification of local control consistency (LCC). For verifying if a natural projection fulfills the local control consistency condition, a backward reachability is conducted. If starting from a state, where an uncontrollable high-level event is feasible, at least one local state cannot be reached by an uncontrollable path, LCC is violated.
Definition at line 157 of file op_obserververification.cpp. ◆ IsMSA()
Verification of the MSA observer property. For verifying if a natural projection has the marked string accepting observer property, one step in the MSA observer algorithm is evaluated. If the resulting generator equals the input generator, then the natural projection on the abstraction alphabet is an MSA observer.
Definition at line 62 of file op_obserververification.cpp. ◆ IsMutuallyControllable()
Verification of mutual controllability. This function checks if two generators are mutually controllable w.r.t. each other. A definition of mutual controllability is given in S.-H. Lee and K. C. Wong, “Structural decentralised control of concurrent DES,” European Journal of Control, vol. 35, pp. 1125-1134,2002.
Example:Violation of mutual controllability
Mutual controllability is fulfilled
◆ IsObs()
Verification of the natural observer property. For verifying if a natural projection has the observer property, one step in the observer algorithm is evaluated. If the resulting generator equals the input generator, then the natural projection on the abstraction alphabet is an observer.
Definition at line 38 of file op_obserververification.cpp. ◆ IsOCC()
Verification of output control consistency (OCC). For verifying if a natural projection fulfills the output control consistency condition, a backward reachability is conducted. If starting from a state, where an uncontrollable high-level event is feasible, a controllable event can be reached on a local backward path, OCC is violated.
Definition at line 86 of file op_obserververification.cpp. libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen |