Classification tags: DES, next-event time progression, business operations management, queueing system, Single Workstation Model
The potentially relevant object types are:
Potentially relevant types of events are:
Notice that a pair of start and end events, like "processing start" and "processing end", indicates that there is an activity that is temporally framed by these two events. It's an option to consider also activities, in addition to objects and events, in a conceptual model. We will do this in our 2nd model of single workstation systems.
Both object types and event types, together with their participation associations, can be visually described in a UML class diagram, as shown below.
The involved types of events can be related with each other via their (possibly conditional) temporal succession, as visualized in the following process diagram:
The purpose of the simulation model is to compute two statistics: the workstation utilization and the maximum input buffer length. We may therefore abstract away from several of the object types from the conceptual information model.
A computational design for the purpose of computing the two statistics maximum buffer length and workstation
utilization is obtained by modeling only one object type: WorkStation
with one (integer-valued) attribute
inputBufferLength
.
Notice that, for simplicity, we consider the part that is currently being processed to be part of the input buffer. In this way, in the simulation program code, we can check if the workstation is busy by testing if the length of the input buffer is greater than 0.
An alternative approach would be not considering the currently processed part as part of the input buffer, but rather use a Boolean attribute isBusy
for being able
to keep track if the workstation is still busy with serving a part.
The object types and event types described above, together with their participation associations ("workstations participate in part arrival events and in part departure events"), are visually described in the following UML class diagram:
Notice how functions representing random variables, like processingDuration()
and
recurrence()
, are marked with the keyword (or UML stereotype) «rv» standing for "random variable".