Method for control of a process flow according to a specified behavior with a computer

Abstract: A new approach to the modelling and control of timed state based processes is proposed. Instead of the treatment of time units the invention treats activities directly thus achieving much smaller models and supervising process controllers. As well the amount of computations to analyse and generate the controller is highly reduced. A new computation method for time bounds is described. Such an approach and the corresponding technology is directly applicable to fields such as automated manufacturing, transport systems and communications systems, and offers important advantages over other existing approaches, mainly: automated coding of supervisory control strategies in industrial control systems and the very compact modelling of timed state based processes.

Description: The invention relates to automated process control including processes with specified time constraints. Advances in automated manufacturing and trends towards the application of more computer implemented process controls, as well as the increase of the size of such implementations lead to even more complex and clumsy process-control-structures. In application fields such as automated production, complex layered communication-protocols, like in ISDN, or Video on demand, computer communication, internal processor busses, transportation systems, or object communication in object oriented programs, time requirements get more and more important and, caused by the complexity of the problems, urge the need for a suitable method of description or modelling of such process-flows. The goal is to model and analyse such processes automatically in order to achieve a description level where in a further step the process flow controller can be generated automatically and the process itself can be controlled without the need of intensive programming and evaluation efforts. Several approaches have been made to this subject. The most recent known one state of the art is described in B. A. Brandin, W. M. Wonham, "The supervisory control of timed discrete-event systems", IEEE Transactions on Automatic Control, February 1994, pp. 329-342. There a modelling method is shown using timed state based processes, automatons, as modelling parts of processes to be modelled. Time units called "ticks" are used to show the inter dependencies of the automatons. It can be easily conceived from this document, that although establishing time constraints like upper- and lower time-bounds, while using ticks and automatons for modelling, even small automatons with few possible activities and few state transitions lead to fairly complex activity transition graphs. In order to establish a model of a more complex process-flow, these activity transition graphs have to be composed in one global process model, which ends up in a very large ununderstandable control-structure as shown for example in Figure 20. The synthesis of such models in order to derive a supervisor, a so called automaton, which includes all the possible and all the allowed activities and state transitions within the process control structure, is an even more tedious task, because these bulky structures have to be handled correctly. Thus it is an object of the invention to provide a Method for control of a process flow according to a specified behaviour with a computer, which leads to smaller and more user transparent process-models and to provide a method to automatically generate a supervisor control. A further object of the invention is to include the treatment of specified time constraints in the automated generation of supervisor controls. A further object of the invention is to omit "ticks" as time units. A further object of the invention is to ease development and analysis of process-control of complex technical processes. A further object of the invention is to provide a manufacturing process for a process-control of complex technical processes. These objects are solved according to the invention claimed in claim one. Preferable embodiments of the invention are claimed in the dependant claims. The invention has the advantage, that it delivers automatically computer generated complete models of very complex process flows, which are compact and correct in terms of the specified process characteristics. The invention has the further advantage, that it provides a new treatment of time constraints, which enables the modelling method to deal with activities instead of dealing with "ticks" and thus provides a tremendous amount of compaction as compared to the state of the art. The invention has the further advantage, that it can be easily used to model process flows in any of the above mentioned technical fields and other similar fields known to a person skilled in the art and that due to the invention complex processes can be analysed and their supervising controller can be generated automatically. The invention has the further advantage, that it provides a suitable way for the modelling and controlling method to be implemented as a very efficient computer executable process . The invention has the further advantage, that it delivers the computer generated data in such fashion, that they can be automatically converted into activity transition graphs. The invention has the further advantage, that it enables automated coding of process-controls. The invention has the further advantage, that it reduces the necessary amount of work to establish a process controller. The invention has the advantage, that for the first time it enables the modelling and analysis of very complex processes. The invention has the advantage, that it enables the very compact modelling of timed state based processes, and the efficient synthesis and verification of supervisory control strategies (supervisors) for timed state based processes which guarantee maximally permissive process behaviours within given specifications. The invention has the advantage, that it has long term potential since it provides a practical and unavoidable solution to the development of real time supervisory control systems for timed state based processes. Advantageously the invention guarantees cost reduction in the development of control systems through (a) new computer aided development tools such as user interfaces, synthesis tools, verification tools, and automated coding tools, and (b) their application to both nominal behaviours such as part routing and to other behaviours such as error recovery, emergency shutdowns, testing procedures, and manual operations. The invention has the further advantages, that it provides the very compact modelling of timed state based processes, as well as the efficient synthesis and verification of optimal supervisory control strategies for timed state based processes, and that the supervisory control strategies obtained are guaranteed by construction to restrict the processes real time behaviour within given behavioural specifications, as well as the supervisory control strategies obtained are guaranteed by construction to be maximally permissive within given behavioural specifications, also the processes restricted real time behaviour obtained is guaranteed to be nonblocking and the invention enables automated coding of supervisory control strategies in industrial control systems. In the following part of the description the invention is further disclosed using equations and figures. Figure 1 illustrates the relation between Σ, Σ u , Σ c and Σ f ; Figure 2 illustrates two vehicles V 1 and V 2 ; Figure 3 illustrates the timed behavior of the two vehicles traveling concurrently; Figure 4 illustrates a specification on the behavior of the two vehicles; Figure 5 illustrates the supervisor or restricted timed behavior of the two vehicle traveling concurrently; Figure 6 illustrates a manufacturing cell; Figure 7 illustrates the timed behavior of two machines working concurrently; Figure 8 illustrates a specification on the behavior of the two machines; and Figure 9 illustrates the supervisor of restricted timed behavior of the two machines working concurrently. 1 Notation Let A and B be arbitrary sets. Let a be an element of A. a ∈ A denotes a is in A. A × B denotes the Cartesian product of A and B . | A | denotes the cardinality of A, i.e. the number of objects in A . Let A be an arbitrary set of indexed objects a i , i ∈ I , with I denoting the corresponding index set. Π i ∈ I a i denotes the Cartesian product of the objects a i ∈ A over the index set I . Let A and B be two arbitrary subsets of a set C of objects. A ⊆ C denotes set inclusion, and A ⊂ C denotes strict set inclusion. A ∪ B denotes set union, and A ∪ ˙ B denotes the union of disjoint sets. Let A i , i ∈ I be arbitrary indexed subsets of a set C of objects, with I denoting the corresponding index set. ∪ i∈I A i denotes the set union of the subsets A i over the index set I . A ∩ B denotes set intersection. Let ∞ denote infinity. Let N denote the natural numbers {0,1,2,...}. For a, b ∈ N∪ ˙{∞} and a and b not simultaneously ∞, define a ― b = max(0, a - b ). Let V denote the logical disjunction operator (or), ∧ denote the logical disjunction operator (and), ¬ denote the logical negation operator (not), ∀ x denote the universal quantifier, ∃ x denote the existential quantifier. An automaton (or finite state machine) G is given by G = (Σ, Q ,δ, q 0 , Q m ) in which Σ is an alphabet, Q = { q 0 , q 1 ,...} is the state set (assumed finite and nonempty), δ : Q × Σ → Q is the transition function , q 0 ∈ Q is the initial state and Q m ⊆ Q is the marked state set. Let the transition function δ : Q × Σ → Q be defined at each q ∈ Q only for a subset of the elements σ ∈ Σ; namely δ is a partial function. The notation δ(σ, q )! will mean that δ(σ, q ) is defined. The events in a state based process modeled by the automaton G constitute the alphabet Σ, and are state transitions from a state q i ∈ Q to a state q j ∈ Q for which δ is defined. Let G = (Σ, Q ,δ, q 0 , Q m ) be an automaton. In order to represent G, Q may be identified with the nodes of a directed graph G whose edges are labeled with symbols σ ∈ Σ; namely ( q , σ, q ') is a labeled edge of G, if and only if δ(σ, q ) = q' . Such a graph is a state transition graph for G . In G we attach to q 0 an entering arrow as in → oq 0 , and marker states q ∈ Q m are represented as in q •. 2 Modelling In order to model the timed behavior a timed state based process we start with (i) an automaton (or finite state machine) A = (Σ, A ,δ A , a o , A m ) representing the untimed behavior of the state based process. Σ is a finite alphabet of event labels (or simply events). A represents an activity set whose elements are activities a. Here we shall restrict A to be finite. In the interpretation of A considered here, activities have duration in time, while events are instantaneous. The activity transition function δ A is a partial function δ A : A × Σ → A . a o is the initial activity and A m ⊆ A is the subset of marker activities. These are activities which have a particular meaning from a control perspective, such as for example, the end of a machine work cycle. (ii) together with default lower and upper time bounds for the events σ ∈ Σ. Let N denote the natural numbers {0,1,2,...,}. Each event label σ ∈ Σ will be equipped with a default lower time bound l σ ∈ N , and a default upper time bound u σ ∈ N∪ ˙{∞}, with l σ ≤ u σ . From the automaton A above and the corresponding default lower and upper time bounds, we model the timed behavior of the timed state based process considered with the automaton E = (Σ, E , δ E , e o , E m ). Σ is the finite alphabet of event labels in A above. E represents the timed activity set whose elements are timed activities e. As for A above, E is restricted to be finite. The activity transition function δ E is a partial function δ E : E × Σ → E. e o is the initial timed activity and E m ⊆ E is the subset of marker timed activities. As for A m above, these are timed activities which have a particular meaning from a control perspective. The automaton E = (Σ, E , δ E , e o , E m ) is now defined. For j, k ∈ N write [ j, k ] for the set of integers i with j ≤ i ≤ k and let for σ ∈ Σ R σ = [0, l σ ]. The timed activity set E is given by E = A × Π σ∈Σ ( R σ × T σ ). Therefore, a timed activity is an element of the form e = ( a , {( r σ , t σ ) such that σ ∈ Σ}) where a ∈ A, r σ ∈ R σ and t σ ∈ T σ ; namely, e consists of an activity together with n integer pairs, where n is the number of events σ in Σ. r σ will be called the lower-bound timer of σ in the timed activity e , and similarly t σ will be called the upper-bound timer of σ in the timed activity e. r σ represents the delay to the earliest possible occurrence of σ from the activity a . t σ represents the delay to the latest possible occurrence of σ from the activity a (possibly infinity). The initial timed activity is given by e o = ( a o , {( l σ , u σ ) such that σ ∈ Σ}). The marker timed activity subset will be taken to be of the form We now provide the formal definition of δ E . Write δ E ( e , σ ) = e' , with e = ( a, {( r τ , t τ ) such that τ ∈ Σ}), e' = ( a', {( r' τ ,t' τ ) such that τ ∈ Σ}). δ E is defined for σ ∈ Σ at e if and only if σ is defined from a and there does not exist an other event α ∈ Σ defined from a whose upper time bound is strictly smaller than the lower time bound of σ: δ E ( e , σ )! if and only if δ A ( a , σ )! and (¬∃α ∈ Σ A )(α ≠ σ ∧ δ A ( a , α )!∧ t α < r σ ). The activity e' = ( a', {( r' τ , t' τ ) such that τ ∈ Σ}) is then defined as follows: a' = δ A ( a , σ ) and (i) if τ ≠ σ (ii) if τ = σ ( r' τ , t' τ ) = ( l τ , u τ ). The events σ ∈ Σ are divided in uncontrollable, controllable and forcible events. The subset of uncontrollable events is denoted Σ u . These are events which occur spontaneously within the corresponding time interval, and whose occurrence may not be disabled through control. The subset of controllable events is denoted Σ c . These are events which may be preempted indefinitely from occurring through control, i.e. their occurrence may be disabled through control. Their upper time bounds is therefore always infinity. If not disabled, controllable events will occur within the corresponding time interval. The subset of forcible events is denoted Σ f . Forcible events may either be uncontrollable or controllable. These are events that may be forced to occur through control any time during the corresponding time interval. Figure 1 illustrates the relation between Σ, Σ u , Σ c , and Σ f . 3 Composition In order to model the timed behavior of a number of timed based processes working in parallel, composition is required and is now presented. Given a number of automata A i = (Σ i , A i , δA i , a o,i , A m,i ), i = 1, ..., n representing the untimed behavior of corresponding timed state based processes, one single automaton A = ( Σ A , A, δ A , a o , A m ) embodying the synchronized untimed behavior of the automata A i , i = 1,..., n is obtained as follows: a o = ( a o ,1 , ..., a o,n ), and where δ A : A × Σ A → A is now defined. Let σ ∈ Σ A . Write δ A ( a, σ ) = a ' with a = ( a 1 ,..., a n ), a' = ( a' 1 , ..., a' n ). Then δ A ( a , σ) is defined if and only if for i = 1,..., n either δ A i ( a i , σ) is defined or σ is not in Σ i : δ A ( a , σ)! if and only if (δ A i ( a i , σ)! ∨ σ ∉ Σ i ), i = 1,..., n . The activity a' = ( a' 1 , ..., a' n ) is then given by: for i = 1,..., n For further reference we will denote the synchronous composition of A i , i = 1,..., n into A , by A = (Σ A , A, δ A , a o , A m ) = composition ( A 1 , ..., A n ). Having composed the various A i , i = 1,..., n into A , and given the default lower and upper time bounds of the events σ ∈ Σ A , the timed behavior E is obtained as described above in Section 2 above. Note: It is assumed that any event σ ∈ Σ A has unique default lower and upper time bounds ( l σ , u σ ), even if σ is shared by two or more alphabets Σ i , i ∈ {1,..., n }. 4 Model construction algorithm While Sections 2 and 3 define the timed behavior E of given timed state based processes modeled by a number of automata A i , i = 1,..., n and the corresponding event default lower and upper time bounds, the present Section provides the algorithm to construct E from A i , i = 1,..., n and the corresponding event default lower and upper time bounds. (1) Initialisation. For further reference we define four sets (i) the new set , (ii) the final set , (iii) the marker set , and (iv) the transitions set, all of which are assumed initially empty. We consider the initial timed activity e o = ( a o , {( l σ , u σ ) such that σ ∈ Σ}) with a o = ( a o ,1 , ..., a o,n ) Let e = ( a , {( r σ , t σ ) such that σ ∈ Σ}) with a = ( a 1 , ..., a n ). = e o . We add e to the new set. Furthermore, if all the activities a i , i = 1, ..., n composing a are marker activities, i.e. a i ∈ A m , i , i = 1, ..., n , we add e to the marker set. (2) Timed activities construction. Let e = ( a , {( r σ , t σ ) such that σ ∈ Σ}) with a = ( a 1 ,..., a n ). e is removed from the new set and is placed in the final set. For all the events σ ∈ Σ such that δ E ( e, σ) is defined we compute the corresponding timed activity δ ( e, σ ) = e' reached from e by σ. Recall that δ E ( e ,σ) is defined if and only if (i) δ A ( a ,σ) is defined, and (ii) there does not exist an other event α ∈ Σ such that δ A ( a ,α) is defined and whose upper time bound t α is strictly smaller than the lower time bound r σ of σ. Let e' = ( a' , {( r ' τ , t' τ ) such that τ ∈ Σ}) with a ' = ( a ' 1 ,..., a' n ). a ' is computed as follows: for i = 1, ..., n The lower and upper time bounds ( r' τ , t ' τ ), τ ∈ Σ are computed as follows: if τ ≠ σ if τ = σ ( r' τ , t ' τ ) = ( l τ , u τ ). Then, (i) if e' is not in the final set, we add e' to the new set, and if all the activities a' i , i = 1,..., n composing a' are marker activities, i.e. a' i ∈ A m,i , i = 1, ..., n , we add e' to the marker set; (ii) the transition ( e , σ, e' ) is added to the transitions set. (3) Timed activities construction loop. We consider in turn all the timed activities in the new set and repeat steps (2) to (3) until the new set is empty. Then, for the automaton E = (Σ, E, δ E , e o , E m ) we have Σ given as above, and E = final set δ E = transitions set e o = ( a o , {( l σ , u σ ) such that σ ∈ Σ}) with a o = ( a o ,1 ,..., a o,n ) E m = marker set. Modeling example 1: Traffic system The timed behavior of two vehicles crossing an intersection is modeled below. The two vehicles V 1 , V 2 are shown in Figure 2. We are given for Vehicle1: A 1 = (Σ 1 , A 1 ,δ A 1 , a o ,1 , A m ,1 ) A 1 = { departing 1 , crossed 1 } δ A 1 = {( departure 1 , pass 1 , crossed 1 )} a o ,1 = departing 1 A m ,1 = { crossed 1 } together with the following default lower and upper time bounds ( l pass 1 , u pass 1 ) = (8, 10). We are given for Vehicle2: A 2 = (Σ 2 , A 2 , δ A 2 , a o , 2 , A m,2 ) A 2 = { departing 2 , crossed 2 } δ A 2 = {( departure 2 , pass 2 , crossed 2 )} a o ,2 = departing 2 A m ,2 = { crossed 2 } together with the following default lower and upper time bounds ( l pass 2 , u pass 2 ) = (5,∞). The corresponding timed behavior E of the two vehicles traveling concurrently is obtained according to the procedure presented in Section 4, and is shown in Figure 3. E = (Σ, E ,δ E , e o , E m ) Σ = { pass 1 , pass 2 } E = { e o , e 1 , e 2 , e 3 } where e o = (( departing 1 , departing 2 ), (8, 10)(5, ∞)) e 1 = (( departing 1 , crossed 2 ), (0, 5)(5, ∞)) e 2 = (( crossed 1 , departing 2 ), (8, 10) (0, ∞)) e 3 = (( crossed 1 , crossed 2 ), (8, 10)(5, ∞)) δ E = {( e o , pass 1 , e 2 ), ( e o , pass 2 , e 1 ) , ( e 1 , pass 1 , e 3 ), ( e 2 , pass 2 , e 3 )} e o = (( departing 1 , departing 2 ), (8, 10)(5, ∞)) E m = {(( crossed 1 , crossed 2 ), (8, 10)(5, ∞))} It is important to note that the present model has 4 timed activities and 4 transitions versus 19 states and 30 transition using the state of the art. Modeling example 2: A two-machine manufacturing cell The timed behavior of two machines constituting a manufacturing cell is modeled below. The cell is shown in Figure 6. We are given for Machine1: A 1 = (Σ 1 , A 1 ,δ A 1 , a o ,1 A m ,1 ) A 1 = { processing 1 } δ A 1 = {( operational 1 , work 1 , operational 1 )} a o ,1 = operational 1 A m ,1 = { operational 1 } together with the following default lower and upper time bounds ( l work 1 , u work 1 ) = (5, 5). We are given for Machine2: A 2 = (Σ 2 , A 2 , δ A 2 , a o ,2 , A m ,2 ) A 2 = { processing 2 } δ A 2 = {( operational 2 , work 2 , operational 2 )} a o ,2 = operational 2 A m ,2 = { operational 2 } together with the following default lower and upper time bounds ( l work 2 , u work 2 ) = (2, ∞). The corresponding timed behavior E of the two machines working concurrently is obtained according to the procedure presented in Section 4, and is shown in Figure 7. E = (Σ, E , δ E , e o , E m ) where Σ = { work 1 , work 2 } E = { e o , e 1 , e 2 , e 3 , e 4 , e 5 , e 6 , e 7 , e 8 } where e o = (( operational 1 , operational 2 ), (5,5) (2, ∞)) e 1 = (( operational 1 , operational 2 ), (5, 5) (0, ∞)) e 2 = (( operational 1 , operational 2 ), (0, 3)(2, ∞)) e 3 = (( operational 1 , operational 2 ), (0, 5)(2, ∞)) e 4 = (( operational 1 , operotional 2 ), (0, 1)(2, ∞)) e 5 = (( operational 1 , operational 2 ), (5, 5)(1, ∞)) e 6 = (( operational 1 , operational 2 ), (0, 4) (2, ∞)) e 7 = (( operational 1 , operational 2 ), (0, 2)(2, ∞)) e 8 = (( operational 1 , operational 2 ), (0, 0)(2, ∞)) δ E = {( e o , work 1 , e 1 ), ( e o , work 2 , e 2 ), ( e 1 , work 2 , e 3 ), ( e 1 , work 1 , e 1 ), ( e 2 , work 1 , e 4 ), ( e 3 , work 2 , e 2 ), ( e 3 , work 1 , e 1 ), ( e 4 , work 1 , e 5 ), ( e 5 , work 2 , e 6 ), ( e 5 , work 1 , e 1 ), ( e 6 , work 2, e 7 ), ( e 6 , work 1 , e 1 ), ( e 7 , work 2 , e 8 ), ( e 7 , work 1 , e 1 ), ( e 8 , work 1 , e o )} e o = (( operational 1 , operational 2 ), (5,5)(2,∞)), E m = E . Again, it is important to note that the present model has 9 timed activities and 15 transitions versus 18 states and 24 transition using the state of the art. 5 Supervisor synthesis Given an automaton E representing the timed behavior of given timed state based processes, we are able through control, to restrict such behavior within given behavioral specifications represented by automata. The resulting restricted timed behavior is guaranteed by construction not to violate the specifications considered, to be maximally permissive within these, and to be nonblocking. Such restricted behavior is also represented in the form of an automaton. Nonblocking is taken here to mean that from any point in the restricted timed behavior considered, it must be possible to reach a point in the same behavior, with particular meaning from a control perspective, such as for example the end of a production cycle. In order to guarantee that the timed behavior of the timed state based processes considered remains through control within given behavioral specifications, the following must apply: at any point in the behavior of the timed state based processes considered either (i) any uncontrollable event which is physically possible must also be allowed by the specifications considered; or (ii) there must exist a forcible event, both physically possible and allowed by the specifications, able to preempt the occurrence of any physically possible uncontrollable event not allowed by the specifications; or (iii) it must be possible ahead of the point considered in the behavior, to prevent through disablement or forcing the behavior from reaching the point considered. In order to guarantee that the timed behavior of the timed state based processes considered is nonblocking, the following must also apply: (iv) from any point in the behavior considered, it must be possible to reach a point in behavior with particular meaning from a control perspective. The synthesis algorithm presented in this Section enables the construction of the processes nonblocking and maximally permissive behavior within given specifications represented by automata. Based on disablement, condition (ii) and condition (iii) above, the timed behavior of the timed state based processes considered is restricted in order to guarantee that conditions (i) and (iv) above hold at any point of the restricted behavior. The restricted timed behavior is returned in the form of an automaton C = (Σ, C, δ C , c o , C m ), and is referred to as a supervisor. Note that the restricted behavior may be empty, signifying that it is impossible to satisfy the specifications considered. Assume given (i) a number of automata A i = (Σ i , A i , δ A i , a o,i , A m,i ), i = 1,..., n representing the untimed behavior of corresponding timed state based processes, (ii) the corresponding event default lower and upper time bounds, and (iii) a number of automata A i = ( Σ i , A i , δ A i , a o , i , A m , i ), i = n + 1,..., m representing the specified and desired behavior of the timed state based processes considered, with the union of the desired behavior alphabets Σ i , i = n +1,..., m included in the union of the processes alphabets Σ i , i = 1,..., n , i.e. ∪ i = n +1,..., m Σ i ⊆ ∪ i =1,..., n Σ i . Let E = (Σ, E, δ E , e o , E m ) be defined as described in Section 2 from A = ( Σ A , A, δ A , a o , A m ) = composition ( A 1 ,..., A n ) and the corresponding time bounds. Let B = (Σ B , B ,δ B , B o , B m ) = compostion ( A n +1 ..., A m ). The behavior embodied by C is a subset of the behavior embodied by the synchronous composition of E and B . Therefore, we have for C = (Σ, C , δ C , c o , C m ) C ⊆ E × B δ C : C × E → C c o = ( e o , b o ) C m ⊆ E m × B m . The supervisor synthesis algorithm is now presented. (1) Initialisation. For further reference we define six sets (i) the new set , (ii) the final set, (iii) the bad set, (iv) the marker set, (v) the nonblocking set, and (vi) the transitions set , all of which are assumed empty initially. We consider the initial timed activity c o = ( e o ,b o ) = (( a o,1 ,..., a o,n ),{( l σ , u σ ) such that σ ∈ Σ}, ( a o,n +1 ,..., a o,m )). Let c = ( e,b ) c = (( a 1 ,..., a n ),{( r σ , t σ ) such that σ ∈ Σ}, ( a n +1 ,..., a m )) = c o . We place c in the new set. Furthermore, if all the activities a i , i = 1,..., n composing a are marker activities, i.e. a i ∈ A m , i , i = 1,..., n , we add e to the marker and nonblocking sets. (2) Physically possible and legal sets construction. Let c = ( e, b ) = (( a 1 ,..., a m ),{( r σ , t σ ) such that σ ∈ Σ}, ( a n +1 ,..., a m )). For e determine the set of events σ ∈ Σ such that δ A ( a ,σ) is defined. For convenience, refer to this set of events as the physically possible event set of c. Recall that these are the events for which (i) δ A ( a , σ) is defined and for which (ii) there does not exist an other event α ∈ Σ such that δ A ( a , α) is defined and whose upper time bound t α is strictly smaller than the lower time bound r σ of σ. For b determine the set of events σ ∈ Σ such that δ B ( b, σ) is defined. For convenience, refer to this set of events as the legal event set of c . (3) Bad timed activities identification. We remove the timed activity c = ( e,b ) = (( a 1 , ..., a m ), {(r σ , t σ ) such that σ ∈ Σ}, ( a n +1 , ..., a m )) from the new set. If (i) either all uncontrollable events σ in the physically possible event set of c are contained in the legal event set of c , or (ii) if for all the uncontrollable events σ in the physically possible event set of c which are not contained in the legal event set of c , there exists a forcible event β which is both in the physically possible event set of c and in the legal event set of c , such that its lower time bound r β is strictly smaller than the lower time bound r σ of σ, we place c = ( e , b) in the final set of σ; otherwise we place c in the bad set. (4) Bad timed activities identification. For all the timed activities c in the bad set, we find the corresponding timed activities c' in the final set from which c may be reached in one transition σ. If the transition σ leading to c from c' is uncontrollable and there does not exist a forcible event β in both the physically possible event set of c and in the legal event set of c , such that its lower time bound r β is strictly smaller than the lower time bound r σ of σ, we remove the activity c' from the marker, nonblocking and final sets and add it to the bad set, and remove the transition ( c' ,σ, c ) from the transition set. If the transition σ leading to c from c' is uncontrollable and there exists a forcible event β in both the physically possible event set of c and in the legal event set of c such that its lower time bound r β is strictly smaller than the lower time bound r σ of σ, u β is set so that u β is strictly smaller than r σ . If the transition σ leading to c from c' is controllable, we remove the transition ( c' , σ, c ) from the transition set, thus disabling it. (5) Bad timed activities identification loop. Step 4 is repeated until the number of timed activities in the bad set remains invariant. (6) Timed activities construction. For all the timed activities c in the final set and for all the events σ contained in both the physically possible event set of c and in the legal event set of c, we compute the corresponding timed activity δ ( c, σ ) = c' . Let c ' = ( a' ,{( r' τ , t' τ )such that τ ∈ Σ}, b' ) with a' = ( a' 1 ,..., a' n ) and b' = ( a' n +1 , ..., a' m ). a' is computed as follows: for i = 1,..., n The lower and upper time bounds ( r' τ , t' τ ), τ ∈ Σ are computed as follows: if τ ≠ σ if τ = σ ( r' τ , t' τ ) = ( l τ , u τ ). b' is computed as follows: for i = n + 1, ..., m Then, (i) if c' is not already in either the final set or in the bad set, we add c' to the new set, and if all the activities a i , i = 1,..., m composing a' and b' are marker activities, i.e. a' i ∈ A m,i , i = 1, ..., m , we add c' to the marker and nonblocking sets; (ii) the transition ( c , σ, c' ) is added to the transitions set. (7) Timed activities construction loop. Consider in turn all the timed activities in the new set and repeat steps (2) to (7) until the new set is empty. (8) Nonblocking timed activities identification. For all the timed activities c in the nonblocking set, we find the corresponding timed activities c' in the final set from which c may be reached in one transition σ. We add c' to the nonblocking set. (9) Nonblocking timed activities identification loop. Step 8 is repeated until the number of timed activities in the nonblocking set remains invariant. (10) Blocking timed activities removal. All the timed activities c in the final set and not in the nonblocking set are removed from the marker and final sets and are placed in the bad set. (11) Blocking timed activities removal. For all the activities in the bad set, we find the corresponding timed activities c' in the final set from which c may be reached in one transition σ. If the transition σ leading to c from c' is uncontrollable and there does not exist a forcible event β in both the physically possible event set of c and in the legal event set of c , such that its lower time bound r β is strictly smaller than the lower time bound r σ of σ, we remove the activity c' from the marker, nonblocking and final sets, and add it to the bad set, and remove the transition ( c' , σ, c ) from the transition set. If the transition σ leading to c from c' is uncontrollable and there exists a forcible event β in both the physically possible event set of c and in the legal event set of c, such that its lower time bound r β is strictly smaller than the lower time bound r σ of σ, u β is set so that u β is strictly smaller than r σ . If the transition σ leading to c from c' is controllable, we remove the transition ( c' , σ, c ) from the transition set. (12) Blocking activities identification loop. Step 11 is repeated until the number of timed activities in the bad set remains invariant. Then, for the automaton C = (Σ, C , δ C , c o , C m ) we have Σ given as above, and C = final set δ C = transitions set e o = ( a o , {( l σ , u σ ) such that σ ∈ Σ }, b o ) with a o = ( a o ,1 , ..., a o,n ), b o = ( a o,n +1 , ..., a o,m ) C m = marker set . Synthesis example 1: Traffic system Recall in the traffic system example of Section 4: Vehicle1: A 1 = (Σ 1 , A 1 ,δ A 1 , a o ,1 , A m ,1 ) A 1 = { departing 1 , crossed 1 } δ A 1 = {( departure 1 , pass 1 , crossed 1 )} a o,1 = departing 1 A m ,1 = { crossed 1 } together with the following default lower and upper time bounds ( l pass 1 , u pass 1 ) = (8,10). pass 1 is furthermore assumed to be uncontrollable and non forcible. Vehicle2: A 2 = (Σ 2 , A 2 , δ A 2 ,α 0,2 , A m ,2 ) A 2 = { departing 2 , crossed 2 } δ A 2 = {( departure 2 , pass 2 , crossed 2 )} a σ,2 = departing 2 A m ,2 = { crossed 2 } together with the following default lower and upper time bounds ( l pass 2 , u pass 2 ) = (5, ∞). pass 2 is furthermore assumed to be controllable and forcible. We impose a specification on the behavior of the two vehicles: vehicle 2 must cross before the arrival of vehicle 1 . This specification is embodied by the automaton B = A 3 and is shown in Figure 4. A 3 = (Σ 3 , A 3 , δ A 3 , a o ,3 , A m ,3 ) A 3 = {0,1} δ A 3 = {(0, pass 2 ,1),(1, pass 1 ,0)} a o ,3 = 0 A m ,3 = {0} The corresponding supervisor or restricted timed behavior C of the two vehicles traveling concurrently within the specifications B = A 3 is obtained according to the supervisor synthesis procedure presented in Section 5, and is shown in Figure 5. C = (Σ, C ,δ C , c o , C m ) Σ = { pass 1 , pass 2 } C = { c o , c 1 , c 2 } where e o = (( departing 1 , departing 2 ), (8, 10)(5, ∞), 0) e 1 = (( crossed 1 , departing 2 ), (0,5)(5,∞), 1) e 2 = (( crossed 1 , crossed 2 ), (8, 10)(5,∞), 0) δ C = {( e o , pass 1 , e 1 ),( e 1 , pass 2 , e 0 )} e o = (( departing 1 , departing 2 ), (8, 10)(5, ∞), 0), E m = {(( crossed 1 , crossed 2 ), (8, 10)(5, ∞), 0)} Note: pass 1 is forced at c o in order to preempt the occurrence of pass 1 , by setting the upper time bound t pass 2 < r pass 1 = 8. Please note that the present model has 4 timed activities and 4 transitions versus 15 states and 18 transition using the state of the art. Synthesis example 2: A two-machine manufacturing cell Recall the manufacturing cell example of Section 4: Machine1: A 1 = (Σ 1 , A 1 ,δ A 1 , a o ,1 , A m, 1 ) A 1 = { processing 1 } δ A 1 = {( operational 1 , work 1 , operational 1 )} a o,1 = operational 1 A m ,1 = { operational 1 } together with the following default lower and upper time bounds ( l work 1 , u work 1 ) = (5,5). Furthermore, work 1 is assumed to be uncontrollable and non forcible. Machine2: A 2 = (Σ 2 , A 2 , δ A 2 , a o ,2 , A m ,2 ) A 2 = { processing 2 } δ A 2 = {( operational 2 , work 2 , operational 2 )} a o ,2 = operational 2 A m ,2 = { operational 2 } together with the following default lower and upper time bounds ( l work 2 , u work 2 ) = (2, ∞). Furthermore, work 2 is assumed to be controllable and forcible. We impose a specification on the behavior of the two machines: the buffer of size one must not underflow or overflow. This implies that once the cell is in operation, the event work 1 must always be followed by the occurrence of the event work 2 , and that the event work 2 must always be followed by the occurrence of the event work 1 . This specification is embodied by the automaton B = A 3 and is shown in Figure 8. A 3 = (Σ 3 , A 3 , δ A 3 a o ,3 , A m ,3 ) A 3 = { emptybuf fer , fullbuf fer } δ A 3 = {( emptybuf fer , work 1 , fullbuf fer ), ( fullbuf fer , work 2 , emptybuf fer )} a o ,3 = emptybuf fer A m ,3 = { emptybuf fer } The corresponding supervisor or restricted timed behavior C of the two machines working concurrently within the specifications B = A 3 is obtained according to the supervisor synthesis procedure presented in Section 5, and is shown in Figure 9. C = (Σ, C ,δ C , c o , C m ) Σ = { work 1 , work 2 } C = { c o , c 1 , c 2 } where c o = (( operational 1 , operational 2 ), (5, 5)(2, ∞), emptybuf fer ) c 1 = (( operational 1 , operational 2 ), (5, 5)(0, ∞}), fullbuf fer ) c 2 = (( operational 1 , operational 2 ), (0, 5) (2, ∞), emptybuf fer ) δ E = {( c o , work 1 , c 1 ), ( c 1 , work 2 , c 2 ), ( c 2 , work 1 , c 1 )} c o = (( operational 1 , operational 2 ), (5, 5)(2, ∞), emptybuf fer ) C m = { c o , c 2 } Note: work 2 is disabled at c o and c 2 , and is forced to occur at c 1 , by setting the upper time bound t work 2 < r work 1 = 5. Again, it is important to note that the present model has 3 timed activities and 3 transitions versus 24 states and 29 transition using the state of the art. 6 Discussion The proposed approach to the modeling of timed state based processes, and the proposed approach to the synthesis of supervisors for timed state based processes offer important advantages over other approaches. These are now summarized below: (i) very compact modeling in which the timing information on the occurrence of events is incorporated in the activities of the processes considered, and not explicitly in the form of tick transitions; this curbs the activity (state) explosion phenomenon encountered when large time bounds are considered in state of the art which use ticks; (ii) very efficient model construction algorithm which does not require (a) the construction of all the submodels composing the timed state based processes considered, and (b) their subsequent composition into the final model: the construction approach thus curbs the activity (state) explosion phenomenon, by directly constructing the transition structures embodying the synchronous behavior of all component processes; (iii) very efficient supervisor synthesis algorithm which (a) yields supervisors that are guaranteed by construction to be nonblocking and maximally permissive within given behavioral specifications; (b) does not require the construction of all the submodels composing the timed state based processes and behavioral specifications considered, and their subsequent composition into final processes and specifications models: the synthesis approach curbs the activity (state) explosion phenomenon, by directly constructing the transition structures embodying the synchronous behavior of all component processes and specifications restricted within the specifications considered.

Claims: Method for control of a process flow according to a specified behaviour with a computer having following features: a) at least a first and a second partial process of the process flow are described in fashion of a first and a second finite state machine; b) the specified behaviour is described as specificationautomat in fashion of a finite state machine; c) derived from the process-flow and the specificationautomat a finite state machine is being constructed as processautomat in that way, that beginning with an initial state of the process flow and continuing step by step for each respective further state of at least the first and the second finite state machine, it is analysed which state transitions are possible according to the description of the respective finite state machine and it is also checked which state transitions are allowed according to the specificationautomat, whereas only such state transitions are integrated in the processautomat which are possible and allowed; d) the process flow is being controlled by the computer using the processautomat. Method according to claim 1 having following features: a) state transitions are discriminated at least in controllable and in uncontrollable state transitions; b) in case a faultstate is reached by a faulttransition during construction of the processautomat, where at least one uncontrollable state transition is possible, which isn't allowed by the specificationautomat then the construction process of the processautomat is resumed in a reanalysis at the model state before that transition which led to the faultstate, the beforefaultstate, and from there another state transition is being analysed. Method according to one of the preceding claims having following features: a) at least the state transitions of the first and the second partial process of the process flow, as well as those of the specificationautomat are respectively provided with an upper and a lower time bound measured in time units, whereas the lower time bound defines the earliest possible point in time and the upper time bound the latest point in time when the state transition may happen and the time units are counted as soon as an initial state of a finite state machine is reached; b) in the initial state it is being started with at least one state transition, as initialtransition, which has the lowest lower time bound; c) a further state of the processautomat is being created, in furnishing all the possible state transitions which may start from this model state, the furtherstatetransitions, except the initialtransition, with new time bounds, in subtracting the upper time bound of the initialtransition from the former lower time bound of the respective state transition to build its new lower time bound and in subtracting the lower time bound of the initialtransition from the former upper time bound of the respective state transition to build its new upper time bound; d) negative time values are being set to zero; e) in case of the reanalysis of the faultstate at the beforefaultstate it is checked if there exists a controllable state transition, which can prevent the faultstate from occurring by variation of its time bounds and if this is possible at least one time bound of this state transition is changed accordingly. Method according to claim 3, where at the beforefaultstate controllable state transition is started by variation of at least one time bound and/or the faulttransition is prevented from occurring by variation of at least one time bound. Method according to one of the preceding claims, where the processautomat is at least constructed according to following features: a) in a first initialisation step six sets the new set, the final set, the bad set, the marker set, the nonblocking set, and the transitions set, all of which are initially empty are defined, with the initial timed activity and with c = (e,b) and where c is added to the new set and, if all the activities a i , i = 1,...,n composing a are marker activities, i.e. a i ∈ A m,i , i = 1,...,n, e is added to the marker and nonblocking sets; b) with for e the set of events σ∈Σ such that δ A (a,σ) is defined, referred to as the physically possible event set of c, is determined and for b the set of events σ∈Σ such that δ B (b,σ) is defined, referred to as the legal event set of c, is determined; c) the timed activity is removed from the new set and if either all uncontrollable events σ in the physically possible event set of c are contained in the legal event set of c, or if for all the uncontrollable events σ in the physically possible event set of c which are not contained in the legal event set of c, there exists a forcible event β which is both in the physically possible event set of c and in the legal event set of c, such that its lower time bound r β is strictly smaller than the lower time bound r σ of σ, c = (e,b) is placed in the final set of σ, otherwise c is placed in the bad set; d) for all the timed activities c in the bad set, the corresponding timed activities c' in the final set from c, which may be reached in one transition σ, are determined and if the transition σ leading to c from c' is uncontrollable and there does not exist a forcible event β in both the physically possible event set of c and in the legal event set of c, such that its lower time bound r β is strictly smaller than the lower time bound r σ of σ, the activity c' is removed from the marker, nonblocking and final sets and added to the bad set, and the transition (c',σ,c) is removed from the transition set, if the transition σ leading to c from c' is uncontrollable and there exists a forcible event β in both the physically possible event set of c and in the legal event set of c such that its lower time bound r β is strictly smaller than the lower time bound r σ of σ, u β is set so that u β is strictly smaller than r σ , if the transition σ leading to c from c' is controllable, the transition (c',σ, c ) is removed from the transition set, thus disabling it; e) feature d is repeated until the number of timed activities in the bad set remains invariant. Method according to claim 5, having following features: a) for all the timed activities c in the final set and for all the events σ contained in both the physically possible event set of c and in the legal event set of c, the corresponding timed activity δ(c,σ) = c' is computed with and with a' = (a 1 ',...,a n ') and b' = (a n+1 ',...,a m ') a' is computed as follows for i = 1,...,n as and for τ≠σ the lower and upper time bounds (r' τ ,t' τ ), r ∈ Σ are computed as follows: and for τ=σ are computed as (r' τ ,t' τ )=(l r ,u r ), while b' for i= n+1,...,m is computed as b) and if c' is not already in either the final set or in the bad set, c' is added to the new set, and if all the activities a i , i = 1,...,m composing a' and b' are marker activities, i.e. a' i A m,i , i = 1,...,m, c' is added to the marker and nonblocking sets; and the transition (c,σ,c') is added to the transitions set. Method according to claim 5 and 6, where consecutively from claim 5 features b to e and from claim 6 features a and b are repeated until the new set is empty. Method according to one of the claims 5 to 7, having following features: a) for all the timed activities c in the nonblocking set, the corresponding timed activities c' in the final set, from which c may be reached in one transition σ, are determined and c' is added to the nonblocking set, whereas feature a) is repeated until the number of timed activities in the nonblocking set remains invariant; b) all the timed activities c in the final set and not in the nonblocking set are removed from the marker and final sets and are placed in the bad set; c) for all the activities in the bad set, the corresponding timed activities c' in the final set from which c may be reached in one transition σ are determined and: if the transition σ leading to c from c' is uncontrollable and there does not exist a forcible event β in both the physically possible event set of c and in the legal event set of c , such that its lower time bound r β is strictly smaller than the lower time bound r σ of σ, the activity c' is removed from the marker, nonblocking and final sets, and added to the bad set, and the transition ( c ',σ, c ) is removed from the transition set; if the transition σ leading to c from c' is uncontrollable and there exists a forcible event β in both the physically possible event set of c and in the legal event set of c , such that its lower time bound r β is strictly smaller than the lower time bound r σ of σ, u β is set so that u β is strictly smaller than r σ ; d) feature c) is repeated until the number of timed activities in the bad set remains invariant. Method according to one of the claims 5 to 8, where a graphical output is generated, in displaying all of the elements in the transition set together with their associated states. Manufacturing process for a process control, where a computer is being build which executes one of the methods of the claims 1 to 9 which is applied as process control computer.

Inventors: BRANDIN BERTIL DR, BRANDIN, BERTIL, DR.
Applicants: SIEMENS AG, SIEMENS AKTIENGESELLSCHAFT
Application year: 1996
Main classification: G06F17
IPC codes: G06F17