1 Introduction

Space availability limitations and high land costs, being typical characteristics of urban and industrial areas in developed countries, motivate the increasing development of multi-floor manufacturing (MFM) systems (see [1, 2] and the references therein). Improvement of the effectiveness and flexibility of manufacturing processes is a trend in modern manufacturing systems ([3,4,5]). This trend, being a direction of Industry 4.0, requires ongoing automation of manufacturing practices. In the framework of this trend, the requirement is more intensive in MFM processes, where the material handling network is in general more complex, as compared to single-level processes.

The basic components of a MFM process are the manufacturing machines (workstations), the horizontal material handling systems and the vertical material handling system. All components compose the production line. The horizontal material handling systems organize the production chain of each floor through robots (see [6, 7]), automated guided vehicles (AGVs) (see [6, 7, 9]) and intelligent reconfigurable trolleys (IRTs) (see [1, 2]). The vertical material handling systems are mainly elevators (see [6,7,8]).

In [1, 2], the supply chain network design problem is considered for MFM clusters, through a decision-making approach. In [6], integer linear programming is used. In [7], integer linear programming combined with genetic algorithms, is proposed. Both works deal with intra-cell, inter-cell and inter-floor material handling, through cost minimization. In [8, 9], the multi-floor facility layout problem is considered.

The coordination of the overall (horizontal and vertical) handling system is of critical importance for the improvement of the effectiveness and flexibility of MFM processes through automation. Discrete event system (DES) approaches are offered for this goal. DES approaches have already been used to model and control single level production machine chains (indicatively, see [10,11,12]) and elevator systems (see [13, 14]). To the best of our knowledge, the coordination of the handling material system for MFM processes has not as yet been studied through DES point of view.

The coordination problem of an MFM system will be studied here, in the Ramadge Wonham (RW) framework, indicatively see [11, 15, 16]. On each floor there is a chain manufacturing process, while the transfer between floors is accomplished through an elevator system. The multi-floor system is modeled using finite deterministic automata. The automata that model the product transfer on every floor and the automaton that models the elevator system are in accordance with the respective models presented in [12] for a single floor manufacturing process and [13] for a mining process elevator system. The coordination of the MFM process is analyzed into a set of desired languages and is accomplished through the development of a modular supervisory design scheme.

In comparison to rule-based control methods, the use of DES models and DES controllers in the RW framework has two distinct advantages. It provides the capability to verify, in a systematic way, the realizability of the controller with regard to the activation/deactivation of the transitions of the process triggered by uncontrollable events, and the property of nonblocking for the controlled system. Finally, another advantage of the RW framework is that is offered for realization of the designed controllers to industrial control devices, such as PLCs and PACs, indicatively see [17, 18].

Here, the multi-floor process is modeled in parametric form. The parametric nature of the model is expanded in two directions. The first, is the description of the horizontal material handling system. In particular, the mobile robot systems are described by general operation DES models, being independent from special technical characteristics of each robot. The model of the vertical material handling system belongs also to this direction. The second direction is the parametric number of the manufacturing machines and the parametric number of the floors. The parametric nature of the model is expanded to the proposed supervisors. The parametrical structure of the models and the supervisors provides generality and flexibility in the analysis of the controlled process.

In [12], a two layer supervisor has been designed only for the horizontal handling system. In particular, a modular supervisor architecture with two supervisor automata has been proposed. Here, a supervisory control scheme with one supervisor per floor, for the horizontal material handling, is proposed. It is mentioned that the present results facilitate the analysis of the control scheme, namely the check of the controllability of the desired languages and the nonblocking property of the controlled automaton.

The paper is organized as follows: in Sect. 2, the multi-floor process is described. In Sect. 3, a fully parametric discrete event model of the process is developed. In Sect. 4, the design specifications are imposed and translated to appropriate desired languages in analytic forms. The properties of these languages are proven. Finally, in Sect. 5, the realization of the supervisory control scheme is accomplished in a modular way.

2 The multi-floor manufacturing process

The plant is an interconnected MFM system. The raw product is on the ground (lowest) floor. Also, the manufactured product is on the ground floor. On the other floors there are installed manufacturing machines. The machines of the same floor are connected through a local rail track system. The local rail track system is a closed path, in the form of a ring track system. One mobile robot platform is installed on the ring track system of the respective floor. The task of the robot platform is the transfer of the products among manufacturing machines of the same floor. The floor platform is considered to move clockwise. On every platform two synchronized coordinating robotic manipulators are mounted. On every floor there are several input and output stations where the robotic platform delivers and takes the products. The products are transferred from the ground level at the appropriate floor and vice versa through an elevator system (see [1]).

One mobile robot platform serves all manufacturing machines of the floor. The lowest flower is indexed by 0. There are no manufacturing machines on the ground floor. Upstairs the ground floor, there are m floors with manufacturing machines. These floors are indexed by \(i\in \{ 1,\ldots ,m\} \) where the highest floor is indexed by m.

In Fig. 1, the schematic of the i-th floor of the MFM system is presented. The number of the manufacturing machines on the i-th floor is \(n_{i} \). The machines on the i-th floor are indexed by \(j\in \{ 1,\ldots ,n_{i} \} \). Each machine has an input station and an output station. The input station of the j-th machine is indexed by 2j and the output station of the j-th machine is indexed by \(2j+1\). On every floor there is a station indexed by 1 and a station indexed by \(2n_{i} +2\). Station 1 is the station where the elevator unloads products and Station \(2n_{i} +2\) is the station where the manufactured products of the i-th floor are accumulated before transferred to the car of the elevator. On each floor, the products are manufactured serially. In other words, the product manufactured by the j-th machine is transferred to be manufactured by the \(j+1\) -th machine. When the manufacturing of the product of the \(n_{i} \)-th machine of the i-th floor is completed, then the manufactured product is placed at Station \(2n_{i} +2\) of the i-th floor.

Fig. 1
figure 1

Top view of the i-th floor of the manufacturing process (horizontal material handling)

In Fig. 2, the schematic of the side view of the MFM process is presented. The elevator system has one car that moves in a vertical shaft between floors. The elevator has two different operations: The first is the transfer of products from the input/output (ground) floor to any other floor and vice versa. The second is the transfer of products from one floor to the next floor, i.e., to transfer products from the i-th floor to the \(i+1\)-th floor. The idle position of the elevator is at the level of the input/output floor. In order to handle calls from different floors, a prioritization system will be designed.

Fig. 2
figure 2

Side view of the i-th floor of the manufacturing process (vertical material handling)

3 Modeling of the process

3.1 Horizontal material handling

The finite deterministic automata describing the product transfer between the machines installed on the same floor, namely the horizontal material handling system, will be presented. The automata are in accordance with the model of the single floor manufacturing process presented in [12]. On the ground floor being the input/output floor, there are no manufacturing machines and stations. Thus, the automaton of each floor is indexed by \(i\in \{ 1,\ldots ,m\} \). Before presented the automaton of the i-th floor, it is noted that each station has a terminal switch being activated when the platform reaches the station. When a manufactured product is available at an output station then an appropriate event is generated. Thus, there are \(n_{i} +1\) product availability events, including the output station of the elevator. The robotic platform delivers the products from the output station of a machine to the input station of the next machine, the delivery process is concluded when the terminal switch is activated. The automaton of the i-th floor is of the form of the 6-tuple (for 6-tuple automata, see [12, 13, 15, 19, 20]):

$$\begin{aligned} {}^{i} {\varvec{G}}= ({}^{i} {\varvec{Q}},{}^{i} {\varvec{E}},{}^{i} {\varvec{H}},{}^{i} f,{}^{i} x_{0}, {}^{i} {\varvec{Q}}_{m} ), ~~i\in \{ 1,\ldots ,m\}. \end{aligned}$$

The states of the mobile robot system are four. The states of the platform are two. The first state of the platform is denoted by \({}^{i} q_{1,1} \) and is the state where the platform is still. The second state of the platform is denoted by \({}^{i} q_{1,2} \) and is the state where the platform is moving. The states regarding the manipulators are also two. The first state, describing the case where the grippers of the two manipulators are open and the manipulators are at the low position, is denoted by \({}^{i} q_{2,1} \). The second state, describing the case where the grippers of the manipulators are closed and the manipulators are at the high position, is denoted by \({}^{i} q_{2,2} \). Thus, the set of the states of the automata of the i-th floor are

$$\begin{aligned} \begin{array}{ll} {}^{i} {\varvec{Q}}=&{} \{ ({}^{i} q_{1,1},{}^{i} q_{2,1} ),({}^{i} q_{1,1}, {}^{i} q_{2,2} ),({}^{i} q_{1,2}, {}^{i} q_{2,1} ),\\ &{}({}^{i} q_{1,2}, {}^{i} q_{2,2} )\}. \end{array} \end{aligned}$$

The alphabet of the automaton is

$$\begin{aligned} {}^{i} {\varvec{E}}= \{ {}^{i} e_{1}, {}^{i} e_{2}, {}^{i} e_{3}, {}^{i} e_{4} \} \cup {}^{i} {\varvec{E}}_{T} \cup {}^{i} {\varvec{E}}_{P}. \end{aligned}$$

