|
|
||||||
|
|
EventSet/ AlphabetAn EventSet is a set of named events. It is internally represented as an set of indices that refer to a global symbol-table to map indices to symbolic names. Valid symbolic names are strings of printable ASCII characters, excluding the double quote ", the hash # and any white space. It is not recommended to use symbolic names that can be misinterpreted as number, i.e., consists only of digits. The token-IO format is as follows: <Alphabet> "alpha" "beta" "gamma" </Alphabet> The derived type Alphabet is an EventSet that records an attribute value for each event. Attributes are used to indicate controllability, observability, forcibility and whether or not the respective event is regarded as an high-level event. The attributes are local to the set, i.e. whether an event is observable depends on the perspective one takes. The default attribute is non-controllable, non-forcible, observable and high-level. The token-IO format is as follows. <Alphabet> "alpha" +C+ % observable and controllable "beta" +o+ % not observable "gamma" % default, i.e. +cOfA+ </Alphabet> As indicated by the example, the attribute value is specified as an option token +xyz+, where each letter in xyz represents a boolean property. Uppercase and lowercase letter indicate the presence or absence of the property, respectively. Supported properties are controllability c, observability o, forcibility f. and high-level alphabet membership a. Functions, that expect EventSet-typed arguments (are meant to) also accept Alphabets instead. When indicated by the documentation, such functions will interpret the respective attributes appropriately. Otherwise they are simply ignored. If event attributes are not relevant to your application, it is recommended to stick to EventSet-typed variables. AlphabetUnionUnion over Alphabets Signature:AlphabetUnion(+In+ EventSet Sigma1, +In+ EventSet Sigma2, +Out+ EventSet Sigma) AlphabetUnion(+In+ EventSetVector AVec, +Out+ EventSet ARes) AlphabetUnion(+In+ GeneratorVector GVec, +Out+ EventSet ARes) Note: When an Alphabet typed result is specified, attributes of the respective arguments are maintained. Note: alphabets are extracted from generator arguments. AlphabetIntersectionIntersection over alphabets. Signature:AlphabetIntersection(+In+ EventSet Sigma1, +In+ EventSet Sigma2, +Out+ EventSet Sigma) AlphabetIntersection(+In+ EventSetVector AVec, +Out+ EventSet ARes) AlphabetIntersection(+In+ GeneratorVector GVec, +Out+ EventSet ARes) Note: When an Alphabet typed result is specified, attributes of the respective arguments are maintained. Note: alphabets are extracted from generator arguments. AlphabetDifferenceDifference of two alphabets. Note: When an Alphabet typed result is specified, attributes of the respective arguments are maintained. AlphabetExtractExtract alphabet from generator. Note: see also AlphabetUnion and AlphabetIntersection for the extraction of alphabets from multiple generators. AlphabetEqualityTests whether two alphabets match. Note: Attributes are ignored for the pupose of set comparison. AlphabetInclusionTests whether an alphabet includes another alphabet. Note: Attributes are ignored for the pupose of set comparison. libFAUDES 2.32b --- 2024.03.01 --- with "synthesis-observer-observability-diagnosis-hiosys-iosystem-multitasking-coordinationcontrol-timed-simulator-iodevice-luabindings-hybrid-example-pybindings" |