Adaptive queueing: A study using dynamic structure DEVS

Adaptive queueing: A study using dynamic structure DEVS

Pergamon ~9-6o16(~)oooo~-6 Int. Trans. Opl Res. Vol. 4, No. 2, pp.87-98, 1997 © 1997 IFORS. Published by Elsevier Science Ltd All rights reserved. P...

721KB Sizes 0 Downloads 53 Views

Pergamon

~9-6o16(~)oooo~-6

Int. Trans. Opl Res. Vol. 4, No. 2, pp.87-98, 1997 © 1997 IFORS. Published by Elsevier Science Ltd All rights reserved. Printed in Great Britain 0969-6016/97 $17.00 + 0.00

Adaptive Queueing: A Study Using Dynamic Structure DEVS FERNANDO J. BARROS 1 and BERNARD P. ZEIGLER 2 IUniversidade de Coimbra, Portugal and 2University of Arizona, USA Conventional modeling methodologies only give support for the representation of model behavior, providing no help for describing changes in model structure. Some models are better represented by changes in their structure. Instead of forcing these changes to be represented at the simple behavioral level, a strong theoretical support is needed to allow the representation of structural changes in a natural way. in this paper we present a new modeling methodology for representing Dynamic Structure Systems. To illustrate this methodology we describe a dynamic structure queueing system. This system dynamically changes its structure to improve performance. © 1997 IFORS. Published by Elsevier Science Ltd.

Key words: Simulation methodology, adaptive queueing simulation, DSDEVS formalism.