The event \({}^{i} e_{1} \) is the command for the mobile robot system to start moving. This command is usually generated by the operator. The event \({}^{i} e_{2} \) is the command to stop the robotic mobile system and is usually generated by the operator or automatically in the case of the presence of an obstacle in front of the cart. The event \({}^{i} e_{3} \) is the command to move the manipulators to the low position and open the grippers. The event \({}^{i} e_{4} \) is the command to close the grippers and move the manipulators to the high position. The events set \({}^{i} {\varvec{ E}}_{T} =\bigcup _{k=1}^{2n_{i} +2}\left\{ {}^{i} e_{T,k} \right\} \) includes all the event signals generated when the terminal switches of stations 1,2,3,...,\(2n_{i} +2\) are turned on. The events set \({}^{i} {\varvec{E}}_{P} =\bigcup _{j=0}^{n_{i} }\left\{ {}^{i} e_{P,2j+1} \right\} \) includes all the event signals denoting that there are available products at stations \(1,3,5,\ldots ,2n_{i} +1\).

The initial state of the automaton is \({}^{i} x_{0} =({}^{i} q_{1,1}, {}^{i} q_{2,1} )\). All states of the automaton describe desirable operations. Therefore, all states of the automaton are marked, i.e., \({}^{i} {\varvec{Q}}_{m} ={}^{i} {\varvec{Q}}\).

The active event sets of the states of the automaton are

$$\begin{aligned}&{}^{i} {\varvec{H}}\left( ({}^{i} q_{1,1}, {}^{i} q_{2,1} )\right) ={}^{i} {\varvec{H}}\left( ({}^{i} q_{1,1}, {}^{i} q_{2,2} )\right) ={}^{i} {\varvec{E}}-\{ {}^{i} e_{2} \} ,\\&{}^{i} {\varvec{H}}\left( ({}^{i} q_{1,2}, {}^{i} q_{2,1} )\right) ={}^{i} {\varvec{H}}\left( ({}^{i} q_{1,2}, {}^{i} q_{2,2} )\right) ={}^{i} \varvec{E}. \end{aligned}$$

The transitions of the automaton are

$$\begin{aligned}{} & {} {}^{i} f(({}^{i} q_{1,1}, {}^{i} q_{2,1} ),{}^{i} e_{1} ) =({}^{i} q_{1,2}, {}^{i} q_{2,1} ),\\{} & {} {}^{i} f(({}^{i} q_{1,1}, {}^{i} q_{2,1} ),{}^{i} e_{3} ) =({}^{i} q_{1,1}, {}^{i} q_{2,2} ),\\{} & {} {}^{i} f(({}^{i} q_{1,1}, {}^{i} q_{2,1} ),e) =({}^{i} q_{1,1}, {}^{i} q_{2,1} ),\\{} & {} e\in {}^{i} \varvec{E}_{P} \cup {}^{i} \varvec{E}_{T} \cup \{ {}^{i} e_{4} \} ,\\{} & {} {}^{i} f(({}^{i} q_{1,1}, {}^{i} q_{2,2} ),{}^{i} e_{1} ) =({}^{i} q_{1,2}, {}^{i} q_{2,2} ),\\{} & {} {}^{i} f({}^{i} q_{1,1}, {}^{i} q_{2,2}, {}^{i} e_{4} ) =({}^{i} q_{1,1}, {}^{i} q_{2,1} ),\\{} & {} {}^{i} f(({}^{i} q_{1,1}, {}^{i} q_{2,2} ),e) =({}^{i} q_{1,1}, {}^{i} q_{2,2} ),\\{} & {} e\in {}^{i} \varvec{E}_{P} \cup {}^{i} \varvec{E}_{T} \cup \{ {}^{i} e_{3} \},\\{} & {} {}^{i} f(({}^{i} q_{1,2}, {}^{i} q_{2,1} ),{}^{i} e_{3} ) =({}^{i} q_{1,2}, {}^{i} q_{2,2} ),\\{} & {} {}^{i} f(({}^{i} q_{1,2}, {}^{i} q_{2,1} ),e) =({}^{i} q_{1,2}, {}^{i} q_{2,1} ),\\{} & {} e\in {}^{i} \varvec{E}_{P} \cup \{ {}^{i} e_{1}, {}^{i} e_{4} \},\\{} & {} {}^{i} f(({}^{i} q_{1,2}, {}^{i} q_{2,1} ),e) =({}^{i} q_{1,1}, {}^{i} q_{2,1} ),\\{} & {} e\in {}^{i} \varvec{E}_{T} \cup \{ {}^{i} e_{2} \},\\{} & {} {}^{i} f(({}^{i} q_{1,2}, {}^{i} q_{2,2} ),{}^{i} e_{4} ) =({}^{i} q_{1,2}, {}^{i} q_{2,1} ),\\{} & {} {}^{i} f(({}^{i} q_{1,2}, {}^{i} q_{2,2} ),e) =({}^{i} q_{1,2}, {}^{i} q_{2,2} ),\\{} & {} e\in {}^{i} \varvec{E}_{P} \cup \{ {}^{i} e_{1}, {}^{i} e_{3} \},\\{} & {} {}^{i} f(({}^{i} q_{1,2}, {}^{i} q_{2,2} ),e) =({}^{i} q_{1,1}, {}^{i} q_{2,2} ),\\{} & {} e\in {}^{i} \varvec{E}_{T} \cup \{ {}^{i} e_{2} \}. \end{aligned}$$

The closed behavior of an automaton [11] (language generated by an automaton [15]) is the set of all words triggering transmissions from the initial state of the automaton to any state of the automaton. The closed behavior of an automaton is denoted as \({\varvec{ L}}(\cdot )\), where the argument quantity is the automaton. The marked behavior of an automaton [11] (language marked by an automaton [15]) is the set of all words triggering transitions from the initial state of the automaton to any marked state of the automaton. The marked behavior of an automaton is denoted as \({\varvec{L}}_{m}(\cdot )\), where the argument is the automaton. Clearly, the closed behavior of the present automaton is equal to its marked behavior. The closed and the marked behaviors are \({\varvec{L}}({}^{i} {\varvec{G}})={\varvec{L}}_{m} ({}^{i} {\varvec{G}})=\overline{{}^{i} {\varvec{L}}}\), where

