You are on page 1of 11

Computers & Industrial Engineering 65 (2013) 2838

Contents lists available at SciVerse ScienceDirect

Computers & Industrial Engineering


journal homepage: www.elsevier.com/locate/caie

Time matrix controller design of exible manufacturing systems


Hsiang-Hsi Huang a,, Ming-Der May b, Chienwen Wu c, Hsiang-Ming Huang d
a

Department of Industrial Management, National Pingtung University of Science and Technology, 1, Shuefu Rd., NeiPu Township, 91201 Pingtung County, Taiwan
Department of Industrial Management, Lunghwa University of Science and Technology, Taoyuan, Taiwan
c
Graduate Institute of Information and Logistics Management, National Taipei University of Technology, Taipei, Taiwan
d
Global Service Center and Module Customer Service Department II, Young Lighting Technology Inc. (Coretronic Group), Hsingchu, Taiwan
b

a r t i c l e

i n f o

Article history:
Available online 7 February 2012
Keywords:
Petri nets theory
Timed matrix framework
Max/plus technique
Flexible manufacturing system

a b s t r a c t
A matrix framework that based on the Petri nets theory (PNs) and the standard industrial engineering (IE)
techniques were adopted into this paper. In this paper, the operational times are modeled and introduced
into the matrix system model to activate the matrix system functioning. Different types of time include
parts input, for operations and processing, for resources arriving, and time for nished goods or products
output are developed for designing manufacturing systems. Therefore, different time matrices Ts (i.e., Tu,
Tv, Tr, Ty) are constructed in this paper. Those time matrices are the key factors for integrating the manufacturing systems to approach the real time manufacturing world. Here, the key procedure for developing those time matrices is to develop and integrate the manufacturing matrix framework with the
techniques of max/plus algebra. The result of this paper is to introduce and establish time into the matrix
manufacturing system to approach the real world production situation. System simulation is also provided in this paper to demonstrate the integration between matrix formulation and time matrices.
2012 Elsevier Ltd. All rights reserved.

1. Introduction
In the result of the intense progresses of todays technology and
the global businesses interaction situation, manufacturing automation related rigorous concepts and idea needs to be developed to
meet the rapid environment and needs changes. To provide the
best opportunity for businesses to reach the stage of been a member of the world class manufacturing (WCM), the paper of focusing
in the delicate exible manufacturing systems (FMSs) is the key action. Further studies had been done and found that different approaches have been developed to modeling and simulation for
those exible manufacturing systems. It is unfortunately that most
of researchers were focusing in the system steady state or simple
systems. The related researches are scarce for the large scale interconnected systems and general job shop structures with nite buffer restrictions. Moreover, there is no unied methodology that
brings these techniques together while relating them to standard
industrial engineering techniques for the design of shop-oor manufacturing dispatchers and routers. Those IE techniques include, for
example, the bill of materials (BOMs), sequencing matrix, the resource requirement matrix, assembly trees, operation sequence,

Corresponding author. Tel.: +886 8 7703202x7660/7665; fax: +886 8 7740321.


E-mail addresses: hhuang@mail.npust.edu.tw (H.-H. Huang), mdmay@mail.lhu.
edu.tw (M.-D. May), xcwwu@ntut.edu.tw (C. Wu), williamc.huang@younglighting.
com (H.-M. Huang).
0360-8352/$ - see front matter 2012 Elsevier Ltd. All rights reserved.
doi:10.1016/j.cie.2012.01.018

and existing dispatching algorithms. Hence, in this paper, a matrix


framework that based on the Petri nets theory (PNs) and the standard industrial engineering (IE) techniques were adopted. The major contribution of this paper is that the operational times are
modeled and introduced into the matrix system model to activate
the matrix system functioning.
The matrix formulation and Petri net theory were mostly used
in the control system and discrete event systems. Bogdan worked
with many different researchers, including Kovacic, Lewis, and Petrovic, etc. in 2004, 2006, 2008, and 2011, focused on matrix framework in manufacturing and control systems. Zhou and DiCesare
(1993) dedicated their efforts on the discrete event control manufacturing using Petri-net. Zhou and his research group again studied the deadlock avoidance by resource-oriented Petri net in 2008.
Cohen, Dubois, Quadrat, and Viot (1985) discussed the discreteevent processes and its use for performance evaluation with the
matrix framework using a linear-system-theoretic view; they
again applied timed Petri-net and event graph in multipliers and
homogeneous min-plus systems. Murata laid the foundation of
Petri net theory in 1986 and 1989 for system control. In Lee et al.
(2001) developed the controller designed for a Stewart platform
based on the matrix formulations. Grel, Bogdan, and Lewis
(2000) and Lewis, Bogdan, Grel, and Pastravanu (1997), both applied the matrix framework in the topics of system deadlock analysis and deadlock avoidance. There are lots of evidences showing
that matrix forms are convenient and work for complex systems,
especially manufacturing systems.

29

H.-H. Huang et al. / Computers & Industrial Engineering 65 (2013) 2838

Starting from 1995, Huang and Lewis had also dedicated their
efforts in providing the recongurable control scheme of integrating
the PN theory and concepts in manufacturing systems (Huang,
2000, 2001a, 2001b; Huang, Lewis, Pastravanu, & Grel, 1995). This
lays the foundation of this paper to the development of matrix
structure of controller design. The logical matrix controller stateequation plus the well-known Petri net marking-transition equation together yield a complete dynamical description of an FMS.
The controller consists of inner loops where no shared resources
are involved, and outer shared-resource loops that require some
conict-resolution decision-making. These decisions are made by
outer dispatching loops and routing control loops that are based
on standard IE algorithms. The resulting multi-loop rule-based
controller is very convenient for computer simulation, actual
implementation, and modication when performance goals are
modied, resources change, or failures occur (Bogdan, Kovacic,
Smolic-Rocak, & Birgmajer, 2004).
Nevertheless, in the matrix framework, how to introduce the
time for parts input, for operations and processing, for resources
arriving, and time for nished goods or products output are still
unknown. Those time matrices Ts (i.e., Tu, Tv, Tr, Ty) are the key factors for integrating the FMS to approach the real time manufacturing world. For the time matrices, Tu, part input time matrix,
represents the arrival time for parts input or material input; Tv,
task or job operation time matrix, is the time that job been processed or operated; Tr, resource arriving time matrix, is the time
for resources been released and arrived for processing jobs; Ty,
products output time, is the time for those jobs nished all the production processes to be the nished goods or products and been
sent out the production line or system. It is worth knowing that
the key procedure of this paper is to develop and integrate the
FMS manufacturing matrix framework with the techniques of
max/plus and dioid algebra. The expected result is to introduce
and establish time into the matrix manufacturing system to approach the real world production situation.
Incorporate with simulation result and lab implementation, the
above matrix exible manufacturing systems shows the potential
competition ability for businesses in surviving in todays world
wide competitive environment. The exibility and agility rely on
the ability of the exible and automated manufacturing systems
to fast recongure the new products and their operation processes
and real time re-program the FMS controller.

