libFAUDES

Sections

Types

Functions

EventSet/Alphabet

An EventSet is a set of named events. It is internally represented by an STL set of indices that refer to a global symbol-table to map indices to symbolic names.

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.

AlphabetUnion

Union 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.

AlphabetIntersection

Intersection 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.

AlphabetDifference

Difference of two alphabets.

Signature:

AlphabetDifference(+In+ EventSet Sigma1, +In+ EventSet Sigma2, +Out+ EventSet Sigma)

Note: When an Alphabet typed result is specified, attributes of the respective arguments are maintained.

AlphabetExtract

Extract alphabet from generator.

Signature:

AlphabetExtract(+In+ Generator Gen, +Out+ EventSet Sigma)

Note: see also AlphabetUnion and AlphabetUnion for the extraction of alphabets from generators.

AlphabetEquality

Tests whether two alphabets match.

Signature:

AlphabetEquality(+In+ EventSet Sigma1, +In+ EventSet Sigma2, +Out+ Boolean BRes)

Note: Attributes are ignored for the pupose of set comparison.

AlphabetInclusion

Tests whether an alphabet includes another alphabet.

Signature:

AlphabetInclusion(+In+ EventSet Sigma1, +In+ EventSet Sigma2, +Out+ Boolean BRes)

Note: Attributes are ignored for the pupose of set comparison.

libFAUDES 2.18b --- 2010-12-17 --- plugins "example synthesis observer diagnosis hiosys iosystem multitasking timed simulator iodevice luabindings"