$$\begin{aligned}\begin{array}{ll} {}^{i} {\varvec{L}}=&{}\Big ( {}^{i} c_{q_{1,1} } +{}^{i} e_{3} ({}^{i} c_{q_{1,2} }^{*}) \big ({}^{i} e_{4} +{}^{i} e_{1} \big ({}^{i} c_{q_{2,2} } \\ &{}+{}^{i} e_{2}({}^{i} c_{q_{1,2} }^{*})({}^{i} e_{1}) \big )^{*} ({}^{i} e_{2}) ({}^{i} c_{q_{1,2} }^{*}) ({}^{i} e_{4}) \big ) \\ &{}+\big ({}^{i} e_{1} +{}^{i} e_{3}({}^{i} c_{q_{1,2} }^{*})({}^{i} e_{1})\big ({}^{i} c_{q_{2,2} } \\ &{}+{}^{i} e_{2} ({}^{i} c_{q_{1,2} }^{*}) ({}^{i} e_{1}) \big )^{*} ({}^{i} e_{4}) \big )\big ({}^{i} c_{q_{2,1} } +{}^{i} e_{3} \big ({}^{i} c_{q_{2,2} } \\ &{}+{}^{i} e_{2} ({}^{i} c_{q_{1,2} }^{*}) ({}^{i} e_{1}) \big )^{*} ({}^{i} e_{4}) \big )^{*} \big ({}^{i} e_{2}+{}^{i} e_{3} \big ({}^{i} c_{q_{2,2} } \\ &{}+{}^{i} e_{2} ({}^{i} c_{q_{1,2} }^{*} {}^{i} e_{1} \big )^{*} ({}^{i} e_{2}) ({}^{i} c_{q_{1,2} }^{*}) ({}^{i} e_{4}) \big ) \Big )^{*}, \end{array} \end{aligned}$$

where \({}^{i} c_{q_{1,1} } \), \({}^{i} c_{q_{1,2} } \), \({}^{i} c_{q_{2,1} } \) and \({}^{i} c_{q_{2,2} } \) are the regular expressions of the languages \({}^{i} {\varvec{E}}-\{ {}^{i} e_{1}, {}^{i} e_{2}, {}^{i} e_{3} \} \), \({}^{i} {\varvec{E}}-\{ {}^{i} e_{2}, {}^{i} e_{3} \} \), \({}^{i} {\varvec{E}}-\{ {}^{i} e_{1}, {}^{i} e_{2}, {}^{i} e_{4} \} \) and \({}^{i} {\varvec{E}}-\{ {}^{i} e_{2}, {}^{i} e_{4} \} \), respectively. Details about regular expressions and regular languages can be found in [11, 15]. The symbol \(\overline{\,\, \cdot \,\,}\) denotes the prefix closure of the argument language. According to [11, 15], the prefix closure of a languages is the set of the words being prefixes of the words of the argument language. Also, according to [11, 15], an automaton is nonblocking if the prefix closure of its marked behavior is equal to its closed behavior. Clearly, the present automaton is a nonblocking automaton, i.e., \({\varvec{ L}}({}^{i} {\varvec{G}})=\overline{{\varvec{L}}_{m} ({}^{i} {\varvec{G}})}\). The controllable event set is \({}^{i} {\varvec{ E}}_{c} =\{ {}^{i} e_{1}, {}^{i} e_{3}, {}^{i} e_{4} \} \bigcup {}^{i} {\varvec{E}}_{T} \bigcup {}^{i} {\varvec{E}}_{P} \). The uncontrollable event set is \({}^{i} {\varvec{E}}_{uc} =\{ {}^{i} e_{2} \} \).

3.2 Vertical material handling

The finite deterministic automaton describing product transfer system between floors, namely the vertical material handling system, will be presented. The product transfer is accomplished through an elevator system. The system consists of a car, a motor, one door on each floor, appropriate sensors and a robotic system. The car moves vertically along the elevator shaft. The motor generates car motion in two directions (up or down). The door of each floor opens and closes through appropriate commands. At each level, in front of the shaft, there is a door. The door is locked by a mechanism unless the car is stopped and aligned with the door. If the door is unlocked, it may open and close manually.

A sensor (switch contact circuit) detects whether the door is opened or closed. The sensors of the \(m+1\) doors are connected through the same cable. This way, a common “open” signal and a common “closed” signal is produced. At each floor there are two buttons. The first is the “call” button and the second is the “send” button. The call button commands the car to arrive at the floor and the send button commands the car to go the ground floor. At the ground floor, there is a button that commands the car to come from every floor.

At each floor, two more sensors are installed. The first is the floor sensor. It is placed in the shaft a little over the top of the door of the floor The second is the car alignment sensor and is placed in the shaft at the height of the floor. The total number of the shaft’s sensors is \(2m+2\). When a level sensor is activated, then it would be desired for the motor to switch to slow speed. When an alignment sensor is activated then it would be desired for the motor to stop. Finally, there is an emergency signal produced by sensors in the shaft e.g., fire detector, earthquake detector.

The robotic system is installed inside the car. The robotic system is mounted on one side of the car. The mission of the robotic system is to load and unload products. The products are unloaded to Station 1 of each floor and the manufactured products are loaded from Station \(2n_{i} +2\) of the i-th floor, where \(i\in \{ 1,\ldots ,m\} \). To cover the ground floor, where there are no manufacturing machines, it is considered that \(n_{0} =0\). This way, when the car is at the ground level, the products are loaded from Station 2 of the ground floor. For brevity purposes the robotic system of the car will not be modeled here.

Finally, it is mentioned that the automaton of the elevator system will be developed in accordance with the automaton presented in [13] for a mining process.

If the car is aligned with the level of the i-th floor, then the state of the car is denoted by \(q_{l,i} \), where \(i\in \{ 0,\ldots ,m\} \). The set of all states \(q_{l,i}\) is denoted by \({\varvec{Q}}_{l}\). Clearly, \(|{\varvec{Q}}_{l}|=m+1\), where \(|\cdot |\) denotes the cardinality of the argument set. The set of the states of the motor is \({\varvec{Q}}_{r} =\{ q_{r,1}, q_{r,2}, q_{r,3}, q_{r,4}, q_{r,5} \} \). If the car is stopped, then the motor is at state \(q_{r,1} \). If the car moves up with high speed, then the motor is at state \(q_{r,2} \). If the car moves up with low speed, then the motor is at state \(q_{r,3} \). If the car moves down with high speed, then the motor is at state \(q_{r,4}\). If the motor moves down with low speed, then the motor is at state \(q_{r,5} \). If the doors of all floors are closed, then the state of the doors is denoted by \(q_{d,1} \). If the door of at least one floor is open, then the state of the doors is denoted by \(q_{d,2} \). The set of the states of the doors is \({\varvec{Q}}_{d} =\{ q_{d,1}, q_{d,2} \} \). According to the above, the set of the states of the elevator system is \({\varvec{Q}}_{e} ={\varvec{Q}}_{l} \times {\varvec{Q}}_{r} \times {\varvec{Q}}_{d} \). The members of \({\varvec{Q}}_{e} \) are of the form \(q_{i,\eta , k} =(q_{l,i}, q_{r,\eta }, q_{d,k} )\), where \(i\in \{ 0,1,\ldots ,m\} \), \(\eta \in \{ 1,\ldots ,5\} \) and \(k\in \{ 1,2\} \).

The event \(e_{l,i} \), \(i\in \{ 0,1,\ldots ,m\} \), is generated when the downside of the car comes in contact with the level sensor of the i-th floor. The set \({\varvec{E}}_{l} =\{ e_{l,0}, \ldots ,e_{l,m} \} \) is the set of the events generated by the level sensors. The event \(e_{a,i} \) takes place when the downside of the car is aligned to the respective alignment sensor of the i-th floor. The set \({\varvec{E}}_{a} =\{ e_{a,0}, \ldots ,e_{a,m} \} \) is the set of the events provoked by the alignment sensors. The event \(e_{o} \) is the event taking place when at least one door is open. The event \(e_{cl} \) is the event taking place when all doors are closed. The event \(e_{g} \) is the event taking place when the button of the ground floor is pressed. The set \({\varvec{E}}_{ca} =\{ e_{ca,1}, \ldots ,e_{ca,m} \} \) is the set of the events taking place when the respective call buttons are pressed. The set \({\varvec{E}}_{s} =\{ e_{s,1}, \ldots ,e_{s,m} \} \) is the set of the events taking place when the respective send buttons is pressed. The events \(e_{e,a} \) and \(e_{e,d} \) are generated by the rising edge and falling edge of the emergency signal, respectively. The set of all events of the elevator system is

$$\begin{aligned} {\varvec{E}}_{e} ={\varvec{E}}_{l} \cup {\varvec{E}}_{a} \cup {\varvec{E}}_{ca} \cup {\varvec{E}}_{s} \cup \{ e_{o}, e_{cl}, e_{g}, e_{e,a}, e_{e,d} \}. \end{aligned}$$

Clearly, \(|{\varvec{E}}_{e}|=4m+7\).

The transitions \(\forall (i,\eta , k)\in \{ 0,1,\ldots ,m\} \times \{ 1,\ldots ,5\} \times \{ 1,2\} \) are

\(f(q_{i,\eta , k}, e_{e,d} )=q_{i,\eta , k}\),  \(f(q_{i,1,1}, e_{e,a} )=q_{i,1,1}, \)

\(f(q_{i,1,2}, e_{e,a} )=q_{i,1,2}\),  \(f(q_{i,2,1}, e_{e,a} )=q_{i,1,1},\)

\(f(q_{i,2,2}, e_{e,a} )=q_{i,1,2}\),  \( f(q_{i,1,1}, e_{o} )=q_{i,1,2},\)

\(f(q_{i,1,2}, e_{cl} )=q_{i,1,1}\),  \(f(q_{i,\eta , k}, e_{g} )=q_{i,4,k},\)

\(f(q_{i,\eta , k}, e_{ca,i} )=q_{i,2,k}\),  \(f(q_{i,\eta , k}, e_{s,i} )=q_{i,4,k}.\)

The transitions \(\forall (i,\eta , k)\in \{ 0,1,\ldots ,m\} \times \{ 1,3,5\} \) \(\times \{ 1,2\} \) are

\(f(q_{i,2,k}, e_{l,i} )=q_{i,3,k}\),  \( f(q_{i,4,k}, e_{l,i} )=q_{i,5,k},\)

\(f(q_{i,\eta , k}, e_{l,i} )=q_{i,\eta , k}.\)

The transitions \(\forall (i,\rho , k)\in \{ 0,1,\ldots ,m\} ^{2} \times \{ 1,2\} \) are

\(f(q_{i,2,k}, e_{a,\rho } )=q_{\rho , 2,k},\)  \(f(q_{i,3,k}, e_{a,\rho } )=q_{\rho , 1,k},\)

\( f(q_{i,4,k}, e_{a,\rho } )=q_{\rho , 4,k},\)  \(f(q_{i,5,k}, e_{a,\rho } )=q_{\rho , 1,k}.\)

The six-tuple

$$\begin{aligned} {\varvec{G}}_{e} =({\varvec{Q}}_{e}, {\varvec{E}}_{e}, f_{e}, {\varvec{H}}_{e}, x_{e,0}, {\varvec{Q}}_{m,e} ) \end{aligned}$$

is the finite deterministic automaton of the elevator system. The set \({\varvec{H}}(q_{i,j,k} )\) is the set of active events at each state \(q_{i,j,k} \) and is determined by the transition function. The initial state is \(x_{e,0} =q_{1,1,1} \). All states of the automaton are marked, i.e., \({\varvec{Q}}_{e,m} ={\varvec{Q}}_{e} \). Clearly, \({\varvec{L}}({\varvec{G}}_{e} )={\varvec{L}}_{m} ({\varvec{G}}_{e} )\). For the shake of brevity, the analytic expression of the system’s closed behavior is not presented. The set of the uncontrollable events is \({\varvec{E}}_{uc} =\{ e_{e,a}, e_{e,d} \} \). The set of the controllable events is \({\varvec{E}}_{c} ={\varvec{E}}-\{ e_{o}, e_{cl}, e_{e,a}, e_{e,d} \} \).

4 Desired behavior and desired languages

According to [11, 15], the formulation of the design specifications in the form of regular languages is one of the two possible alternatives. The second is the formulations of the specifications in the form of desired automata. Clearly, the use of regular languages is the most direct formal translation of natural language rules. The use of regular languages introduces analytic difficulties since it requires the proof of required language properties. On the other hand, the use of regular languages facilitates the realization of low complexity supervisors with predetermined satisfactory performance. Here, the desired behavior will first be presented in the form of rules and then the rules will be translated to regular languages.

4.1 Desired behavior of the horizontal material handling system

The configuration of the manufacturing process of the i-th floor is serial. The manufacturing process of the i-th floor is completed only if the product passes through all machines and uploaded at the Station \(2n_{i} +2\). The task of the mobile robotic platform is to deliver products from one station to another. It is desired performance is translated as follows: If the robotic platform is at Station 2j and there is product availability at Station \(2j+2\), then the mobile robotic platform moves to this station, else the mobile robotic platform moves towards Station \(2j+4\). If the platform is at Station \(2n_{i} +2\) and there is product availability at Station 1 then the mobile robotic platform moves to Station 1 otherwise the platform moves towards Station 2. This sequence of actions continuous interminably. At the beginning, the mobile robotic platform is stationed at station \(2n_{i} +2\) (initial state). This aforementioned desired behavior is in accordance to the desired behavior for the single floor processes presented in [12]. To guarantee this desired behavior, the following language is expressed in expanded form

$$\begin{aligned} {}^{i} {\varvec{K}}_{D} \!=\!\overline{\left( {}^{i,0} {\varvec{K}}_{D} {}^{i,1} {\varvec{K}}_{D} \ldots {}^{i,n_{i} } {\varvec{K}}_{D} \right) ^{*} },\ i\in \{ 1,\ldots ,m\}, \end{aligned}$$

where the regular expression of the language \({}^{i,j} {\varvec{K}}_{D} \), with \(j\in \{ 0,1,\ldots ,n_{i} \}\), is proposed to be

$$\begin{aligned} \begin{array}{ll} {}^{i,j} c_{D} =&{}{}^{i} e_{1} \big ({}^{i} e_{2} ({}^{i} e_{1} )\big )^{*} ({}^{i} e_{T,2j+2}) +{}^{i} e_{P,2j+1} ({}^{i} e_{1}) \\ &{}\times \big ({}^{i} e_{2} ({}^{i} e_{1}) \big )^{*} ({}^{i} e_{T,2j+1}) ({}^{i} e_{3}) ({}^{i} e_{4}) ({}^{i} e_{1}) \\ &{}\times \big ({}^{i} e_{2} ({}^{i} e_{1}) \big )^{*}({}^{i} e_{T,2j+2}) ({}^{i} e_{3}) ({}^{i} e_{4}). \end{array} \end{aligned}$$
(1)

4.2 Desired behavior of the vertical material handling system

The desired behavior of the vertical material handling system, i.e., the elevator system, is analyzed to the following specifications:

  • If at least one door is open, then the motor must stay stopped. To satisfy this specification, if one door is open then all button events must be deactivated.

  • If the call button of the ground floor or any send button at the rest floors is pressed, then the car must go to the ground floor without intermediate stations.

  • If the call button from any floor is pressed, then the car must go directly to the requested floor without intermediate stations. To satisfy this specification, the call and the send buttons of all other floors must be deactivated.

  • If the emergency signal is activated while the car moves, then the car must stop immediately and remain stopped until the falling edge of the emergency signal takes place. If the emergency signal is activated and the car is stopped at the level of a floor, then the door of the floor must stay unlocked and the car is not allowed to move until the falling edge of the emergency signal takes place.

The above specifications are in accordance with respective specifications proposed in [13], for a mining process. Here, specifications regarding the load of the car are not considered.

The specifications are analyzed to m languages, one for each floor. The ground floor is excepted. The desired language of the elevator for each floor is \({}^{i} {\varvec{K}}_{D,e} =\overline{{}^{i} {\varvec{K}}}\cap {\varvec{L}}( {\varvec{G}}_{e} )\), where \(i\in \{ 1,\ldots ,m\} \) and

$$\begin{aligned}\begin{array}{ll} {}^{i} {\varvec{K}}=&{}\big (\big ({\varvec{E}}_{ca}\! -\!\{ e_{ca,i} \} \!+\!{\varvec{E}}_{l} \!+\!{\varvec{E}}_{a} \big )^{*}\big (e_{o} e_{cl} +e_{e,a} e_{e,d} \\ &{} +({\varvec{E}}_{s} +e_{g} )e_{l,1} e_{a,1} +e_{ca,i} e_{l,i} e_{a,i} \big ) \big )^{*}. \end{array} \end{aligned}$$

Obviously, \({}^{i} {\varvec{K}}\nsubseteq {\varvec{L}}({\varvec{G}}_{e} )\).

4.3 Properties of the desired languages

According to [11, 15], the supervisory control scheme to be successful must comply with two basic guidelines. The first is that in order to guarantee the realizability of the supervisory control scheme with regard to the uncontrollable events of the system, namely a supervisor must not deactivate a transition triggered by an uncontrollable event. This means that the desired language must be controllable regarding the automaton of the system. The controllability of the desired languages will be proved in Lemma 1 and Lemma 2. The second guideline is that the controlled automaton must be nonblocking. This property can be satisfied by two other properties of the desired languages. First, the desired languages must be closed with regard to the marked behavior of the system. This property will be proved in Lemma 3 and Lemma 4. Secondly, the desired languages must be non-conflicting. This property will be proved in Lemma 5. This property is of essential importance for the superposition of the requirement of the desired behavior of the two languages. The latter requirement will be accomplished through modular supervisory control, see [11, 15]. The latter aspect will be defined and clarified in Subsection 5.3, using the results of Subsection 4.3.

Lemma 1

\({}^{i} {\varvec{K}}_{D} \) is controllable with respect to \({}^{i} {\varvec{G}}\).

Proof

Recall that \({}^{i} {\varvec{K}}_{D} =\overline{{}^{i} {\varvec{K}}_{D} }\) and \({}^{i} {\varvec{K}}_{D} \subseteq {\varvec{L}}({}^{i} {\varvec{G}})\). Let \(w\in {}^{i} {\varvec{K}}_{D} \) obviously it holds that \(w\in {\varvec{L}}({}^{i} {\varvec{G}})\). There are two cases. The first is \({}^i{f^{|w |}}({}^i{x_0},w) = ({}^i{q_{1,1}},{}^i{q_{2,k}})\) and the second is \({}^{i} f^{\mid w \mid } ({}^{i} x_{0}, w)=({}^{i} q_{1,2}, {}^{i} q_{2,k} )\) where \(k\in \{ 1,2\} \). The value of the function \({}^{i} f^{\mid w \mid }(\cdot ,\cdot )\) denotes the state of the composite transition, triggered by the word, \(w = {e_{{j_1}}}{e_{{j_2}}} \ldots {e_{{j_n}}}\), where \({e_{{j_1}}},\,{e_{{j_2}}},\ldots ,{e_{{j_n}}} \in {E}^i\), i.e.,

$$\begin{aligned} \begin{array}{l} {}^i{f^{\mid w \mid }}({}^i{x_0},w)\\ ={}^if\big ( { \cdots \big ( {{}^if\big ( {{}^if({}^i{x_0},{e_{{j_1}}}),{e_{{j_2}}}} \big ) \cdots } \big ),{e_{{j_n}}}} \big ). \end{array} \end{aligned}$$

Next, the deactivation of the transitions triggered by the uncontrollable event \({}^{i} e_{2}\), being the only uncontrollable event of \({}^i{\varvec{G}}\), will be examined. In the first case, it holds that \(w({}^{i} e_{2}) \notin {\varvec{L}}({}^{i} {\varvec{G}})\). In the second case, it holds that \(w({}^{i} e_{2}) \in {\varvec{L}}({}^{i} {\varvec{G}})\). According to [11, 15], \({}^{i} {\varvec{K}}_{D} \) is controllable with regard to \({}^{i} {\varvec{G}}\), if \(\overline{{}^i{K_D}}{}^i{E_{uc}} \cap L ({}^i{\varvec{G}}) \subseteq \overline{{}^i{K_D}} \). Hence, to prove controllability of \({}^{i} {\varvec{K}}_{D} \) with respect to \({}^{i} {\varvec{G}}\), it suffices to prove that \((w({}^{i} e_{2}) \in \overline{{}^{i} {\varvec{K}}_{D} })\wedge (w({}^{i} e_{2}) \in {\varvec{ L}}({}^{i} {\varvec{G}}))\). Since \(w({}^{i} e_{2}) \in {\varvec{L}}({}^{i} {\varvec{G}})\) and considering the analytic form of \({\varvec{L}}({}^{i} {\varvec{G}})\), it is observed that it is necessary for the word w to be of the form \(w=\hat{w}({}^{i} e_{1}) \), where \(\hat{w}\in \overline{{}^{i} {\varvec{K}}_{D} }\). From the definition of \({}^{i} {\varvec{K}}_{D} \) it is observed that the appearance of \({}^{i} e_{1} \) is followed always by \(\big (({}^{i} e_{2})({}^{i} e_{1}) \big )^{*} \). Clearly, \({}^{i} e_{2} \) is a prefix of every word that belongs to the regular expression \(\big (({}^{i} e_{2})({}^{i} e_{1}) \big )^{*} -\varepsilon \). Hence, \(w({}^{i} e_{2}) \in \overline{{}^{i} {\varvec{K}}_{D} }\). \(\square \)

Lemma 2

\({}^{i} {\varvec{K}}\) is controllable with respect to \({\varvec{G}}_{e} \).

Proof

Consider the language \({}^{i} {\varvec{K}}\) defined in Subsection 4.2. Let a word belonging to the first part of \({}^{i} {\varvec{K}}\), i.e., \(w\in \overline{\left( ({\varvec{E}}_{ca} -\{ e_{ca,i} \} +{\varvec{E}}_{l} +{\varvec{E}}_{a} )^{*} \right. }\). Clearly, w contains only controllable events. From the form of \({}^{i} {\varvec{K}}\) it holds that \(w\in \overline{{}^{i} {\varvec{ K}}}\). Let an event e where \(e\in {\varvec{E}}_{uc} \). Since \(w{e_{e,d}} \notin L({{\varvec{G}}_e})\), it holds that \(we\in \overline{{}^{i} {\varvec{K}}}\cap {\varvec{L}}({\varvec{G}}_{e} )\) only if \(e=e_{e,a} \). Also, since \(we_{e,a} e_{e,a} \notin {\varvec{L}}({\varvec{G}}_{e} )\), it holds that \(we_{e,a} e\in \left( \overline{{}^{i} {\varvec{K}}}\cap {\varvec{ L}}({\varvec{G}}_{e} )\right) \) only if \(e=e_{e,d} \). This holds true, since the uncontrollable events \(e_{e,a} \) and \(e_{e,d} \) take place in \({\varvec{L}}({\varvec{G}}_{e} )\) and \({}^{i} {\varvec{K}}\) alternatively, i.e., in a way that after the appearance of one of them, its reappearance takes place only if the other uncontrollable event has taken place. Based on the above and the criterion of the controllability, the proof has been completed. \(\square \)

A language is prefix-closed if it is equal to its prefix closure, see [11, 15]. Since \(\overline{{}^{i} {\varvec{K}}}\) and \({\varvec{L}}({}^{i} {\varvec{G}}_{e} )\) are prefix-closed and controllable, then according to [15], page 152, the language \({}^{i} {\varvec{K}}_{D,e} \) is prefix-closed and controllable. We are now in position to prove the following Lemmas.

Lemma 3

The desired language \({}^{i} {\varvec{K}}_{D} \) is \({\varvec{L}}_{m} ({}^{i} {\varvec{G}})\)-closed.

Proof

According to [11, 15], the language \({}^{i} {\varvec{K}}_{D} \) is \({\varvec{L}}_{m} ({}^{i} {\varvec{G}})\)-closed if it is equal to the intersection of its prefix closure and \({\varvec{L}}_{m} ({}^{i} {\varvec{G}})\). Since \({}^{i} {\varvec{K}}_{D} \subseteq {\varvec{L}}({}^{i} {\varvec{G}})\), \({}^{i} {\varvec{K}}_{D} =\overline{{}^{i} {\varvec{ K}}_{D} }\) and \({\varvec{L}}_{m} ({}^{i} {\varvec{G}})={\varvec{L}}({}^{i} {\varvec{G}})\), it is observed that \(\overline{{}^{i} {\varvec{K}}_{D} }\cap {\varvec{L}}_{m} ({}^{i} {\varvec{G}})=\) \(\overline{{}^{i} {\varvec{K}}_{D} }\cap {\varvec{L}}({}^{i} {\varvec{G}})=\overline{{}^{i} {\varvec{K}}_{D} }=\) \({}^{i} {\varvec{K}}_{D} \). \(\square \)

Lemma 4

The desired language \({}^{i} {\varvec{K}}_{D,e} \) is \({\varvec{L}}_{m} ({\varvec{G}}_{e} )\)-closed.

Proof

According to [15], page 155, the prefix closure of the intersection of two prefix-closed languages is equal to their intersection. Thus, the following equalities hold true:

$$\begin{aligned} \begin{array}{ll} &{}{\overline{{}^{i} \varvec{K}}_{D,e} }\cap {\varvec{L}}_{m} ({\varvec{G}}_{e} )\\ &{}=\overline{\overline{{}^{i} {\varvec{ K}}}\cap {\varvec{L}}({\varvec{G}}_{e} )}\cap {\varvec{L}}_{m} ({\varvec{G}}_{e} )\\ &{}=\overline{{}^{i} {\varvec{K}}}\cap {\varvec{ L}}({\varvec{G}}_{e} )\cap {\varvec{L}}_{m} ({\varvec{G}}_{e} )={}^{i} {\varvec{K}}_{D,e}. \end{array} \end{aligned}$$

\(\square \)

Lemma 5

The m desired languages \({}^{i} {\varvec{K}}_{D,e} \), where \(i\in \{ 1,\ldots ,m\} \) are non-conflicting.

Proof

According to [11, 15], two or more languages are non-conflicting if the prefix closure of their intersection is equal to the intersection of their prefix closures. Also, according to [15], page 155, the prefix closure of the intersection of two prefix-closed languages is equal to their intersection. Thus, \({}^{i} {\varvec{K}}_{D,e} =\overline{{}^{i} {\varvec{K}}_{D,e} }\) and consequently

\(\overline{\bigcap \limits _{i=1}^{m}{}^{i} {\varvec{K}}_{D,e} }=\overline{\bigcap \limits _{i=1}^{m}\overline{{}^{i} {\varvec{K}}_{D,e} } }=\bigcap \limits _{i=1}^{m}\overline{{}^{i} {\varvec{K}}_{D,e} }. \) \(\square \)

4.4 The total desired behavior

To present the total desired behavior, two projection will be defined. Let \({}^{i} P_{D}^{} \) be the projection of \({\varvec{E}^*}\) to \({}^{i} {\varvec{E}^*}\) and \(P_{D,e}^{} \) be the projection of \({\varvec{E}^*}\) to \({\varvec{E}}^*_{e}\), where \({\varvec{ E}}={\varvec{E}}_{e} \cup \bigcup _{\lambda =1}^{m}{}^{i} {\varvec{E}} \). According to [15], page 58, the inverse projection of a prefix-closed language is prefix-closed. Thus, since the languages \({}^{i} {\varvec{K}}_{D} \) and \({}^{i} {\varvec{K}}_{D,e} \) for \(i\in \{ 1,\ldots ,m\} \) are prefix-closed then the languages \({}^{i} P_{D}^{-1} (\overline{{}^{i} {\varvec{K}}_{D} })\) and \(P_{D,e}^{-1} (\overline{{}^{i} {\varvec{K}}_{D,e} })\) are also prefix-closed.

The desired behavior of the total system, namely the manufacturing chains of all floors and the elevator system is expressed in the form of the following total desired language:

$$\begin{aligned} \Big (\textstyle \bigcap \limits _{i=1}^{m}{}^{i} P_{D}^{-1} ({}^{i} {\varvec{K}}_{D} ) \Big )\cap \Big (\textstyle \bigcap \limits _{i=1}^{m}P_{D,e}^{-1} ({}^{i} {\varvec{K}}_{D,e} ) \Big ). \end{aligned}$$

5 Supervisor design

5.1 Local supervisors of the horizontal material handling system

The supervisor, realizing \({}^{i} {\varvec{K}}_{D} \), is proposed to be

$$\begin{aligned} {}^{i} {\varvec{S}}=({}^{i} {\varvec{Q}}_{S}, {}^{i} {\varvec{E}}_{S},{}^{i} f_{S}, {}^{i} {\varvec{H}}_{S}, {}^{i} x_{S,0}, {}^{i} {\varvec{Q}}_{S,m} ). \end{aligned}$$

The set of the states of the i-th supervisor is \({}^{i} {\varvec{Q}}_{S} =\bigcup _{\lambda =0}^{n_{i} }{}^{i,\lambda } {\varvec{ Q}}_{S} \), where \({}^{i,j} {\varvec{Q}}_{S} =\{ {}^{i,j} q_{S,1}, {}^{i,j} q_{S,2},\) \( \ldots ,{}^{i,j} q_{S,11} \}\) and \(j\in \{ 0,1,\ldots ,n_{i} \} \). The alphabet of the i-th supervisor is \({}^{i} {\varvec{E}}_{S} ={}^{i} {\varvec{E}}\). The initial state is \(\, {}^{i} x_{S,0} ={}^{i,0} q_{S,1} \) and the set of the marked states is \({}^{i} {\varvec{Q}}_{S,m} ={}^{i} {\varvec{Q}}_{S} \). For \(j\in \{ 0,1,\ldots ,n_{i} \} \), the active events sets are defined to be

$$\begin{aligned} {}^{i} {\varvec{H}}({}^{i,j} q_{S,1} )= & {} \{ {}^{i} e_{P,2j+1}, {}^{i} e_{1} \},\\ {}^{i} {\varvec{H}}({}^{i,j} q_{S,2} )= & {} \{ {}^{i} e_{1} \},\\ {}^{i} {\varvec{H}}({}^{i,j} q_{S,3} )= & {} \{ {}^{i} e_{2}, {}^{i} e_{T,2j+1} \},\\ {}^{i} {\varvec{H}}({}^{i,j} q_{S,4} )= & {} \{ {}^{i} e_{3} \},\\ {}^{i} {\varvec{H}}({}^{i,j} q_{S,5} )= & {} \{ {}^{i} e_{4} \},\\ {}^{i} {\varvec{H}}({}^{i,j} q_{S,6} )= & {} \{ {}^{i} e_{1} \},\\ {}^{i} {\varvec{H}}({}^{i,j} q_{S,7} )= & {} \{ {}^{i} e_{2}, {}^{i} e_{T,2j+2} \},\\ {}^{i} {\varvec{H}}({}^{i,j} q_{S,8} )= & {} \{ {}^{i} e_{3} \},\\ {}^{i} {\varvec{H}}({}^{i,j} q_{S,9} )= & {} \{ {}^{i} e_{4} \},\\ {}^{i} {\varvec{H}}({}^{i,j} q_{S,10} )= & {} \{ {}^{i} e_{2}, {}^{i} e_{T,2j+2} \},\\ {}^{i} {\varvec{H}}({}^{i,j} q_{S,11} )= & {} \{ {}^{i} e_{1} \}. \end{aligned}$$

For \(j\in \{ 0,1,\ldots ,n_{i} \} \), the transitions of the supervisor are

$$\begin{aligned} {}^{i} f({}^{i,j} q_{S,1}, {}^{i} e_{P,2j+1} )= & {} {}^{i,j} q_{S,2},\\ {}^{i} f({}^{i,j} q_{S,1}, {}^{i} e_{1} )= & {} {}^{i,j} q_{S,10},\\ {}^{i} f({}^{i,j} q_{S,2}, {}^{i} e_{1} )= & {} {}^{i,j} q_{S,3},\\ {}^{i} f({}^{i,j} q_{S,3}, {}^{i} e_{2} )= & {} {}^{i,j} q_{S,2},\\ {}^{i} f({}^{i,j} q_{S,3}, {}^{i} e_{T,2j+1} )= & {} {}^{i,j} q_{S,4},\\ {}^{i} f({}^{i,j} q_{S,4}, {}^{i} e_{3} )= & {} {}^{i,j} q_{S,5},\\ {}^{i} f({}^{i,j} q_{S,5}, {}^{i} e_{4} )= & {} {}^{i,j} q_{S,6},\\ {}^{i} f({}^{i,j} q_{S,6}, {}^{i} e_{1} )= & {} {}^{i,j} q_{S,7},\\ {}^{i} f({}^{i,j} q_{S,7}, {}^{i} e_{2} )= & {} {}^{i,j} q_{S,6},\\ {}^{i} f({}^{i,j} q_{S,7}, {}^{i} e_{T,2j+2} )= & {} {}^{i,j} q_{S,8},\\ {}^{i} f({}^{i,j} q_{S,8}, {}^{i} e_{3} )= & {} {}^{i,j} q_{S,9},\\ {}^{i} f({}^{i,j} q_{S,10}, {}^{i} e_{2} )= & {} {}^{i,j} q_{S,11},\\ {}^{i} f({}^{i,j} q_{S,11}, {}^{i} e_{1} )= & {} {}^{i,j} q_{S,10},\\ {}^{i} f({}^{i,j} q_{S,9}, {}^{i} e_{4} )= & {} \left\{ \begin{array}{ll} {{}^{i,j+1} q_{S,1} }, &{} {~\text {if~~} j<n_{i} }, \\ {{}^{i,0} q_{S,1} }, &{} {~ \text {if~~} j=n_{i} }, \end{array}\right. \\ {}^{i} f({}^{i,j} q_{S,10}, {}^{i} e_{T,2j+2} )= & {} \left\{ \begin{array}{ll} {{}^{i,j+1} q_{S,1} }, &{} {~\text {if~~} j<n_{i} }, \\ {{}^{i,0} q_{S,1} }, &{} {~\text {if~~} j=n_{i} }. \end{array}\right. \end{aligned}$$

The closed behavior and the marked behavior of the supervisor \({}^{i} {\varvec{S}}\) are proven to be equal to the desired language

$$\begin{aligned} {\varvec{L}}({}^{i} {\varvec{S}})={\varvec{L}}_{m} ({}^{i} {\varvec{S}})={}^{i} {\varvec{K}}_{D}. \end{aligned}$$

Since \({\varvec{L}}({}^{i} {\varvec{G}})={\varvec{L}}_{m} ({}^{i} {\varvec{G}})\), \(\overline{{}^{i} {\varvec{K}}_{D} }={}^{i} {\varvec{K}}_{D} \) and the two languages have the same alphabet, the closed and marked behavior of the controlled system resulting after the application of the supervisor \({}^{i} {\varvec{S}}\) to \({}^{i} {\varvec{G}}\) are proven to be

$$\begin{aligned} \begin{array}{ll} {\varvec{L}}({}^{i} {\varvec{S}}\Vert {}^{i} {\varvec{G}})&{}={\varvec{L}}_{m} ({}^{i} {\varvec{S}}\Vert {}^{i} {\varvec{G}})={\varvec{L}}({}^{i} {\varvec{G}})\cap \overline{{}^{i} {\varvec{K}}_{D} } \\ &{}=\overline{{}^{i} {\varvec{K}}_{D} }={}^{i} {\varvec{K}}_{D}, \end{array} \end{aligned}$$
(2)

where \(\cdot \Vert \cdot \) denotes the synchronous product see [11] (or parallel composition see [15]) of the two (or more) argument automata.

The complexity of an automaton can be described by the triad including the number of the states, the number of the events and the number of the transitions of the automaton of the supervisor, indicatively see [21]. The complexity triad of the supervisor \({}^{i} {\varvec{S}}\) is

$$\begin{aligned} \left( 11(n_{i} +1),\, 3n_{i} +7,15(n_{i} +1)\right) . \end{aligned}$$

Note that the components of the complexity triad of \({}^{i} {\varvec{S}}_{e} \) are proportional to the number of machines of the respective floors, thus revealing the low complexity of the supervisor with respect to the main parameters of the problem.

5.2 Supervisors of the vertical material handling system

The supervisor, realizing the language \({}^{i} {\varvec{K}}\), is proposed to be

$$\begin{aligned} {}^{i} {\varvec{S}}_{e} =({}^{i} {\varvec{Q}}_{Se}, {}^{i} {\varvec{E}}_{Se}, {}^{i} f_{Se}, {}^{i} {\varvec{H}}_{Se}, {}^{i} x_{Se,0}, {}^{i} {\varvec{Q}}_{Se,m} ). \end{aligned}$$

The set of the states of the supervisor is

$$\begin{aligned} \begin{array}{ll} {}^{i} {\varvec{Q}}_{Se}=&{} \{ {}^{i} q_{Se,1},{}^{i} q_{Se,2},{}^{i} q_{Se,3},{}^{i} q_{Se,4},\\ &{}{}^{i} q_{Se,5},{}^{i} q_{Se,6}, {}^{i} q_{Se,7} \}. \end{array}\end{aligned}$$

The alphabet of the supervisor is

$$\begin{aligned} {}^{i} {\varvec{E}}_{Se} ={\varvec{E}}_{l} \cup {\varvec{E}}_{a} \cup {\varvec{E}}_{ca} \cup {\varvec{E}}_{s} \cup \{e_{o}, e_{cl}, e_{g}, e_{e,a}, e_{e,d} \}. \end{aligned}$$

The initial state is \({}^{i} \, x_{Se,0} ={}^{i} q_{Se,1} \) and the set of the marked states is \({}^{i} {\varvec{Q}}_{Se} ={}^{i} {\varvec{Q}}_{Se,m} \). The active event sets are

$$\begin{aligned}&\begin{array}{ll}{}^{i} {\varvec{H}}_{Se} ({}^{i} q_{Se,1} )=&{}\left( {\varvec{E}}_{ca} -\{ e_{ca,i} \} \right) \cup {\varvec{E}}_{l} \cup {\varvec{E}}_{a} \cup {\varvec{E}}_{s}\\ &{}\cup \{ e_{g}, e_{o}, e_{e,a}, e_{ca,i}\},\end{array}\\&{}^{i} {\varvec{H}}_{Se} ({}^{i} q_{Se,2} )=\{ e_{cl} \},\\&{}^{i} {\varvec{H}}_{Se} ({}^{i} q_{Se,3} )=\{ e_{e,d} \},\\&{}^{i} {\varvec{H}}_{Se} ({}^{i} q_{Se,4} )=\{ e_{l,1} \},\\&{}^{i} {\varvec{H}}_{Se} ({}^{i} q_{Se,5} )=\{ e_{l,i} \},\\&{}^{i} {\varvec{H}}_{Se} ({}^{i} q_{Se,6} )=\{ e_{a,1} \},\\&{}^{i} {\varvec{H}}_{Se} ({}^{i} q_{Se,7} )=\{ e_{a,i} \}. \end{aligned}$$

The transitions of the supervisor are

$$\begin{aligned}{} & {} {}^{i} f_{Se} ({}^{i} q_{Se,1}, e)={}^{i} q_{Se,1},\\{} & {} e\in \left( {\varvec{E}}_{ca} -\{ e_{ca,i} \} \cup {\varvec{E}}_{l} \cup {\varvec{E}}_{a} \right) ,\\{} & {} {}^{i} f_{Se} ({}^{i} q_{Se,1}, e_{o} )={}^{i} q_{Se,2},\\{} & {} {}^{i} f_{Se} ({}^{i} q_{Se,1}, e_{e,a} )={}^{i} q_{Se,3},\\{} & {} {}^{i} f_{Se} ({}^{i} q_{Se,1}, e)={}^{i} q_{Se,4}, \, e\in \left( {\varvec{E}}_{s} \cup \{ e_{g} \} \right) ,\\{} & {} {}^{i} f_{Se} ({}^{i} q_{Se,1}, e_{ca,i} )={}^{i} q_{Se,5},\\{} & {} {}^{i} f_{Se} ({}^{i} q_{Se,2}, e_{cl} )={}^{i} q_{Se,1},\\{} & {} {}^{i} f_{Se} ({}^{i} q_{Se,3}, e_{e,d} )={}^{i} q_{Se,1},\\{} & {} {}^{i} f_{Se} ({}^{i} q_{Se,4}, e_{l,1} )={}^{i} q_{Se,6},\\{} & {} {}^{i} f_{Se} ({}^{i} q_{Se,6}, e_{a,1} )={}^{i} q_{Se,1},\\{} & {} {}^{i} f_{Se} ({}^{i} q_{Se,5}, e_{l,i} )={}^{i} q_{Se,7},\\{} & {} {}^{i} f_{Se} ({}^{i} q_{Se,7}, e_{a,i} )={}^{i} q_{Se,1}. \end{aligned}$$

The closed and marked behavior of the supervisor is

$$\begin{aligned} {\varvec{L}}({}^{i} {\varvec{S}}_{e} )={\varvec{L}}_{m} ({}^{i} {\varvec{S}}_{e} )=\overline{{}^{i} {\varvec{K}}}. \end{aligned}$$

Since \({\varvec{L}}({\varvec{G}}_{e} )={\varvec{L}}_{m} ({\varvec{G}}_{e} )\) and the alphabet of \({\varvec{ L}}({\varvec{G}}_{e} )\) is equal to the alphabet of \(\overline{{}^{i} {\varvec{K}}}\), the closed and marked behavior of the controlled system resulting the application of the supervisor \({}^{i} {\varvec{S}}_{e} \) to the automaton \({\varvec{G}}_{e} \) are

$$\begin{aligned} {\varvec{L}}({}^{i} {\varvec{S}}_{e} \Vert {\varvec{G}}_{e} )={\varvec{L}}_{m} ({}^{i} {\varvec{S}}_{e} \Vert {\varvec{G}}_{e} )={\varvec{L}}({\varvec{G}}_{e} )\cap \overline{{}^{i} {\varvec{K}}}={}^{i} {\varvec{K}}_{D,e}. \end{aligned}$$

The complexity triad of the supervisor \({}^{i} {\varvec{S}}_{e} \) is

$$\begin{aligned} \left( 7,\, 4m+7,4m+11\right) . \end{aligned}$$

Note that the first component of the complexity triad of \({}^{i} {\varvec{S}}_{e} \) is independent from the number of floors while the second and the third are proportional to the number of floors, thus revealing the low complexity of the supervisor.

5.3 The modular supervisory control scheme

Since the mathematical models of all the subsystems of the manufacturing process have disjoin alphabet sets, it holds that the synchronous product of the automata is a shuffle [11]. This means that the automata of the horizontal handling system of each floor and the automaton of the vertical handling system do not affect one another. Obviously, the automata of the corresponding supervisors of horizontal handling systems and the vertical handling system do not affect the other subsystems.

Regarding the horizontal material handling system of the i-th floor, the supervisor \({}^{i} {\varvec{S}}\) is applied only to the automaton \({}^{i} {\varvec{G}}\) without affecting the automata of the other floors as well as the automaton of the elevator. According to [11, 15], the supervisor \({}^{i} {\varvec{S}}\) is a nonblocking supervisor of \({}^{i} {\varvec{G}}\) as the language \({}^{i} {\varvec{K}}_{D} \) a) is controllable regarding the automaton \({}^{i} {\varvec{G}}\) and b) is \({\varvec{L}}_{m} ({}^{i} {\varvec{G}})\)- closed. Also, as is shown in Subsection 5.1., it holds that \({\varvec{L}}({}^{i} {\varvec{S}}\Vert {}^{i} {\varvec{G}})={\varvec{L}}_{m} ({}^{i} {\varvec{S}}\Vert f{}^{i} {\varvec{G}})={}^{i} {\varvec{K}}_{D} \).

Regarding the vertical material handling system, the supervisors \({}^{i} {\varvec{S}}_{e} \), where \(i\in \{ 1,\ldots ,m\} \), are applied to the automaton \({\varvec{G}}_{e} \) without affecting the automata of the horizontal material handling systems. According to [11, 15], the modular supervisory control scheme of supervisors \({}^{i} {\varvec{S}}_{e} \), where \(i\in \{ 1,\ldots ,m\} \), is a nonblocking modular supervisory scheme of \({\varvec{G}}_{e} \) as the languages \({}^{i} {\varvec{K}}_{D,e} \) where \(i\in \{ 1,\ldots ,m\} \), a) are controllable with respect to the automaton \({\varvec{G}}_{e} \) (see Lemma 2), b) are \({\varvec{L}}_{m} ({\varvec{G}}_{e} )\)-closed (see Lemma 4) and c) are non-conflicting among themselves (see Lemma 5).