2. Brief review of manufacturing systems and matrix controller


formulation
A brief review of the matrix formulations is necessary for establishing as the foundation of developments next. The matrix controller is described by the following discussions and equations. Those
are logical equations and therefore are binary (Wareld, 1973).
2.1. Description of manufacturing systems
A manufacturing facility is a set R = {ri} of resources (e.g., machines, tools, xtures, robots, transport devices, etc.), each of which
has a distinct function. Each ri can denote a pool of more than one
machine that performs the same function. The resources operate
on parts; parts of the jth type are denoted pj. A job sequence for
part type pj is a sequence of Pj jobs {J1j, J2j, . . . , J Pj j } required to produce a nished product, i.e., Pj is a given production routine. We
distinguish between jobs in the part sequence even if, for instance
J2j and J5j are both drilling operations. This usually occurs in the
same resource, for instance a drilling machine, has to operate on
job j for the second step and the fth step of the routine. This also
can be viewed as re-entrant ow process. The sequence of jobs
may be determined from the task decomposition, bill of materials,
assembly tree, or precedence matrix (c.f., Stewards sequencing
matrix (Steward, 1962)). If each job is performed on a single part
and delivers a single part there is said to be no assembly.
Once the sequence of jobs for a part type has been assigned, resources must be assigned to perform the jobs. A manufacturing
engineer based on the facilities available performs this design
and arrangement. If a single resource is needed for each job, for instance, this corresponds to a pairing (Jkj, ri) of the kth job for part pj
with a resource ri. The ordering of the jobs for a given part type can
be either xed or variable. For instance, in an application it may be
allowable to either drill then machine a part, or to machine and
then drill the part. Likewise, the resources assigned to each job
can be either xed or variable. For instance, either of two machines
of different types (e.g., from different resource pools) might be
capable of performing a given drilling job.
In the general job shop, the sequence of jobs is not xed, or the
assignment of resources to the jobs is not xed. The effect is that part
routing decisions must be made during processing. In the ow line
the sequence of jobs for each part type is xed and the assignment

Parts on
pallet

Parts on
pallet

Machine M2

PA

PA

IBM robot
Machine M1

M1

M2

Machine M1
M1

Buffer B

B
Denote the moving path of robot R
Denote the moving path of parts

(a) with one shared robot R

PUMA

IBM robot

Machine M2

R2

R1

Buffer B

M2

B
Denote the moving path of robot R
Denote the moving path of parts

(b) with two robots R1, R 2

Fig. 1. The top view of a simplied system with two machines (i.e., tasks and resources): (a) having only one robot R (the shared resource); (b) having two robots R1 and R2
(no shared resource by adding one more robot).

30

H.-H. Huang et al. / Computers & Industrial Engineering 65 (2013) 2838

M1A

PI

x1

M1P

x2

RU1

x3

BS

M2A

x4

M2P

x5

RU2

x6

u
PA

M2A

BA

BA

PO

x2

RU1

x3

BS

x4

M2P

x5

RU2

x6

PO

y
RA

uD1

R1A

uD2

R2A
RA

(a) PN with one robot R

(b) PN with two robots R1&R2, changing to bold dashed ones

Fig. 2. PN representation of work-cell with cases: (a) one robot R (i.e., shared resource), (b) two robots R1 & R2.

of resources to the jobs is xed. The result is that each part type
visits the resources in the same sequence, though different part
types may have different sequences. The ow line is also known
as the job shop with xed part routing. The sequence in which
part type pj visits the resources in a ow line will be called the
jth part path. A ow line is that said to re-entrant if any part type
revisits the same resource more than once in its job sequences (Kumar & Meyn, 1993). This occurs if the same resource is assigned to
different jobs in the parts sequence. However, a simplied ow
line is given in Fig. 1. In Fig. 1a, R could be a transport robot, for instance, that move the parts between certain jobs; and M1, M2,
could be machines. Robot R is responsible to deliver or load raw
materials or parts from pallet into machine M1 for processing,
the processed part is then unloaded by R to buffer B before it is
loaded or delivered again to machine M2 for further operation. It
is the nal product and then out to nished warehouse after M2
processing on the semi-part by M1. And then the pallet is return
for use again to where it is. Thus, the resources may include machines, robots, buffers, transport devices, xtures, tools, and so
on. To resolve the shared resource problem, one can achieve this
by directly adding one more resource as shown in Fig. 1b, or applying external decision rule; here, for example in Fig. 1b, adding one
more robot to become two robots R1 and R2 serving M1 and M2,
respectively, or applying external decision rule uD (Panwalkar &
Iskander, 1977).
In manufacturing systems, resources are assigned to jobs and
released from jobs. To be assigned, a resource must be available
or idle. It is assumed here that a resource cannot be removed from
a job until it is complete, that is, there is no pre-emption. It is also
assumed that a single resource can be used for only one job at a
time, which is there is mutual exclusion. In computer systems,
for instance, pre-emption and exclusion do not always hold; in
manufacturing systems they generally do. The third assumption
is hold while waiting, that is, a process holds the resources already
allocated to it until it has all resources required to perform a job
(Wu, Zhou, & Li, 2008). In this paper, we assume there are no machine failures, so that, once a resource is assigned, the job is eventually completed.
2.2. Brief review of matrix controller formulation
The example manufacturing system is presented in Fig. 1 and its
relative Petri nets structure is shown here in Fig. 2. The matrix controller is described by the following equations, where x is the task
or state logic (Huang, 2001a):

Product output equation:

y Sy  x

These are logical equations and therefore are binary; i.e., matrix
elements are either 1 or 0. The controller state Eq. (1) is a collection
of rules so that it is formally a rule base. These equations are carried out in negative logic. The overbar denotes logical negation
by applying the negation and de Morgans laws. The logical negation can be dened as follows: given a natural number vector n,
 such that n
 i 0 if n(i) > 0, and 1 otherwise.
its negation is n
 c and r c indicate jobs complete and resources
Hence, 0 entries in v
idle, respectively. And entries of 1 in vs, rs and y therefore indicate the jobs to be started, resources to be released and part output, respectively. A computed entry xi = 0 (i.e., 
xi 1) of the logic
controller state vector 
x represents that all the conditions required
satisfying and ring the rule i are met. It is worth noticing that all
the matrix operations here are dened in or/and algebra, so that
the standard addition and multiplication are now replaced by
 and  which representing the and and or operations.
