|
|
||||||
|
|
HioSys PlugInThe I/O-Based Approach - Step by Step
Step 6: Superposed Specification and Controller DesignThis step applies to those plant components only that are merged to an I/O shuffle provided with an I/O environment. For those plant components of the current hierarchical level that are not a member of any such group, Step 2 applies instead of Step 6. For each group of plant components with environment, and a specification for each group, we synthesize a superposed controller that respects Theorem V.7 in [H1], i.e. that meets the local operator constraints of each plant component of the group and enforces the local environment constraints that were replaced by the environment in Step 5, by only requesting resources when available. Analogously to Step 2, an operator constraint S_C can be introduced along with the specification S_specCL. As in Step 2, the specification is reasonably designed as an I/O-plant model of the desired external behaviour of the controlled group which is complete and Y_C-live w.r.t. S_C and the user-designed constraint S_L on the remaining environment. To synthesize an I/O controller for the compound plant, the synthesis function HioSynthHierarchical is provided with the I/O-shuffle compound of the plant components, the corresponding environment model, the parallel composition (Parallel) of all local constraints of the components and the specification together with the external constraints S_P and S_L:
Transport Unit.(C++ lua) A specification for the group of two TU's is easily obtained, if we require the two TU's to behave as if they were one single TU. In this case, the specification is a versioned copy of the specification for one TU (see Step 2):
The resulting I/O controller, however, is more complex than the one for a single TU, as it has to control the internal transfer of the workpiece:
As again, the external view on the closed loop of superposed controller and compound group is an I/O plant, we end up with a new level of n' < n plant components, one per group. By abstraction using the specifications designed in this step, we proceed with Step 3. This procedure is repeated until a single I/O controller is designed for the abstract model of the overall plant.
Transport Unit.(C++ lua) Keeping up the same specification also for groups of 4, 8,... TU's leads to a hierarchy of structurally identical I/O controllers as in the above figure, as, by abstraction, the plant components remain structurally identical at each hierarchical level. The interaction between two groups of TU's is the same as between two single TU's, and hence the I/O environment, too, remains identical. All in all, we receive a hierarchy of controllers and environments with a complexity (overall sum of automata states) that grows linear in the number of transport units.
libFAUDES 2.32b --- 2024.03.08 --- with "synthesis-observer-diagnosis-iosystem-hiosys-multitasking-coordinationcontrol-timed-iodevice-simulator-luabindings" |