Regarding the application of all supervisors \({}^{i} {\varvec{S}}_{e} \) to the elevator system \({\varvec{G}}_{e} \), where \(i\in \{ 1,\ldots ,m\}\), it holds that

$$\begin{aligned} \begin{array}{l} {\varvec{L}}\Big (\big (\mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{S}}_{e} \big )\Vert {\varvec{G}}_{e} \Big )\\ \quad ={\varvec{L}}_{m} \Big (\big (\mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{S}}_{e} \big )\Vert {\varvec{G}}_{e} \Big )={\varvec{L}}_{m} \Big (\mathop {\Vert }\limits _{i=1}^{m} \left( {}^{i} {\varvec{S}}_{e} \Vert {\varvec{G}}_{e} \right) \Big )\\ \quad =\bigcap \limits _{i=1}^{m}\left( \overline{{}^{i} {\varvec{K}}}\cap {\varvec{L}}({\varvec{G}}_{e} )\right) =\bigcap \limits _{i=1}^{m}{}^{i} {\varvec{K}}_{D,e}. \end{array} \end{aligned}$$
(3)

For the derivation of the above equalities, the last relation in Subsection 5.2. has been used, where

$$\begin{aligned} \mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{S}}_{e} ={}^{1} {\varvec{S}}_{e} \Vert {}^{2} {\varvec{S}}_{e} \Vert \cdots \Vert {}^{m} {\varvec{S}}_{e}. \end{aligned}$$