The controller observes the status outputs of the work-cell,
namely vc, representing completed jobs and rc, representing resources currently available or idle. The controller state Eq. (1),
analogous to the matrix differential equation x_ Ax Bu in control
system theory, checks the conditions required for performing the
next jobs in the exible manufacturing system. Based on these conditions, stored in the logical controller state vector x, the job start
Eq. (2) computes which jobs are activated and may be started and
the resource release Eq. (3) computes which resources should be
released (due to completed jobs). Then, the controller sends commands to the work-cell, namely, vs, representing jobs to be started,
and rs, representing resources to be released. Products out are given by (4). Subscript c denotes complete or current status; s denotes start.
These equations are easy to write down, for Fv is the jobsequencing matrix of Steward and it can be determined from the
BOM or assembly/ow process trees. In the matrix form, it has
the meaning of

. Fr is the resource requirement

neer. Thus, the meaning of Sv matrix is

Sv, Sr and Sy are equally direct to write down (see subsequent


example). Input u represents raw parts entering the cell. Input uD

Job start equation:

v s Sv  x

r s Sr  x

matrix of Kusiak (1992), which is assigned by the shop-oor engi-

Matrix controller state equation:

  F uD  u
D
x F v  v c  F r  rc  F u  u

Resource release equation:

. Matrices

H.-H. Huang et al. / Computers & Industrial Engineering 65 (2013) 2838

31

Fig. 3. Shop oor control scheme based on matrix framework.

is a conict resolution input that selects which jobs to initiate


when there are simultaneous requests involving shared resources;
this dispatching input is selected in higher-level control loops
using well-known techniques. In fact, conicts can occur in both
the situations in choice tasks and shared resources. This means
that the situations may occur when the job-sequencing matrix Fv
and the resource requirement matrix Fr both have multiple 1s in
the same column. Stewards sequencing matrix Fv and the resource
requirement matrix Fr have long been used as heuristic design aids
by industrial engineers, with some possibility for limited analysis
(as described, e.g., by Wareld (1973) in the case of Fv and Kusiak
(1992) in the case of Fr). The matrix controller elevates these design techniques to formal computation elements, as shown in
Fig. 3 the shop oor control mechanism in matrix framework.

3. Petri nets and max/plus from matrix controller equations


In this section, the detail of relations between Petri nets (PNs)
and max/plus representation is addressed with respect to the matrix formulation. The techniques of max/plus functioned as the
bridge method for time matrices. It is important to note that the
matrix controller does not need to know the numbers of resources
available in the work-cell or the operation duration/setup times. It
only needs to know work-cell status as carried in the vectors vc,rc, u
and uD. Thus, it works for the so-called stochastic PN case.
The next development shows the details of the connection of
the rule-based controller with max/plus algebra for introducing
the time factor into the matrix controller. It shows that max/plus
representations describe the full closed-loop dynamics of the
FMS under the control action. Therefore, using notions from system theory, it is seen that attempts to directly write down a
max/plus description of the FMS are fruitless, as they correspond
to providing a closed-loop system description without rst designing a suitable controller. None of the results so far mentioned depend on the duration times or setup times of the operations in
the work-cell. Thus, those results are structural or generic, so that
it makes no difference whether the PN is deterministic or

stochastic. Duration times and numbers of resources available


are now introduced as follows.
3.1. Developments from Petri nets and max/plus
It is well known that for decision-free FMS, max/plus (i.e., (R,
max, +)) representations offer a very efcient tool in performance
analysis such as: periodicity of the steady-state behavior, and utilization of machines, (Cohen et al., 1985). One of the strengths of
the rule-based controller is the direct link that can be established
between Eqs. (1)(4) and the max/plus state equations associated
to the closed-loop behavior of a non-conict FMS.
For a non-conict FMS, the rule-based controller Eqs. (1)(4)
can be written using only the terms corresponding to non-choice
tasks and non-shared resources. This means that for each activity
(task or resource release) and for each controller state variable
one can attach another one subscript, separating from the notions
of completion c and start s, denoting the number of the current
activation.
For the kth activation of the controller rule base, Eqs. (1)(4)
become:

 c;k
xk F v v c;k F r r c;k1 F u u

v s;k Sv xk

rs;k Sr xk

yk Sy xk

where the subscript n was omitted in order to simplify the notations because there is no term corresponding to choice task or
shared resources.
It should be emphasized that the kth activation of the rule-base
depends on the (k  1)st resource release. It is obvious now that
Eqs. (5)(8) have an equivalent in terms of time, that is one can uniquely associate to each logical variable the moment when its logical value becomes true. Using a genetic logical variable n, dene
the time projection operator g providing the time value ~
nk corresponding to the moment when the logical variable n is activated

32

H.-H. Huang et al. / Computers & Industrial Engineering 65 (2013) 2838

T r diagft rj gj1;nr

for the kth time. The time projection operator which is proposed by
this paper as follow establishes the functional dependence:

gnk ~nk ;

where nk should be meant as a unitary pulse function and g is dened


by

gnk t 

tDnk tdt:

10

18

where tv i ; i 1; nv and t rj , j 1; nr , denote the duration of the


tasks and resource releases, respectively.
Since the release of a multiple resource rj, which initially characterized by u(t0,rj) resources available, introduces a delay
dj = u(t0, rj)  1 between the kth release of any of these resources
and its kth allocation dening the followings:

D denotes differentiation in the distribution space. Next dene


the binary time mapping h as

h : f0; 1g ! fe; 0g;


h0 e and h1 0; where

 the resource delay matrix:

D diag j1;nr fzdj g; with z0 1

19

 the resource reset time matrix:

e 1:

11

Denote by G the multidimensional time projection operator that


~k where c
~k is a
applies g to a logical variable vector, i.e., Gck c
 
~k g cik . Denote by H the multidimentime value vector, with c
sional binary time mapping that applies h to a binary matrix, i.e.,
if B 2 Bmxn then H(B) 2 {0,e}mn with H(Bi,j) = h(Bi,j). It should be
emphasized that for sake of simplicity, G and H are dened using
generic dimensions for the logical vectors and binary matrices
respectively.
~
~ and
In terms of these constructions and denoting by 
which representing multiplication and the addition (i.e., max)
respectively in max/plus, one can state the result relates the FMS
controller to max/plus in the case of an event graph (Eppinger,
Whitney, & Smith, 1990) and:
Lemma 1. The max/plus representation of the rule-based controller
behavior can be obtained directly from (5)(8) according to

~
~
~ v c;k HF
~ c;k1 HF
~
Gxk HF v G
r Gr
u Gu
c;k
~
Gv s;k HSv Gxk

13

~
Gr s;k HSr Gx
k
~
Gyk HSy Gx
k

15

12
14

