HioSys I/O Systems

HioEnvironment

The data-type HioEnvironment is a Generator that is suited to model the I/O-system I/O environment. For the I/O shuffle (HioShuffle) of a group of two or more plant components, an I/O environment S_EL = (Sigma_EL,L_EL) models the internal interaction of the components among themselves and the external interaction of the group with the remaining environment. The I/O environment is connected with the I/O shuffle of plant components and with the remaining environment via a controller- and a plant-I/O port, respectively. The event sets are denoted Ul and Yl for plant interaction and Ue and Ye for interaction with the remaining environment. Thus, the overall alphabet is composed as disjoint union Sigma = UlYlUeYe. Technically, an I/O environment is of the same structure as an I/O controller.

I/O environment: Definition

An I/O environment is a tuple S_EL = (U_L,Y_L,U_E,Y_E,L_EL), where

  • Sigma_EL is an alphabet with Sigma_EL := Sigma_LSigma_E,

  • L_EL is a language over Sigma_EL,

  • (U_L,Y_L) and (U_E,Y_E) are a plant- and a controller-I/O port of S_EL, respectively,

  • L_EL  Closure((Y_EU_E+Y_EY_LU_LU_E)*), and

  • L_EL is a complete language (see IsComplete).

The 4th item avoids loops of the sort (Y_LU_L)*, i.e. forbids operator commands without effect on the plant being controlled. The last item forces the I/O environment to respond to plant output or operator input.
By the function IsHioEnvironmentForm, an HioEnvironment generator can be tested for compatibility with the above definition.

HioSys Home | HioSys I/O Systems

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