Before presenting the main result, the total automaton of the MFM process is presented to be \(\Big (\mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{G}}\Big )\Vert {\varvec{G}}_{e} \) while the total supervisor is \(\Big (\mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{S}}_{e} \Big )\Vert \Big (\mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{S}}\Big )\). Thus, the total controlled automaton, resulting after the application of the total supervisor to the total automaton of the MFM process, is

$$\begin{aligned} \mathop {\Vert }\limits _{i=1}^{m} \Big ({}^{i} {\varvec{S}}\Vert {}^{i} {\varvec{G}}\Big )\Vert \Big ((\mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{S}}_{e} )\Vert {\varvec{G}}_{e} \Big ). \end{aligned}$$

Theorem 1

The closed and the marked behavior of the total controlled automaton are equal to the total desired language, i.e.,

\(\begin{array}{l} {{\varvec{L}}\Big (\mathop {\Vert }\limits _{i=1}^{m} \left( {}^{i} {\varvec{S}}\Vert {}^{i} {\varvec{G}}\right) \Vert \Big ((\mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{S}}_{e} )\Vert {\varvec{G}}_{e} \Big )\Big )} \\ \quad {={\varvec{L}}_{m} \Big (\mathop {\Vert }\limits _{i=1}^{m} \left( {}^{i} {\varvec{S}}\Vert {}^{i} {\varvec{G}}\right) \Vert \Big ((\mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{S}}_{e} )\Vert {\varvec{G}}_{e} \Big )\Big )} \\ \quad {=\Big (\bigcap \limits _{i=1}^{m}{}^{i} P_{D}^{-1} ({}^{i} {\varvec{K}}_{D} ) \Big )\cap \Big (\bigcap \limits _{i=1}^{m}P_{D,e}^{-1} ({}^{i} {\varvec{K}}_{D,e} ) \Big ).} \end{array}\)