Proof. The kth activation of the -th rule in Eq. (5) can be detailed
as:



 
v
v
r
g xF v -;j  v cj ;k nj1
F r-;j  r cj ;k1 nj1
F u-;j  uj;k
g nj1
k


~ cj ;k
max maxF j 1 v~ cj ;k ; maxF j 1~r cj ;k ; maxF j 1 u
r-;j
u-;j
v -;j
n
o n
o
nv
nr
~
~
~
~ v cj ;k j1 HF r-;j Gr
~ cj ;k
j1 HF v -;j G
n
o
u
~
~ ~nj1
HF u-;j Gu
16
j;k

T rd T r  D T r  diagfzdj g diag j1;nr ft rj zdj g;


where z

1

20

represents the time delay operator with the property

~k c
~kdj :
zdj c

21

In order to take into account the time required for preparing the
input parts tuj ; j 1; nu , and the time required for delivering the output products tyj , j 1; ny , the corresponding matrices can be dened
as:

T u diag j1;nu ft uj g and T y diag j1;ny ft yj g respectively:

22

~ s;k (corresponding to the kth


Dene now the vectors part-in u
~c;k (corresponding
activation of the input parts) and product-out y
to the kth delivery of the nal products). Then one can get results
like next one as Theorem 1 developed in this paper.
Theorem 1. Suppose there are no shared resources or choice tasks.
Given the work-cell time matrices Tv, Trd, Tu, and Ty, then the max/plus
representation of the closed-loop behavior of a non-conict FMS
controlled by the rule base, i.e., Eqs. (5)(8), is given by
h
i h

i h

i
~ s;k 23
~xk Fe v n T
~~xk1 ~ e
~ vn
~e
~ rnd 
~e
~ u ~u
S v n ~~xk ~ e
S rn 
F rn T
F u T
~c;k T y 
~e
~~xk ;
S y 
y

24

where the subscripts vn and rn represent non-choice task and


non-shared resource.
~ works here as multiplication and ~ works as
Again, the operator 
maximum. The function ~
xk Gxk is a vector indicating the time of
the kth activation of the tasks in vector x, and similar denition hold
~ s;k Gus;k and the product output vector
for the part input vector u
~c;k Gyc;k ; and also
y

Writing Eq. (16) for all the m rules, one obtains the matrix Eq.
(12). Eqs. (13)(15) are obtained similarly. h

e
S v n HSv n ; e
F rn HF rn ;
F v n HF v n ; e
e
S rn HSrn ; Fe u HF u ; e
S y HSy :

3.2. Introducing the max/plus representation to the closed-loop FMS

Proof. The dynamics of the activities in the FMS is described by:

Once the rule-based controller equations could be rewritten in


max/plus terms, consider the max/plus representation of the
closed-loop FMS involving tasks and resource releases. Now dene
matrices that contain duration time information within the workcell, as well as information on the number of available resources in
each pool, by follows:

v~ c;k T v ~v~ s;k


~rc;k T rd ~~r s;k

The resource release duration matrix:

26
27

But according to Eqs. (13) and (14), then Eqs. (26) and (27) can
be rewritten as:

v~ c;k T v ~eS v ~~xk

28

and

The task duration matrix:

T v diagft v i gi1;nv

25

17

~rc;k T rd ~e
S r ~~xk
respectively.

29

H.-H. Huang et al. / Computers & Industrial Engineering 65 (2013) 2838

Replacing Eqs. (28) and (29) in Eq. (12), one obtains Eq. (23). On
the other hand Eq. (24) is actually Eq. (15) in terms of the new
notations Eq. (25). h
As one can see from the result of the Theorem 1, ~
xk is obtained
from the logical controller state vector x using a time projection
operator that extracts the time of the kth activation of the logical
~ s;k and y
~c;k . The operator
entries of x. Similar comments hold for u
H() converts the matrices to the max/plus algebra by replacing
all occurrences of 0 by e, the max/plus identity for max operation (i.e., 1).
Remark 1. It is worth mentioning that there is another procedure
for manipulating the Theorem 1. That is, by given the work-cell
time matrices Tv, Trd, Tu, and Ty, and multiplies matrices in the
standard matrix algebra; the Eqs. (23) and (24) can be rewritten as:

~ rn T rnd Srn xk1 F


~ u T u us;k
xk F v n T v n Sv n xk F

30

yc;k T y Sy xk

31

