Example PlugIn

The example plug-in addresses developers who whish to integrate their functions and data-types with the libFAUDES [X1] build system. It uses an alternative implementation of the function Accessible() to illustrate the the following options:

  • implementation of the respective algorithms via the libFAUDES C++ API; this includes technical documentation with doxygen tagged C++ code that integrates with the libFAUDES C++ API documentation;

  • organisation of the C++ sources as libFAUDES plug-in; this step announces the source files to the build system.

  • integration of the algorithm to the libFAUDES run-time interface; this step registers the new function in the function registry and introduces corresponding HTML documentation to the libFAUDES dictionary;

  • automatic generation of corresponding luabindings using the interface egenerator swig; this step provides access to the new functions and data-types for luafaudes scripts;

The sources relevant for this example plug-in are discussed in plug-in how-to section of the developer pages.

AltAccessible

Alternative implementation to remove inaccessible states and related transitions.

Signature:

AltAccessible(+InOut+ Generator Gen)

Detailed description:

The function AltAccessible is an alternative implementation of Accessible. It converts a given generator to an accessible generator without affecting the closed and marked languages. This is done by removing all states that cannot be reached from any initial state.

Literature

For the purpose of demonstration only, we add a literature reference.

[X1] T. Moor, S. Perk, K. Schmidt: libFAUDES - An Open Source C++ Library for Discrete Event Systems, Workshop on Discrete Event Systems, Goeteborg, Sweden, 2008.

libFAUDES 2.32b --- 2024.03.01 --- with "synthesis-observer-observability-diagnosis-hiosys-iosystem-multitasking-coordinationcontrol-timed-simulator-iodevice-luabindings-hybrid-example-pybindings"

>>