libFAUDES
Sections
Types
Functions
|
Misc Functions on GeneratorsEmptyLanguageSet generator to mark empty language. Detailed description: Returns a generator G with the specified alphabet Sigma, no states and no transitions; i.e., we have Lm(G) = L(G) = 0. Parameter Conditions: The empty language generator is deterministic. IsEmptyLanguageTest Generator G for empty marked language Lm(G). Parameter Conditions: The argument may be non-deterministic. AutomatonConvert generator to formal automaton. Detailed description: Converts the given generator G to a formal automaton that generates the same marked language Lm(G) while accepting any input string, i.e. L(G) = Sigma*. This is achieved by introducing a dump state to represent Sigma*-Closure(Lm(G)). Example:
Parameter Conditions: The provided generator is assumed to be deterministic. The resulting generator is guaranteed to be deterministic. IsPrefixClosedTests a language for being prefix-closed. Detailed description:
A language L is prefix-closed
if for each string s ∈ L all prefixes r ≤ s
are also element of L:
Example:
The language Lm(G) marked by the above generator is not prefix-closed, since the states 1, 2 and 4 are accessible and co-accessible but not marked. For example, the string ac ∉ Lm(G) is a prefix of acbb ∈ Lm(G). PrefixClosureCompute prefix closure for given language. Signature:
PrefixClosure(+InOut+ Generator GArg) Detailed description:
For any language L there exists a smallest prefix-closed
superset, the so-called prefix-closure of L:
This function computes a realisation of the prefix-closure of Lm(GArg) by first erasing all states that are not co-accessible and then marking the remaining states. Example:
IsOmegaClosedTests a language for being omega-closed. Detailed description:
A omega-language L ⊆ Sigma^w
is omega-closed if any strictly
increasing sequence of prefixes from L converges to an
omega-string in L, i.e. if
The function IsOmegaClosed tests for the specified generator G whether Bm(G) is omega-closed. The implementation first computes the omega-trim state set. If within this set there exists an SCC with no marked states the function returns false. Else it returns true. Example:
The language Bm(G) realized by the above generator is not omega-closed. The states 6 and 7 constitute an SCC when restricting G to the omega-trim state set {1,2,4,6,7}. Thus, the limit of the sequence a d (a b)^i is in B(Prefix(L)) but not in B(L). The function IsOmegaClosed returns false. Parameter Conditions: The argument must be deterministic. OmegaClosureCompute omega closure for given language. Signature:
OmegaClosure(+InOut+ Generator GArg) Detailed description:
For any omega-language L ⊆ Sigma^w
there exists a smallest omega-closed
superset, the so-called omega-closure or topological closure
of L:
The function OmegaClosure computes a realisation of the the omega-closure for the specified omega language Bm(GArg). It first invokes OmegaTrim and then markes all states. Thus, Closure(Bm(GArg)) = B(GRes) = Bm(GRes) and Prefix(Bm(GArg)) = L(GRes) = Lm(GRes). Example:
|
libFAUDES 2.22s --- 2013.10.07 --- with "synthesis-observer-observability-diagnosis-hiosys-iosystem-multitasking-coordinationcontrol-timed-simulator-iodevice-luabindings"