Now, in Eqs. (30) and (31), replace all occurrences of 0 by e (i.e.,


1) and then redene all operations again to be in the max/plus
algebra; that is, the standard matrix operations (, +) are replaced
~ i.e., (+, max). Then equations (30) and (31) are the
~ ),
by (;
max/plus representation of the workcell-plus-controller, where x
gives the time of the kth ring of the transitions, u gives the time
of the kth input of the parts, and y gives the time of the kth output
of the products.
If there are shared resources or choice tasks, then extended
max/plus equations may be written that include extra non-linear
equations involving Srs and Svc, where rs representing the shared
resources, and vc representing the choice tasks.
The extension of max/plus formulation to general PN will be
discussed in later section. The theorem shows the fruitlessness of
attempts to write down the max/plus equations directly, as they
are in effect the closed-loop matrices arising from the controller
description and the work-cell (time duration and numbers of resources) description.

33

Conict analysis and resolution play an important role in controller design. Avoidance of shared resource conicts by modifying
the inner loops (when possible) presents the advantage of a simpler controller structure (i.e., no outer loops) but may damage
the FMS closed-loop performances (e.g., throughputs, machine idle
times, etc.) (Huang, 2001a, 2001b). That is why such a solution requires a careful examination using max/plus based approaches
(Cohen et al., 1985) and/or computer simulations. In this respect,
it should be noticed that once the conict resolution is solved by
this procedure, the rule base Eqs. (1)(4) uniquely lead to the
max/plus state Eqs. (23) and (24) taking into account the task
and resource release times. According to the results derived in
Huangs works (2000, 2001a, 2001b), it shows that the inner-loop
structure can be modied by changing the resource requirement
matrix and/or the number of initially available resources. Deadlock
analysis demonstrated shows that appropriate modication of the
inner-loops can also remove deadlock (Wu et al., 2008).
Here, to cope with shared resources and/or choice tasks into
max/plus formulation, extra non-linear terms need to be introduced. This makes possible the max/plus representation to have
the general structure, unlike the formal max/plus representation
is limited under the non-conict and deadlock-free condition.
Now, Theorem 1 is extended to the case of general PN, where
there are shared resources and/or choice tasks so that Fvc and Frs
in Eq. (1), and equations of choice-task start and shared-resource
release are present. Both the equations of choice-task start and
shared-resource release are dened here as follows:
 the Choice-task start equation (non-linear):

v sc

_a 1;k xja ;
i

i 1; nv c ;

32

where _ and ki denote or and the number of options for the ith
choice task in V c ; i 1; nv c , respectively.
 the Shared-resource release equation (non-linear):

r ssi _bi 1;qi xjb ;


i

i 1; nrs ;

33

where _ and qi denote or and the number of operations served by


the ith shared resource in Rc ; i 1; nrs , respectively.

3.3. Extension of max/plus formulation to general PN


The structure of the rule-based controller detailed in Sections
2.1, 2.2, and the conict resolution logic inputs as can be seen in
Fig. 3 emphasize the possibility of separating the work-cell activities from the controller. Thus the work-cell is considered as a collection of tasks, plus the resources available to accomplish those
tasks. On the other hand, the controller is a separate decision-making system that uses information about the work-cell state to generate on-line commands for the next tasks to be performed by the
work-cell. This separation between the plant and the controller is
standard in modem system theory, and the lack of it is the key reason that a convenient standard FMS controller design strategy does
not currently exist. This philosophy also advocated in previous
contributions (Grel et al., 2000; Lewis et al., 1997) leads to a
real-time feedback controller for work-cell scheduling. It is compatible with the techniques in Krogh and Holloway (1991) and
Zhou and DiCesare (1993).
The controller has the following rule-based structure; the innerloops-sequencing logic where no conict resolution is needed and
outer-loops where conict resolution is needed:
1. Logic for generating requests for the shared resources;
2. Agenda-where the list of current resource requests is
stored;
3. Conict and deadlock resolution logic-where requests are
processed and plant commands are generated.

This will result in a max/plus description that has a linear part,


exactly as in Theorem 1, plus non-linear portions describing the
shared resource/choice task joins. Conict decision inputs uD
and uR will also be present to account for the forks (c.f., (Cofer
& Garg, 1992)). The importance of this is that one can then potentially perform controller design in the max/plus formulation by
selecting the conict decision inputs uD and uR to resolve conicts
in resources and task allocation.
One may as well note that this includes the reentrant ow line,
where shared resources are present, as well as the job-shop problem, where choice tasks are present.
3.3.1. Max/plus formulation with shared resources
When coupling with shared resources, the nonlinear portion, i.e.,
Eq. (33), is present and the external input uD is needed for resolving
shared resource conict. Based on the result of Theorem 1, dene
~rss;k x the non-linear shared resource function obtained from the
logical controller state vector x using a time projection operator.
Then, the max/plus formulation of the FMS is extended as follow:

~xk e
F vn  T vn  e
S v n  ~xk e
F rn  T rnd  e
S rn  ~xk
e
e
~ s;k F uD  uD
F rs  T rsd  ~r ss;k x F u  T u  u
"
#
e
..
S rn  ~xk
e
e
e
e
F v n  T v n  S v n  ~xk F rn  T rnd . F rs  T rsd 
~rss;k x
~ s;k F uD  uD
e
F u  T u  u

34

34

H.-H. Huang et al. / Computers & Industrial Engineering 65 (2013) 2838

Q
where ~r ssi ;k x gr ssi ;k x and r ssi x is dene by
bi 1;qi xjbi ,
i 1; nrs , r ssi 2 Bnrs .
The uD is selected for ensuring only one of the signals can be
activated corresponding to the same column in e
F rs . The non-linear
shared resource function rss,k(x) is a function of x, which contains
or operations in positive logic. The function ~r ss;k x is the time value corresponding to the moment when the logical variable rss(x) is
activated for the kth time. This will catch the earliest pulse of all
the corresponding states in each component of r ssi x for the kth
time, i.e., the minimum of all the activated pulses for the kth time.
The non-linear portion of the max/plus extension, Eq. (34), may
be represented alternatively as follows:
^ as
Dene the binary time mapping h

^ : f0; 1g ! fe; 0g
h
^
^
h0
e and h1
0; where

and conict free here by adding two robots as R1 and R2. The resource set becomes R = {PA, M1A, BA, M2A, R1A, R2A}, where A representing resource is available. Thus the rule-based controller
equations are of the form Eqs. (1)(4) (i.e., linear) as follows:

3 2
0
x1
6 x2 7 6 1
6 37 6
6x 7 60
7 6
x 6
6 x4 7 6 0
6 7 6
4 x5 5 4 0
2

x6
2
1
60
6
60
6
60
6
40
0

e 1:

^ is dual to h in Eq. (11). Now denote by H


b
Note that mapping h
^ to a binary
the multidimensional binary time mapping that applies h
^
^
b i;j hB
matrix, i.e., if B 2 Bmn
then HB
2 f0; egmn with HB
i;j .
_
Note that mapping H is dual to H.
In terms of these constructions, ~r ss;k x may be computed as a
linear function in the (min, +) algebra as:

b rs  ~xk g
~r ss;k x minf HF

35

~xk gxk . Note that


where x is the negation of x and 
S
~
r ssi ;k x gr ssi ;k x and ~

r ssi ;k x is dened by
bi 1;nrs xjbi where
i 1; nrs , r ssi 2 Bnrs .
rssi ;k x calculated beUsing Eq. (35), the nonlinear time function ~
fore performing the max/plus calculation can be obtained. It is
computed in the (min, +) algebra.
3.3.2. Max/plus formulation with choice tasks
The choice tasks problem containing the nonlinear extra portion, i.e., Eq. (32), has the similar formulation as with shared resources problem. An external route-decision-input (i.e., decision
input for resolving choice tasks as routing problem) uR is needed
for resolving choice tasks. The max/plus formulation of the FMS
with choice tasks contains an extra portion as follow:

~xk e
F vn  T vn  e
S v n  ~xk e
F v c  T v c  v~ sc;k x e
F rn  T rnd  e
S rn  ~xk
~ s;k F uD  uD F uR  uR
e
F rs  T rsd  ~r ss;k x e
F u  Tu  u




..
.
e
e ~
~
F rn  T rnd .. e
e
F vn  T vn.e
F v c  T v c  S v n  xk e
F rs  T rsd  S rn  xk
~r ss;k x
v~ sc;k x
~ s;k F uD  uD F uR  uR
e
F u  Tu  u
Q
where v~ sc;k x gv sc;k x, and v sci x is dened by ai 1;ki xja ,
i
nv c
i 1; nv c , v sci 2 B .
~ sc;k x has the same property of
The non-linear time function v
~rss;k x which also has to be calculated before performing the
max/plus calculation.
The general representation of PN with max/plus formulation
completes the development of AMS rule-based controller. In our
framework, the so-called forks structure in Cofer and Gargs
(1992) work can be solved thoroughly, in that whenever there is
a shared resources problem, one must also confront the issue of
joints.
4. An illustrative example and simulation
4.1. The Illustrative Example
For the simplied example considered in Section 2.2 as shown
in Figs. 1 and 2b, the exible manufacturing system matrix framework has the form as follow, and the system is designed as choice

0 0
0 0
1 0
0 1
0 0
0 0

0
0

1
1

0
0

0
0

0
0
0

0
1
0
0
0
0
0

0
0
0
1
0
0

1
M1Pc
7 6
6
6 RU1c 7 6 0
7 6
6
v s 66 BSc 77 66 0
7 6
6
4 M2Pc 5 4 0

0 0 0 0
1 0 0 0
0 1 0 0
0 0 1 0

0 0 0 0 1

RU2c
2

3
3
0 0 2
M1Pc
0 07
76 RU1c 7
7
6
0 07
76 BSc 7
7
6
0 07
74 M2Pc 5
1 05
RU2c
0 1
3
2
PA
3
2 3
c
1
0
6 M1Ac 7
7 607
6
07
76 M2Ac 7 6 7
7 6 7
6
07
76 BAc 7 6 0 7PIc :
7 6 7
6
07
76     7 6 0 7
7 405
1 56
4 R1A 5
c
0
0
R2Ac
3
2
PAs
2 3
3 x1
6 M1A 7
0 6 27
6
s 7
7
6
76 x 7
6 M2As 7
0 76 3 7
7
6
76 x 7
7
6
6 7
07
BAs 7
76 x4 7 Sv x;r s 6
7
6
76 7
6    7
0 56 5 7
7
6
4x 5
7
6
0
4 R1As 5
6
x
R2A

32 x1 3
6 x2 7
7
07
76
7
76
37
6
x
7
0 6 7 S x;
76 4 7
r
x 7
07
76
6 57
5
0 4x 5
1
x6

0 0 0 0 0 1

60
6
6
6
60
60
6
40
0

1 0 0 0
0
0
0
0

0
0
1
0

0
1
0
0

1
0
0
0


ys POs 0 0 0 0 0 1  x1

   x6

Sy x:

Consider the duration matrices for tasks, resource release/setup,


part input, and part output denoted by Tv, Trd, Tu, and Ty as follows:

T v diag ft M1P ; tRU1 ; t BS ; tM2P ; tRU2 g;


T r diag ft PA ; tM1A ; t BA ; tR1A ; t R2A g;


i:e:
) T v diag t PA z4 ; t M1A z1 ; t M2A z1 ; t BA z2 ; t R2A z1 ;
T PI diagft PI g;
T y diagft PO g;