Fig. 3
figure 3

State diagram of the automaton of the supervisor \({}^{1} {\varvec{S}}_{e}\)

Proof

From the properties of the closed behavior of the synchronous product (see [11]), it is observed that

$$\begin{aligned} \begin{array}{l} {{\varvec{L}}\Big (\mathop {\Vert }\limits _{i=1}^{m} \left( {}^{i} {\varvec{S}}\Vert {}^{i} {\varvec{G}}\right) \Vert \Big ((\mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{S}}_{e} )\Vert {\varvec{G}}_{e} \Big )\Big )} \\ \quad {=\Big (\bigcap \limits _{i=1}^{m}{}^{i} P_{D}^{-1} \left( {\varvec{L}}({}^{i} {\varvec{S}}\Vert {}^{i} {\varvec{G}})\right) \Big ) }\\ \qquad \cap \, { P_{D,e}^{-1} \Big ({\varvec{L}}\big ((\mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{S}}_{e} )\Vert {\varvec{G}}_{e} \big )\Big ).} \end{array}\end{aligned}$$

Using the formulas in (2) and (3), it holds that

$$\begin{aligned} \begin{array}{l} {\Big (\bigcap \limits _{i=1}^{m}{}^{i} P_{D}^{-1} \Big ({\varvec{L}}({}^{i} {\varvec{S}}\Vert {}^{i} {\varvec{G}})\Big ) \Big )\cap }{ P_{D,e}^{-1} \Big ({\varvec{L}}\big ((\mathop {\Vert }\limits _{i=1}^{m} {}^{i} {\varvec{S}}_{e} )\Vert {\varvec{G}}_{e} \big )\Big )} \\ \quad ={\Big (\bigcap \limits _{i=1}^{m}{}^{i} P_{D}^{-1} ({}^{i} {\varvec{K}}_{D} ) \Big )\cap \Big (P_{D,e}^{-1} \big (\bigcap \limits _{i=1}^{m}{}^{i} {\varvec{K}}_{D,e} \big )\Big ).} \end{array} \end{aligned}$$