1. INTRODUCTION A Dynamic Structure Model can transform itself into a new model by changing components and their connections. There are a large number of systems that change their own structure, examples include reconfigurable computer architectures, fault tolerant computers, manufacturing systems and self-adaptive systems. The study of these models has been difficult due to the absence of a formalism with structural semantics. Conventional simulation methodologies, although they support hierarchical and modular model building, have no ability for representing model structural changes, instead one is forced to represent changes in structure as simple state changes. Formalisms that support some existing simulation languages like Simscript and GPSS, do not provide structure at all, and one cannot even refer to structural changes. The Dynamic Structure Discrete Event System Specification (DSDEVS), based on the DEVS formalism, has been introduced in (Barros, 1995a,b, 1996c), and provides full support to represent systems that change their structure dynamically. Related work on Dynamic Structure Modeling and Simulation can be found in (Barros et al., 1994; Uhrmacher and Arnold, 1994; Zeigler and Praehofer, 1989; (Zeigler et al., 1991). Queueing theory has been successfully applied in the modeling of a wide range of stochastic systems, like manufacturing systems (Buzacott and Yao, 1986) and computer networks (Reiser, 1979). Optimization of queueing systems has been done in several ways. The choice of the initial network structure was used by Stecke and Solberg (1985). Dynamic load balancing, while keeping the structure constrant was described in Boel and Schuppen (1989). The choice of a static load-mix to improve throughput was used in Barros and Mendes (1993). Dynamic scheduling methods have also been used in Wein (1988), but to the extent of the authors' knowledge the use of self-adaptive queueing systems in optimization has never been investigated previously. This paper focuses on the application of the DSDEVS formalism to the modeling and simulation of an adaptive queueing system.

2. THE DSDEVS FORMALISM The Dynamic Structure Discrete Event System Specification formalism (DSDEVS) is a new formalism to specify models that can change their structure (Barros, 1996a,b,c). In the DSDEVS formalism there are two types of models, basic and network models.

Correspondence: Fernando J. Barros, Departamento de Enyenharia Informtitica, Universidade de Coimbra, P61o II, P-3030 Coimbra, Portuttal. E-mail: barros @, dei.uc.pt

87

88

F.J. Barros and B.P. Zeigler--Dynamic Structure DE VS

2.1. The D S D E V S basic model

Basic models are defined in the DSDEVS formalism, like in the DEVS formalism (Zeigler, 1976), by the structure M = (X,S, Y,6i,,fex,,2,r ) where

X S-Y_ 6i.,: S -~ S = Q = {(s,e) I s ~ S, 0 ~< e ~< r(s)} = e= 2: S ~ Y = r: S ~ R g =

set of input events, set of sequential states, set of output events, internal transition function, external transition function, where total state set, time elapsed since last transition, output function, time advance function.

The external transition function describes how a model changes its state in response to external values. A model in state s will change to s t a t e ~ex,(X,s,e) when it receives an input x after e time units elapsed since its last transition. The internal transition function describes how the model changes its state if no external value is received during the time interval specified by the time advance function. A model entering state s will change to state 61,,(s) if it does not receive any input during the interval r(s). The values sent from a model to the output are given by the function 2. A complete description of the DEVS formalism can be found in Zeigler (1976, 1984). Basic models can only be accessed through input and output ports and their internal state can only be changed by the transition functions. This strong encapsulation makes them an ideal framework for defining modular models.

2.2. The D S D E V S network model

Network models are a combination of DSDEVS basic models. In contrast to other simulation formalisms, the structure of a DSDEVS network can undergo dynamic transformations. The DSDEVS dynamic structure network is defined by Barros (1996a) DSDE V N = (Xa, Ya,z,Mz)

where A is the network name, ;( = DSDEVS network executive, M z - model of 26 X A = input event set of the DSDEVS network, YA - output event set of the DSDEVS network. The DSDEVS network is defined with a special component, the network executive Z. Mz, the model of the executive, is a DSDEVS basic model and is defined by the structure M z = ( X z , S z, Yx,~i.,z,~ex, z,2z,ZZ) •

The information about the dynamic structure network is located in the state of the executive. The executive, besides having domain dependent state knowledge, has information about network composition and coupling. Changes in the network-related state variables will be automatically mapped onto changes in the network structure. A state s z e S z has information about the structure of the DSDEVS network and is defined by the 6-tuple s z = tD z , (~MZ.~ X I ) ~ ( ~lZ.~ I ) ~ ( ~Z.Z I , J .~ ) ~ Ez , OZ~ l

where

International Transactions in Operational Research Vol. 4, No. 2

Dz = M[ = I~ = Z~,j = Ex = 0z =

89

set of components, model of component i, for all i ~ D x, influencees of i, for all i~ D x u {~,A}, i-to-j translation function, for all j e IF, select function, other state variables not defined before.

The state variables are subject to the following constraints: ;(¢D ~, M~ = (XI, S i, Yi,~nt,~e~t,2i, z~) - DSDEVS basic model for all i e D z, iq~I[ for all i e D z ~ {},A}, that is, self loops are not allowed, Ez: H ~ D z w {Z} where H = 2D~u{z/ - {}, EZ(A)eA, Z ~4" z • X a ~ X j,

Z~: Y~--, Y~, Z~j: Y / ~ X i, ZZ,z(y) :/: q~=~ Z/,,(y) = ~b, for k e D z w {A} and for all j e I[ - {;(}, with tk = non-event (the absence of event). The last constraint states that ifa model sends an external event to the executive then the executive is the only component receiving an external event. This constraint is added to prevent ambiguity that would arise when several components, including the executive, receive an input. In this case the behavior of the system would depend on the external event handling order, due to the possible change in the structure made by the executive. Network models communicate only through ports and have the some advantages of encapsulation as those described for basic models. Because the formalism can explicitly represent the network structure in the state of the executive, it becomes possible to modify network structure by simply changing executive state variables. Because the executive is a basic model the only way to access network structure is by using external and internal transition functions. Hence the modularity of the formalism is maintained. As all the information about the structure can be accessed and changed, the DEDEVS formalism does not set any constraint on the extent of structural changes, i.e. changes in structure can be of any degree of complexity. The DEDEVS formalism provides thus a general framework for representing systems that undergo structural changes. In many implementations of hierarchical models, the structure of the models is hardwired and is not explicit. As a consequence these implementations and formalisms cannot be extended to support structural changes. The 5-tuple (XDZ,{M~[},{F[},{Z~,j},E z) defined in the executive state is referred to as the network structure. Any change in one of these variables is called a change in structure. Changes in structure are defined in a broad sense, ranging from the simple change of the select function to more complex changes like the addition and deletion of components. The state variables represented by 0 do not belong to the network structure and are used for keeping information about when and how changes take place. Since the executive behaves like an ordinary model it can also be used to perform tasks not directly connected to structural changes. Closure under coupling of the DSDEVS formalism, necessary to build models in a hierarchical and modular manner, and the description of the DSDEVS abstract simulators needed to interpret model implicit dynamic behavior can be found in Barros (1996c).

3. T H E DELTA S I M U L A T I O N E N V I R O N M E N T The DELTA modeling and simulation environment is an implementation of the DSDEVS formalism and provides full support for modeling and simulation of dynamic structure systems (Barros, 1996c). This system also provides structural inheritance for model organization and reuse (Barros, 1996a). The DELTA is implemented in the Smalltalk/V language (Digitalk, 1992), and supports a class-based realization of the DSDEVS formalism. The DELTAObjeet class is the root class for all simulation

F.J. Barros and B.P. Zeigler--Dynamic Structure DE VS

90

DELTAObject Models BasicModel Controller Server Transport ...Other user defined models Executive Network Queue ...Other user defined executives NetworkModel Simulators Simulator NetworkSimulator RootSimulator Fig. 1. Class hierarchy in DELTA.

classes. Models class is the base class for all model classes. The Simulators class is the base class for the DEDEVS abstract simulators. Domain dependent executive classes are derived from class Executive that provides the basic methods for changing the structure. The class hierarchy is represented in Fig. 1. To support changes in structure some methods are defined in the Executive class. Each method provides a shorthand notation to express changes in the network structure and hides from the user the details of how changes are actually made. We will not describe in detail how all these functions affect the executive state (XDZ,{Mr},{lr},{Zid},E z) because function names are self explanatory. We give just as an exmple of the function:

add Model(((XZ,DZ,{M[},{F[},{ZJ,Ez,OZ),Ma) = (Xz,O z w {d},{M/z} w {Ma},{I.Z, },{Z~,j},=-x,Oz), adds the model Ma to a network. A compact description of transition functions can be obtained by using these auxiliary functions, instead of describing structural changes directly. For example, when the removeModel function is used to take a model out of a network, all the links to and from it are automatically removed, without explicit reference to these links. Model description becomes thus more compact and easier to read. These functions were used to implement the adaptive queueing system described in the next chapter. addModei: aModel, adds a new model to the simulation; removeModel: aModel, removes a model from simulation. All links from and to the model are also removed. link: aModel port: aPort to: bModel port: bPort, makes a link between two models. find: aName, find the model with a aName, no changes in network structure are made. Classes derived from the Executive class inherit all these methods and can use them in the definition of their transition functions and thus they can change the network structure. A complete list of functions used in the DELTA environment can be found in Barros (1996a).

4. T H E DYNAMIC S T R U C T U R E Q U E U E I N G N E T W O R K We present a description of a dynamic structure queueing system (DSQN). Dynamic structure queues can be used to model, for example, machine configuration and movement of people between different services. The queue system adapts itself to improve performance by moving idle servers from lightly loaded nodes to heavily loaded nodes.

4.1. Description We present a simple server balancing policy based upon queue size, number of servers in transport

International Transactions in Operational Research Vol. 4, No. 2

91

EF-Network

I

I EF I

]

I

Network

Generators Transducer

I

Acceptor

I

Transport

III Generator

II

I

Node

I

Control

III Server

Fig. 2. SES of the EF-network model.

and number of idle servers. For the sake of simplicity we limit our example to a network or two queues and four servers. However, the same principles can also be used to control more complex networks. The decision rule to change a server is: if there is an idle server in node i and (size of the queue in node j--number of servers in transit to nodel) > T then move an idle server from node~ to node i. With this policy the performance of the queueing network will range between two extremes: (1) an equivalent system with one node having all the servers, when T = 0; and (2) a non-adaptive network, with two nodes and no moveable servers, when T = ~ .

4.2. The SES representation of the dynamic structure queueing network For representing the structure of the dynamic structure queueing network we will used the System Entity Structure (SES) formalism introduced in Zeigler (1984). The System Entity Structure is defined as a labeled tree and it provides representation for decomposition, taxonomy and coupling. In the SES there are different kinds of nodes: entities, aspects and specializations. An entity represents a model in the real world. An aspect shows the decomposition of an entity into several others entities. The specialization represents the alternatives that can be used to model an entity. Executive entities are noted by a box in the SES. These entities are responsible for controlling the network structure. For static networks we can omit the representation of the executive. Aspects are represented in the SES by a single bar (I). The aspect concept has been generalized to allow the decomposition of an entity into an arbitrary number of other entities. These nodes are called multi-decomposition nodes and are noted in the SES by a triple bar (111). The SES for the adaptive queueing system is represented in Fig. 2. As seen in the figure the general representation of the network is an arbitrary number of nodes, and each node is decomposed into a queue and an arbitrary number of servers. The simulation model is decomposed in an experimental frame and a dynamic queueing network (Network). The experimental frame (EF) provides separation between models and experiments (Zeigler, 1984, 1990). The same experimental frame can be used to test different models, or a model can be tested with different EF. The EF is decomposed in Acceptor, Transducer and Generators. The Acceptor controls the length of each simulation run and the number of simulation runs. The Transducer collects information about the performance of the models based on the time the inputs are geneated and when they are received. Usually it collects cycle time and throughput rate performance characteristics. Inputs are created in the generator component. Each generator produces clients with different routing characteristics. In our example we have two generators each one producing clients to one of the two nodes. In each node the queue is connected to a set of servers and implements the traditional multiserver mechanism with F I F O discipline. In this system the queue is the node executive and it is responsible for making the changes in the network structure. The control element is responsible for deciding the changes in the structure. It receives, from each queue, information about idle servers, queue size and moving servers.

F.J. Barros and B.P. Zeigler--Dynamic Structure DE VS

92

Control ask. 1

1

remove

size, I

init. 1

ask. 2

size

init

remove

ITl

Transport

send /

add. 1

add. I

init

Node 2 add. 2

add

T

size

init. 2

add

Node 1

in

size, 2

OUt

add. 2

1

1

send in

F

out

l

Fig. 3. Network model block diagram.

4.3. The control model We chose to control the node structure with the help of an external element, the Control, instead of embedding the control mechanism in the nodes. This choice permits easy accommodation of a large number of nodes. The Control receives from the nodes information in the format < number of idle servers, queue size, arriving serverfla9 > in size@n port (n = node number). If there is an idle server in node i and if (queue size on node j - - t h e number of servers moving to node j) is greater than the threshold limit, the Control sends a message to node i remove a server through the remove@n port. In Fig. 3. is the block diagram representing the connections within the network. Due to its generality this architecture can easily accommodate an arbitrary number of nodes. The rules should then be improved to break ties where there are several nodes candidates to change their structure. For example if there is more than one node that can receive an idle server one should decide what node to choose.

4.4. The transport model There is a time delay for changing a server from a node to another node. When the control model sends the order to remove a server it immediately leaves this node and becomes engaged in a transportation process. After a time interval the server enters in the new node. While the server is in the Transport model it behaves like a passive entity (non-model). When it enters in the node it becomes an active entity (model entity).

4.5. The node model The node, represented in Fig. 4. is a dynamic structure network and thus has the ability to change its own structure. As seen in the SES this change can be made by changing the number of servers. The queue element implements the DSDEVS executive. Changes in structure are initiated by the transition functions of the queue. When a client arrives at port in@0 it is sent to an idle server if it exists or is placed in F I F O queue if all servers are busy. When a client arrives from a server it is sent through port out@0. If there are

International Transactions in Operational Research Vol. 4, No. 2

1=1

93

]=lsieL in!0 rem!ve siZea mlt

out. 1

in. 1

in. 2

out. 2

LT

II

ill

ill

OUt

Server

1

Fig. 4. B l o c k d i a g r a q m

Server

OUt

2

of a node.

clients waiting the first is chosen and sent to the idle server. If the queue is empty the server becomes idle. An idle server is removed from a node as a response to a message received on the remove port. After the server is removed, it is sent by the port send, and can be received on the add port of another node. When a new server arrives a client is removed from the queue and placed in service. The port size is used to communicate node information like number of idle servers and number of customers in queue. The port init sends this information to the controller at simulation start. The queue discipline used in this example is FIFO, but due to the modularity of the model we can replace it by another discipline without changing the Network architecture.

4.6. Changes in structure To illustrate a change in model structure we will use a network with two queues where each queue has two servers at simulation start. Because clients arrive randomly, eventually at some point in time some server in one of the nodes becomes idle, and in the other all servers become busy and there will exist a queue of clients. In this case the system must adapt itself moving an idle server to improve utilization. We present a very specific situation that can lead to a change in structure. In this example, represented in Fig. 5, the threshold T is equal to 0 and there is an arbitrary delay in server transportation. When a client arrives at node1 all its servers are busy and the client stays in the queue [Fig. 5(a)]. This node informs the control model that it has a client waiting. The control has already received the information that there is an idle server in node 2 and no server is in transit to this node. With this information and with T set to 0 the control sends an ask (server) message to node 2. When node 2 receives this request it removes the idle server and sends it to the transport model by an out port [Fig. 5(b)]. After some time the transport model sends the server to nodev When the idle server is received by node1 it becomes active, and then the queue in node~ removes the waiting client from the waiting list and sends it to the newly received server [Fig. 5(c)]. This example, despite its simplicity, illustrates the generality of the DSDEVS formalism for the representation of dynamic structure models, namely, the capability of adding models, deleting models, changing model connections and exchanging models between networks. More complex structural changes can be represented with the basic primitives provided by the DSDEVS formalism and the DELTA simulation system. Because each network has its executive any network can change its structure. These changes can also be made at any level of the model hierarchy. Although, in this example, the nodes were represented as simple models, more elaborate servers represented by network models could also be used.

F.J. Barros and B.P. Zeigler--Dynamic Structure DE VS

94 (a) NI

T

N2

Legend - Customer

(b) NI

T

N2

[~-

Server

[~-

Queue Executive

T - Transportation N - Node

D°I (c) NI

T

N2

@ Fig. 5. M o v i n g a n idle server.

4.7. Static vs dynamic structures We will discuss the advantages of dynamic structure over static structure methodologies using the particular queueing example just described as a starting point. In a static structure formalism one possible solution to the adaptive queueing problem could involve the creation of a large number of servers that can possibly be unused. The creation of a new server in a node would be modeled by a state change in the server to transform it from a non-activated server to an activated server. To delete a server we would change its state to non-activated. This solution does not demand for structural changes, but has several drawbacks. We need to define in advance the number of servers in each node. A similar situation occurs when one defines a list with a static array. If one cannot know the maximum number of elements in a static array there is always the possibility of getting an error by reaching array limits. (A more patient user could tentatively try to run the program again with a new value for the maximum number of elements). If the number of nodes were allowed to vary, one should also need to create an arbitrary number of nodes, with most of them non-activated. Models can be very complex, and in general, all the possible models that we can obtain from a SES may not be feasible from a practical point of view. In this case all models would be put in the

International Transactions in Operational Research Vol. 4, No. 2

95

simulation with the indication of their activation status. These complex models will become, from a practical point of view, virtually impossible to program. Models can even be unbounded by nature. The model of a forest fire using a dynamic structure cellular automata is described in Barros and Mendes (1996). Because only active cells currently burning are kept during the simulation there are virtually no limits to model size. Also, there is no need to force the model to be restricted to arbitrary boundaries that can have no important properties in terms of fire propagation. An interesting case described in Zeigler and Praehofer (1989) is the model of a parachutist's fall. Two models can be used: one to represent the closed parachute and another to describe it when opened. A static representation would keep the two models in the simulation and a switch to choose between them. A dynamic structure would keep just the appropriate model without a need for a switch element. In this case the model would be easy to build and to understand.

5. S I M U L A T I O N RESULTS 5.1. Zero transport time We have simulated the network described in Section 4.6. with different threshold levels. In these experiments the arrival rate, 2, follows an exponential distribution with mean 1/4. The service rate,/~, follows an exponential distribution with mean 1/6.2. As there is no delay associated with server change, the best result is obtained when threshold level, T, equals to 0. In this case the system behaves like a single node with all the servers, with an equivalent M / M / 4 / ~ / F I F O queue as represented in Fig. 6. For higher levels of threshold the network will behave as two independent nodes and as a consequence cycle time will increase. If T - - oo the equivalent system will be a network with two M/M/2/oo/FIFO queues depicted in Fig. 7. The expected mean time in system for M/M/2/oo/FIFO and M / M / 4 / ~ / F I F O can be computed by analytical expressions and is equal to 15.52 and 10.00, respectively. To plot each point and the associated confidence interval we have used ct -- 0.05 and 101 simulation runs. The value of client mean time in the system W = service time + time spent in the queue, is depicted in Fig. 8, where the gray line represents the value of W for T - - oo.

5.2. Non-zero transport time In a more realistic case we consider a transport time delay, TT, to move a server between two nodes. M/M/4/®FIFO

..L.i "~-.~ i t - 1/6.2 Fig. 6. Equivalent queueing model for T = 0. M/M/2/®FIFO

~.- 1/4

~ l [ ~ ..2.J "~-~ - 1/6.2

M/M/2/=FIFO

~.- ]/4

~1--~

I1 - 1 / 6 . 2 Fig. 7. Equivalent queueing model for T = oc,

96

F.J. Barros and B.P. Zeigler--Dynamic Structure DE VS 17

14 W

............................ ;=i ........................

,3_

÷, +

11 --~

I

I

I

I

I

I

5

10

15

20

25

30

Fig. 8. W a i t i n g time in system versus threshold level with

T T = O.

d e t e r m i n i s t i c v a l u e for the t r a n s p o r t time. 18 --

TT=

5

16

W

14

12

10

o

÷ I

I

I

I

I

I

5

10

15

20

25

30

Fig. 9. W a i t i n g time in system versus threshold level for several values of travel time.

In a manufacturing system, for example, this delay could represent the time to reconfigure a machine, or the time taken by a worker to move between two different locations in the shop floor. Figure 9 represents W as a function of T for different values of transport time TT. We have considered a deterministic value for the transport time. As can be seen in the figure the value of the waiting time increases when TTalso increases. For low values of Tthe minimum waiting time is obtained with T T = 0. For very high values of T(no changes in structure) the value of T T has obviously no influence on the system performance. Figure 10 presents the waiting time as a function of the travel time for several values of the threshold level. As can be seen in the figure, for high values of T T a n adaptive system performs worse than a system that makes no changes in the structure. But for small values of TT, changing servers does increase the performance. For this system the optimal value of Tis 0 for low values of T T a n d ,:r~for large values of TT, where the meaning of high and low can be determined by simulation. Results for this system seems to suggest that the optimization rule for this particular set of conditions is: 1. Change the structure for T T < critical value; 2. Do not change the structure for T T > critical value. For this configuration the critical value for the traveling time is T T ~ 5.5 (the intersection of the curve T = 0 with the curve T = ~). This rule was only tested in a network with two identical queues and identical input rates. For low values of T T results seem to suggest that changing an idle server still improves performance. That is, the client service benefit surpasses the losses in transport. In the special case of T T = 0, changing the server has no penalty and the optimal value is achieved with T = 0.

International Transactions in Operational Research Vol. 4, No. 2 25.0 -

97

÷

22.5 20.0 W 17.5 15.0 12.5 10.0 0

2

4

6

8

10

12

TT Fig. 10. Waiting time in system versus TT for several values of T. F o r high values of T T there is a loss in server efficiency as a consequence of the n o n - p r o d u c t i v e time s p e n t in the t r a n s p o r t . These losses of p e r f o r m a n c e seem to increase with the n u m b e r of changes t h a t a r e a direct c o n s e q u e n c e of the t h r e s h o l d level. Results show that the time spent in t r a n s p o r t is n o t c o m p e n s a t e d b y c h a n g i n g a n d o c c u p y i n g the server. H i g h values of T T can also cause s o m e instability in the system. T h e state of the system when the server arrives can be different from the c o n d i t i o n s t h a t lead to the decision of c h a n g i n g it. In fact, when a server arrives it c o u l d no l o n g e r be needed a n d it c o u l d even be n e e d e d at the original node. In this case it will be m o v e d b a c k as soon as it arrives, m a k i n g a c o m p l e t e u n p r o d u c t i v e t r a n s p o r t cycle.

6. C O N C L U S I O N W e have d e s c r i b e d the D y n a m i c S t r u c t u r e Discrete Event Systems Specification ( D S D E V S ) , a new s i m u l a t i o n f o r m a l i s m that is a b l e to represent structural changes in s i m u l a t i o n models. This f o r m a l i s m offers m o d u l a r a n d hierarchical m o d e l building. T h e D S D E V S was used to m o d e l an a d a p t i v e q u e u e i n g system. S i m u l a t i o n results were presented for a n e t w o r k with two identical queues a n d identical i n p u t rates. Results for a r b i t r a r y queueing systems will be the object of further studies. T h e DELTA system p r o v i d e s full s u p p o r t for structural changes. These c h a n g e s can r a n g e from simple m o d i f i c a t i o n in element connections, to the exchange of m o d e l s between networks. A c k n o w l e d g e m e n t - - T h i s w o r k was s u p p o r t e d by a g r a n t from COMISSAO I N V O T A N .

REFERENCES Barros, F.J. (1995a) Dynamic structure discrete event system specification: formalism and abstract simulators. Technical Report FCTUC-DEE-001-95, Department of Electrical Engineering, University of Coimbra. Barros, F.J. (1995b) Dynamic structure discrete event system specification: a new formalism for dynamic structure modeling and simulation. Proceedings of the 1995 Winter Simulation Conference, pp. 781-785. Barros, F.J. (1996a) Structural inheritance in the DELTAmodeling and simulation environment. Proceedings of the Sixth Annual Conference on AI, Simulation and Planning in High Autonomy Systems, pp. 141-147. Barros, F.J. (1996b) Dynamic structure discrete event system specification: formalism, abstract simulators and applications. Transactions of The Society for Computer Simulation 13(1), 35-46. Barros, F.J. (1996c) Modeling and simulation of dynamic structure discrete event systems: a general systems theory approach. PhD dissertation. University of Coimbra. Barros, F.J. and Mendes, M.T. (1993) Modelling and simulation of an integrated circuit assembly flow-shop in DEVS-V. Proceedings of the 1993 European Simulation Symposium, pp. 103-108. Barros, F.J. and Mendes, M.T. (1997) Fire modeling in DELTAsimulation environment. Simulation Practice and Theory 5 (3), 185-197. Barros, F.J., Mendes, M.T. and Zeigler, B.P. (1994) V-DEVS variable structure modeling formalism: an adaeptive computer architecture application. Proceedings of the 5th Conference on AI, Simulation, and Planning in High Autonomy Sytems, pp. 185-191. Boel, R.K. and Schuppen, J.H. (1989) Distributed routing for load balancing. IEEE Proceedings 77(1), 210-221. Buzacott, J.A. and Yao, D.D. (1986) Flexible manufacturing systems: a review of analytical models. Management Science 32 (7), 890-905.

98

F.J. Barros and B.P. Zeigler--Dynamic Structure DE VS

Digitalk (1992) Smalltalk for Windows: Tutorial and Program Handbook, Digitalk, Los Angeles. Reiser, M. (1979) A queueing network analysis of computer communication network with window flow control. IEEE Transactions on Communications 27(8), 1199-1209. Stecke, K.S. and Solberg, J.J. (1985) The optimality of unbalancing both worklods and machine group sizes in closed queueing networks of multiserver queues. Operations Research 33(4), 882-910. Uhrmacher, A.M. and Arnold, R. (1994) Variable structure models in object-oriented simulation. Proceedings of the Fifth Annual Conference on AI, Simulation and Planning in High Autonomy Systems, pp. 178-184. Wein, L.M. (1988) Scheduling semiconductor wafer fabrication. IEEE Transactions on Semiconductor Manufacturing l(1), 115-130. Zeigler, B.P. (1976) Theory ofModelin 9 and Simulation. Wiley, New York. Zeigler. B.P. (1984) Multifaceted Modellin~t and Discrete Event Simulation. Academic Press, London. Zeigler. B.P. (1990) Object-Oriented Simulation with Hierarchical, Modular Models: Intelligent Agents and Endomorphic Systems. Academic Press, Boston. Zeigler, B.P. and Praehofer, H. (1989) Systems theory challenges in the simulation of variable structure and intelligent systems. In CAST-Computer-Aided Syhstems Theory, Eds F. Pichler and F. Moreno-Diaz, pp.41-51. Springer, Berlin. Zeigler, B.P., Kim, T.G. and Lee, C. (1991) Variable structure modelling methodology: an adaptive computer architecture example. Transactions of The Society for Computer Simulation 7(4), 291 319.