Since u(t0,PA) = 4 and u(t0,BA) = 2, the resource delay matrix is




D z3 ; z0 ; z0 ; z1 ; z0 ; z0 and should be also used for the
computation of the closed-loop max/plus state equations.
According to Theorem 1, one obtains:

3 2
~x1k
e
6 ~x2 7 6 t
6 k 7 6 M1P
6 37 6
6 ~xk 7 6 e
6 7 6
6 ~x4 7 6 e
6 k7 6
6 57 6
4 ~xk 5 4 e
2

~x6k

e
6e
6
6
6e
6
6e
6
6
4e
e

e
e
tRU1

e
e
e

e
e
e
t BS

e
e

e
e
e
e
t M2P

e
e
e
e
e

e 3 2 ~x1k 3
6 27
e7
7 6 ~xk 7
7 6 37
6~ 7
e7
7  6 xk 7
6 47
e7
7 6 ~xk 7
7 6 57
e 5 4 ~xk 5
~x6k
e

e tRU2
3
e tM1A
e
e tPA z3
e tR1A
e
e
e 7
7
7
1
e e tBA z
e
e 7
7
t M2A
e 7
e e
e
7
7
e e
e
e
tR2A 5
e e
e
e
e

35

H.-H. Huang et al. / Computers & Industrial Engineering 65 (2013) 2838

3 2
0
x1
6 x2 7 6 1
6 7 6
6 37 6
6x 7 60
7 6
x 6
6 x4 7 6 0
6 7 6
6 57 6
4x 5 40
0
x6
2
2

3 2 3
~x1k1
0
6 2 7 6 7
6 ~xk1 7 6 e 7
7 6 7
6
6 3 7 6 7
6 ~x 7 6 e 7
6 k1 7 6 7 ~
7  6 7  us;k ;
6
6 ~x4 7 6 e 7
6 k1 7 6 7
7 6 7
6
6 ~x5 7 6 e 7
4 k1 5 4 5
2

~x6k1

~c;k e
y

~x1k

6
6
6
6
6
6
6
6
4

6 27
6 ~xk 7
6 7
6 37
6 ~x 7
6 k7
0   6 7:
6 ~x4 7
6 k7
6 7
6 x~5 7
4 k5

e e e e

~x6k
Now taking into accounts the properties of the delay operator,
the above state equation can be rewritten in its nal form as:

3 2
~x1k
e
6 27 6
6 ~xk 7 6 tM1P
6 7 6
6 37 6
6 ~x 7 6 e
6 k7 6
6 7 6
6 ~x4 7 6 e
6 k7 6
6 7 6
6 ~x5 7 6 e
4 k5 4
2

~x6k

t RU1

tBS

tM2P

t RU2

e tR1A e

7
e 7
7

e tM2A

e e

e
2

e 3 2 ~x1k 3

e e tM1A e

6
6e
6
6
6e
6
6
6e
6
6
6e
4
2

3 2
~x1k1
e
6
7
6 ~x2 7 6
e
6 k1 7 6
6
7 6
6 ~x3 7 6
6
6 k1 7 6 e
6
7
6 ~4 7  6
e
6 xk1 7 6
6
7 6
6 5 7 6
6
6 ~xk1 7 4 e
4
5
~x6k1
e

e e3

e e

e e

e e

e e

7 6 7
6 57
e7
5 4 ~xk 5

7
e 7
7

7
e 7
7

1 0

0 1

0 0 1
0 0 0
1 1 0
0

0 0 0
0 0 1
0

3
3
0 2
M1Pc
07
76
7
76 RU1c 7
7
0 76
76 BSc 7
7
6
07
76
7
74 M2Pc 5
05
RU2c
1

32
3 2 3
PAc
1
0
0

7 6 7
6
0

1 7
76 M1Ac 7 6 0 7

76
7 6 7
1

0 76 M2Ac 7 6 0 7
76
7 6 7PIc  and

7
7 607
6
0
0 76 BAc
7 6 7

76
7 6 7
0

1 54     5 4 0 5

0
0 0
RA
c

0 0 0 0

6 M1A 7
s 7
6
7 60 1 0
6
6 M2As 7 6
76
rs 6
0 0 0
7 6
6 BA
s
7 6
6
7 40 0 0
6
4    5
0 0 1
RAs