According to [pp. 58, 11], and since the languages \({}^{i} {\varvec{K}}_{D,e} \) are prefix-closed, it holds that

$$\begin{aligned} \begin{array}{l} {\Big (\bigcap \limits _{i=1}^{m}{}^{i} P_{D}^{-1} ({}^{i} {\varvec{K}}_{D} ) \Big )\cap P_{D,e}^{-1} \Big (\bigcap \limits _{i=1}^{m}{}^{i} {\varvec{K}}_{D,e} \Big )} \\ \quad = {\Big (\bigcap \limits _{i=1}^{m}{}^{i} P_{D}^{-1} ({}^{i} {\varvec{K}}_{D} ) \Big )\cap \Big (\bigcap \limits _{i=1}^{m}P_{D,e}^{-1} ({}^{i} {\varvec{K}}_{D,e} ) \Big ).} \end{array} \end{aligned}$$

Finally, it is noted that since all states of the automata and the supervisors are marked, the equality between the closed behavior and the marked behavior is derived. \(\square \)

The total complexity of the supervisory control scheme proposed here is computed to be of the following analytic form:

$$\begin{aligned} \begin{array}{l} ( {18m + 11\sum \limits _{\lambda = 1}^m {{n_\lambda }}, m(4m + 14) + 3\sum \limits _{\lambda = 1}^m {{n_\lambda }}, } \\ {m(4m + 26) + 15\sum \limits _{\lambda = 1}^m {{n_\lambda }} } ). \end{array} \end{aligned}$$