0
0
1
0

2 13
3 x
0 1 6 27
6x 7
7
0 07
76
x3 7
76
6
7
1 0 76 4 7
7 Sr x:
6x 7
5
6
0 0 4 57
x 5
0 1
x6

One can observe that there are two 1s in one column of the resource requirement matrix Fr. For matrix Fr has multiple 1s in the
same column indicates that simultaneous requests occurred for the
shared resource and a conict resolution vector uD is responsible to
select the job to be performed. This means that uD may have only
one of its entries of a given column set high at any given instant.
For the resource release equation rs, there are also two 1s showing
in the fth row which means that the robot can be released either

7 6 37
6 7
e7
7 6 ~xk 7
76 7
6 47
e7
7 6 ~xk 7
~x6k

7
t R2A 7
5

e
2

3 2
~x1k2
e
6
6
7 6 2 7
7
~xk2 7 6 e
e7
7 6
7 6
6
7 6
6
7
e
e 7 6 ~x3k2 7
7 6
76
76
6 ~4 7 6
6e
e7
6
7
x
7 6 k2 7 6
7 6
7 6
~5 7 6 e
e7
5 6
4 xk2 5 4
~x6k2
e
e

e e

e e tBA e

7 6 27
6~ 7
e7
7 6 xk 7

PAs

e e e e tPA 3
e e e e
e e e e
e e e e

7
e 7
7
7
e 7
7

7
e 7
7

e e e e

7
e 7
5

e e e e

3 2 3
~x1k4
0
6 2 7 6 7
6 ~xk4 7 6 e 7
7 6 7
6
6 3 7 6 7
6 ~x 7 6 e 7
k4
7 6 7 ~
6
7  6 7  us;k ;
6
6 ~x4 7 6 e 7
6 k4 7 6 7
7 6 7
6
6 ~x5 7 6 e 7
4 k4 5 4 5
2

~x6k4

Max/plus state equations just showed above which describing


the closed-loop behavior of the rule-base controlled FMS represent
a very useful tool in analyzing the periodicity of the steady state
behavior and the utilization of machines (Cohen et al., 1985).
It is worth mentioning that when the shared resource situation
occurs, i.e., there is only one robot in the example, the controller
state equation and resource release equation will become the following forms

Fig. 4. MATLAB le FMS-1.

36

H.-H. Huang et al. / Computers & Industrial Engineering 65 (2013) 2838

from transition x3 or x5 depending on the input of conict resolution input vector uD by applying the dispatching rules (Panwalkar
& Iskander, 1977). It should be noted that introduction of dispatching rules (i.e., matrix F uD and vector uD) does not create any structural changes of the matrix controlled system as they belong to the
high level control loop.
The above discussed solution for conict resolution is however
disadvantageous for realistic circumstances because it relies on the
acquisition of a new robot. In order to avoid these inconveniences,
ensuring at the same time conict and deadlock resolution, the
controller state equation is expanded by adding the following term
as shown in Eq. (1) and Fig. 2.

0 1 0 0 0 0
0 0

T 

uDRU1
uDRU2

0 0 1 0

F uD uD ;

where uDRU1 uDRU2  denotes the conict resolution input vector.


Variables uDRU1 , uDRU2 are supplied by a decision-making logic that
belongs to an outer loop; the rules of this loop reect the FMS performance requirements.
4.2. Simulation using MATLAB

Fig. 5. MATLAB le FMS-2.

Having the operational times and the system description by


using time matrix model and program software MATLAB, we are
able to build a virtual model of the FMS and dene all necessary
time delays uses the matrix-based FMS model to generate automatically a set of rules (the result is a subroutine matrix-controller) that drive the system and run the simulation. The results of
simulation are shown in a 2-D scene by MATLAB plots, while at
the same time, FMS controller saves numerical data (in the form
of vectors) for simulation analysis.
As shown in Figs. 1 and 2a, a re-entrant ow exible manufacturing system with one shared resource (IBM robot) is discussed and
programmed. In the ow system, a part enters the work-cell in PI
and there are four pallets available, it is drilled by the rst machine
(M1), moved by the robot (RU1) to the buffer (BS), milled by the second machine (M2), and moved again by the robot (RU2) to PO,
which is the cell output. The gure also shows that pallets (PA)
are needed for the rst machine and for the derivative subassemblies. Fig. 2a shows the same example represented as a Petri-net.
With the description proposed in the previous content, we can
dene the task and resource vector, as places in Petri net,
m = [vjr] = [PI M1P RU1 BS M2P RU2j PA M1A M2A BA RA PO]T. A simple MATLAB example is included in Fig. 4. The rst few lines dene
the system matrices as explained by the matrix model. These
matrices correspond to the same exible manufacturing system
shown in Fig. 1 and Fig. 2a. In this case, with the initial conditions
established in line 18 (Fig. 4), the evolution of the net is simply
computed by the successive execution of lines 22 and 23 (Fig. 4).
The output of this program shows the marking vector for successive iterations, and thus the simulation of the FMS system under
consideration can be performed. In reality, any real work-cell has
nonzero times for performing operations, namely for performing
jobs and setting up resources once they are released. These times
are interpreted herein as timed PN places with time delayed.
For simulation, subroutines need to be constructed, such as
negation function and logical multiplication function. Fig. 5 shows
the MATLAB code for a timed simulation. To demonstrate the link
with the results developed in this paper on time matrix framework,
critical subroutines and functions are discussed with further
descriptions. The function of time durations of operating tasks
and releasing resources to be ready for next job operation are managed by means of the unitary pulse function as time delays as

H.-H. Huang et al. / Computers & Industrial Engineering 65 (2013) 2838

37

Fig. 5 (continued)

shown in lines 6292 in Fig. 5. The negation subroutine, i.e., subroutine NOT (X), is constructed by setting value into 1 when
the matrix element values are detected as 0. Another major subroutine is the matrix multiplication under or and and operators,
i.e., subroutine MULTIOA (X, Y), is constructed by applying the

embedded macro function in MATLAB software for matrix and/


or multiplication. For saving space, the detail programs related
to NOT () and MULTIOA () functions are not included in the paper. From the programming and simulation which can show that
the well developed time matrices work for implementing in real

38

H.-H. Huang et al. / Computers & Industrial Engineering 65 (2013) 2838


14

M2A

engineering tools such as the bill-of-material, assembly tree, and


resource requirements matrix. Using those matrices and time
matrices, the FMS manufacturing systems can provide the potential competition ability for business in surviving in todays world
wide competitive environment. The exibility and agility rely on
the ability of the exible and automated manufacturing systems
to fast recongure the new products and their operation processes
and real time re-program the FMS controller.
Future work will be concerned with the investigation of different FMS topologies with bottleneck resources varying in place and
bottleneck shifting. Another issues can be on the inuences of
operational times on stability and throughput of the manufacturing system; capacity levelling on the FMS system.