6 Illustrative example

Consider the special case of the MFM process, where the number of floors is \(m=2\), the number of manufacturing machines on the first floor is \(n_{1} =2\) and the number of manufacturing machines on the second floor is \(n_{2} =3\). The desired languages of the horizontal material handling system are specified as follows:

$$\begin{aligned} {}^{1} {\varvec{K}}_{D}= & {} \overline{\left( {}^{1,0} {\varvec{K}}_{D} {}^{1,1} {\varvec{K}}_{D} {}^{1,2} {\varvec{ K}}_{D} \right) ^{*} },\\ {}^{2} {\varvec{K}}_{D}= & {} \overline{\left( {}^{2,0} {\varvec{K}}_{D} {}^{2,1} {\varvec{K}}_{D} {}^{2,2} {\varvec{K}}_{D} {}^{2,3} {\varvec{K}}_{D} \right) ^{*} }, \end{aligned}$$
Fig. 4
figure 4

State diagram of the automaton of the supervisor \({}^{2} {\varvec{S}}_{e}\)

where

$$\begin{aligned} \begin{array}{l} {{}^{1,0} {\varvec{K}}_{D} ={}^{1} e_{P,1} ({}^{1} e_{1}) \big ({}^{1} e_{2} ({}^{1} e_{1}) \big )^{*} ({}^{1} e_{T,1}) ({}^{1} e_{3}) ({}^{1} e_{4}) }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,({}^{1} e_{1}) \big ({}^{1} e_{2} ({}^{1} e_{1})\big )^{*}({}^{1} e_{T,2}) ({}^{1} e_{3}) ({}^{1} e_{4}) + }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,{}^{1} e_{1} \big ({}^{1} e_{2} ({}^{1} e_{1})\big )^{*} ({}^{1} e_{T,2}), } \end{array}\\ \begin{array}{l} {{}^{1,1} {\varvec{K}}_{D} ={}^{1} e_{P,3} ({}^{1} e_{1}) \big ({}^{1} e_{2} ({}^{1} e_{1}) \big )^{*} ({}^{1} e_{T,3}) ({}^{1} e_{3}) ({}^{1} e_{4})}\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, ({}^{1} e_{1}) \big ({}^{1} e_{2} ({}^{1} e_{1}) \big )^{*} ({}^{1} e_{T,4}) ({}^{1} e_{3}) ({}^{1} e_{4}) + }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, {}^{1} e_{1} \big ({}^{1} e_{2} ({}^{1} e_{1}) \big )^{*} ({}^{1} e_{T,4}), } \end{array}\\ \begin{array}{l} {{}^{1,2} {\varvec{K}}_{D} ={}^{1} e_{P,5} ({}^{1} e_{1}) \big ({}^{1} e_{2} ({}^{1} e_{1}) \big )^{*} ({}^{1} e_{T,5}) ({}^{1} e_{3}) ({}^{1} e_{4}) }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, ({}^{1} e_{1}) \big ({}^{1} e_{2} ({}^{1} e_{1}) \big )^{*} ({}^{1} e_{T,6}) ({}^{1} e_{3}) ({}^{1} e_{4}) + }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, {}^{1} e_{1} \big ({}^{1} e_{2} ({}^{1} e_{1}) \big )^{*} ({}^{1} e_{T,6}), } \end{array}\\ \begin{array}{l} {{}^{2,0} {\varvec{K}}_{D} ={}^{2} e_{P,1} ({}^{2} e_{1}) \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,1}) ({}^{2} e_{3}) ({}^{2} e_{4}) }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,({}^{2} e_{1}) \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,2}) ({}^{2} e_{3}) ({}^{2} e_{4}) + }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, {}^{2} e_{1} \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,2}), } \end{array}\\ \begin{array}{l} {{}^{2,1} {\varvec{K}}_{D} ={}^{2} e_{P,3} ({}^{2} e_{1}) \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,3}) ({}^{2} e_{3}) ({}^{2} e_{4}) }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, ({}^{2} e_{1}) \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,4}) ({}^{2} e_{3}) ({}^{2} e_{4}) + }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, {}^{2} e_{1} \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,4}),} \end{array}\\ \begin{array}{l} {{}^{2,2} {\varvec{K}}_{D} ={}^{2} e_{P,5} ({}^{2} e_{1}) \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,5}) ({}^{2} e_{3}) ({}^{2} e_{4}) }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, ({}^{2} e_{1}) \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,6}) ({}^{2} e_{3}) ({}^{2} e_{4}) + }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, {}^{2} e_{1} \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,6}),} \end{array}\\ \begin{array}{l} {{}^{2,3} {\varvec{K}}_{D} ={}^{2} e_{P,7} ({}^{2} e_{1}) \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,7}) ({}^{2} e_{3}) ({}^{2} e_{4}) }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, ({}^{2} e_{1}) \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,8}) ({}^{2} e_{3}) ({}^{2} e_{4}) + }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\, {}^{2} e_{1} \big ({}^{2} e_{2} ({}^{2} e_{1}) \big )^{*} ({}^{2} e_{T,8}).} \end{array} \end{aligned}$$
Fig. 5
figure 5

State diagram of the automaton of the supervisor \({}^{1} {\varvec{S}}\)

For the present special case, the alphabets of the elevator are

$$\begin{aligned}{} & {} {\varvec{E}}_{l} =\{ e_{l,0}, e_{l,1}, e_{l,2} \}, {\varvec{E}}_{a} =\{ e_{a,0}, e_{a,1}, e_{a,2} \},\\{} & {} {\varvec{E}}_{ca} =\{ e_{ca,1}, e_{ca,2} \}, {\varvec{E}}_{s} =\{ e_{s,1}, e_{s,2} \}, \end{aligned}$$

and the desired languages of the vertical material handling system are specified as follows:

$$\begin{aligned} \begin{array}{l} {{}^{1} {\varvec{K}}=\big (e_{ca,2} +e_{l,0} +e_{l,1} +e_{l,2} +e_{a,0} + }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\ e_{a,1} +e_{a,2} \big )^{*} \big (e_{o} e_{cl} +e_{e,a} e_{e,d} +(e_{s,1} +}\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\ e_{s,2} +e_{g} )e_{l,0} e_{a,0} +e_{ca,1} e_{l,1} e_{a,1} )\big )^{*} }, \end{array}\\ \begin{array}{l} {{}^{2} {\varvec{K}}=\big (e_{ca,1} +e_{l,0} +e_{l,1} +e_{l,2} +e_{a,0} +}\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\ e_{a,1} +e_{a,2} \big )^{*} \big (e_{o} e_{cl} +e_{e,a} e_{e,d} +(e_{s,1} + }\\ {\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\,\ e_{s,2} +e_{g} )e_{l,0} e_{a,0} +e_{ca,2} e_{l,2} e_{a,2} )\big )^{*}. } \end{array} \end{aligned}$$

For the present MFM process case, the supervisors \({}^{1} {\varvec{S}}_{e}\), \({}^{2} {\varvec{S}}_{e}\), \({}^{1} {\varvec{S}}\) and \({}^{2} {\varvec{S}}\), are specified as in Figs. 3, 4, 5 and 6, respectively.

Fig. 6
figure 6

State diagram of the automaton of the supervisor \({}^{2} {\varvec{S}}\)

7 Conclusion

The coordination in a MFM process has been achieved by the design of appropriate nonblocking supervisors in the form of finite deterministic automata. The model of the MFM process and the modular supervisors are parametric with respect to the number of floors and the number of manufacturing machines on each floor. Thus, generality and flexibility of the model and the controlled performance of the manufacturing process, are provided.

A future perspectives of the present research is the extension of the present results to include the automata describing the manufacturing machines and the automata describing the transfer of products from the machines to the stations and vice versa. Another future perspective is to include models covering the case where possible production faults may take place.