RA

Acknowledgement

M1P

12

RU1

10

M2P

RU2

M1A

4
2
0
0

10

Time

15

20

25

Fig. 6. Execution of an FMS system.

cases. Once again, the same exible manufacturing system is


implemented, but now the code has been modied to take into account the restrictions imposed by timed simulations.
Conict resolution subroutine is also added in the Fig. 4 by
applying dispatching rules. In Fig. 4 the initial conditions (e.g.,
number of jobs in the system, PI = 1) were selected so that there
is no shared resource conict. In reality, shared resources present
a problem in that failure to properly dispatch the shared resource
can lead to deadlock. In the example shown in Fig. 4, this could
happen if PI > 3. However, it is able to simulate complex systems
that contain shared resources using marking equation which is
not discussed in this paper. When there is a shared-resource
assignment problem, the high impulse occurs in the simulation.
In this case, one must call a dispatching subroutine that decides
which job involving that shared resource to perform and propose
a new state function x; this amounts to selecting the dispatching
input. The dispatching subroutine can contain any dispatching rule
desired (lines 4247, Fig. 5). As one can see a different choice of
dispatching inputs is selected depending whether or not a
shared-resource assignment problem has occurred. In this case
the subroutine is implementing random dispatching.
4.2.1. Simulation results
Using this technique we are then able to perform and plot the
evolution of a exible manufacturing system versus time. In
Fig. 6, one can see the operation of several machines and robots
in the re-entrant-ow-line example. For instance, in the last line
the state of the shared robot is shown (when RA is high, this means
that the robot is available). As another example, Fig. 6 also shows
the percent utilization of the shared-robot. Assuming that the system is deadlock free, all the plots reach some steady-state value. In
the same way that this plot was computed, one can plot versus
time various performance measures, such as resource percent utilization, the elapsed times, and part throughputs.
5. Conclusion
In this paper, the time projection and time delay techniques
were used as the basis of the time operating in the matrix form.
The techniques of max/plus and dioid algebra were introduced
and working as the bridge method for time matrices. The description of manufacturing systems and a matrix-based formulation of
FMS controllers were discussed as the base of integrating the
FMS system to approach the real time manufacturing world. The
matrices in the controller description come directly from industrial

This work had been supported by NSC in TAIWAN under Grant


NSC 93-2213-E-020-003-.
References
Bogdan, S., Kovacic, Z., Smolic-Rocak, N., & Birgmajer, B. (2004). A matrix approach
to an FMS control design-from virtual modelling to a practical implementation.
IEEE Robotics & Automation Magazine., 92109.
Cofer, D.D., Garg, V.K. (1992). A timed model for the control of discrete event
systems involving decisions in the Max/Plus algebra. In Proceedings of the 31st
conference on decision and control (pp. 33633368).
Cohen, G., Dubois, D., Quadrat, J. P., & Viot, M. (1985). A linear-system-theoretic
view of discrete-event processes and its use for performance evaluation in
manufacturing. IEEE Transactions on Automatic Control, AC-30(3), 210220.
Eppinger, S.D., Whitney, D.E., Smith, R.P. (1990). Organizing the tasks in complex
design projects. In Proceedings of ASME international conference on design theory
and methodology (pp. 3946).
Grel, A., Bogdan, S., & Lewis, F. L. (2000). Matrix approach to deadlock-free
dispatching in multi-class nite buffer ow lines. IEEE Transactions on Automatic
Control, 45(11), 20862090.
Huang, H.-H. (2000). Manufacturing process information controller design using
matrix formulation. In Proceedings of the 5th annual international conference on
industrial engineering-theory, applications, and practice (pp. 336347). Taipei,
Taiwan.
Huang, H.-H. (2001a). Matrix controller design and deadlock analysis of automated
manufacturing systems: Part I, designing the matrix-based controller.
International Journal of Advanced Manufacturing Technology, 18(6), 434447.
Huang, H.-H. (2001b). Matrix controller design and deadlock analysis of automated
manufacturing systems: Part II, deadlock avoidance policy. International Journal
of Advanced Manufacturing Technology, 18(7), 490501.
Huang, Hsiang-Hsi, Lewis, F. L., Pastravanu, O. C., & Grel, A. (1995). Flow-shop
scheduling design in an FMS matrix framework. Control engineering practice (Vol.
3). Great Britain: Elsevier Science Ltd. (4), pp. 561568.
Krogh, B. H., & Holloway, L. E. (1991). Synthesis of feedback control logic for discrete
manufacturing systems. Automatica, 27(4), 641651.
Kumar, P.R., Meyn, S.P. (1993). Stability of queueing networks and scheduling
policies. In Proceedings of IEEE conference on decision and control (pp. 2730
2735).
Kusiak, A. (1992). Intelligent scheduling of automated machining systems: In intelligent
design and manufacturing. New York: Wiley.
Lee, Se-Han, Song, Jae-Bok, Choi, Woo-Chun, Hong, Daehie (2001). Controller design
for a stewart platform using small workspace characteristics. In Proceedings of
the 2001 IEEE/RSJ international conference on intelligent robots and systems (pp.
21842189). Hawaii, USA.
Lewis, L. F., Bogdan, S., Grel, A., Pastravanu, O. (1997). Analysis of deadlocks and
circular waits using a matrix model for discrete event systems. In Proceedings of
the 36th conference on decision and control (pp. 40804085). San Diego,
California USA.
Murata, T. (1989). Petri nets: Properties, analysis and applications. IEEE Transactions,
77(4), 541580.
Murata, T., Komoda, N., Matsumoto, K., & Haruna, K. (1986). A Petri net-based
controller for exible and maintainable sequence control and its applications in
factory automation. IEEE Transactions on Industrial Electronics, IE-33(1), 18.
Panwalkar, S. S., & Iskander, W. (1977). A survey of scheduling rules. Operations
Research, 25(1), 4561.
Steward, D. V. (1962). On an approach to techniques for the analysis of the structure
of large systems of equations. SIAM Review, 4(4), 321342.
Wareld, J. N. (1973). Binary matrices in system modelling. IEEE Transactions on
System, Man, and Cybernetics, SMC-3(5), 441449.
Wu, N., Zhou, M., & Li, Z. (2008). Resource-oriented Petri net for deadlock avoidance
in exible assembly systems. IEEE Transactions on Systems, Man and Cybernetics,
38(1), 5669.
Zhou, M.-C., & DiCesare, F. (1993). Petri net synthesis for discrete event control of
manufacturing systems. Boston: Kluwer.

You might also like