~thomas-philipp/openwns-systemtest-library/queueing-experimental

« back to all changes in this revision

Viewing changes to queuing/MM1Step3.py

  • Committer: Maciej Muehleisen
  • Date: 2008-11-01 22:21:03 UTC
  • Revision ID: mue@comnets.rwth-aachen.de-20081101222103-nrdh43je18ta98tt
Initial commit. Steps 5 and 6 still need work.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# import the necessary modules
 
2
 
 
3
# openwns contains the Simulator class, which is needed for every
 
4
# simulation
 
5
import openwns
 
6
 
 
7
# openws.queuingsystem contains the simulation model called
 
8
# "SimpleMM1" which is used in this example
 
9
import openwns.queuingsystem
 
10
 
 
11
# openwns.evaluation contains the classes requiered to set up
 
12
# measurement probing
 
13
import openwns.evaluation
 
14
 
 
15
 
 
16
 
 
17
### Simulation setup
 
18
#
 
19
# Q: queue with unlimited size
 
20
#
 
21
# W: worker, the job processing time is negative-exponentially
 
22
#    distributed
 
23
#
 
24
# The jobs arrive at the system with an inter arrival time that is
 
25
# negative-exponentially distributed.
 
26
#
 
27
#             ----
 
28
# new jobs --> Q |-->(W)-->
 
29
#             ----
 
30
#
 
31
 
 
32
# create the M/M/1 (step2) simulation model configuration (time in seconds)
 
33
mm1 = openwns.queuingsystem.SimpleMM1Step3(meanJobInterArrivalTime = 0.100,
 
34
                                           meanJobProcessingTime   = 0.099)
 
35
 
 
36
# create simulator configuration
 
37
sim = openwns.Simulator(simulationModel = mm1,
 
38
                        maxSimTime      = 1.0)
 
39
 
 
40
sim.eventSchedulerMonitor = None
 
41
 
 
42
# If an output directory is already present it will be deleted 
 
43
# if you change this to MOVE a present output directory will
 
44
# be ranamed 
 
45
sim.outputStrategy = openwns.simulator.OutputStrategy.DELETE
 
46
 
 
47
# set the configuration for this simulation
 
48
openwns.setSimulator(sim)
 
49
 
 
50
# Configuring probing output
 
51
 
 
52
# The name of the measurement source we want to configure
 
53
sourceName = 'SojournTime'
 
54
# Get the root of the SojournTime Probe Bus
 
55
node = openwns.evaluation.createSourceNode(sim, sourceName)
 
56
# We append a statistical evaluation Probe Bus that will calculate the moments
 
57
# of the measurements
 
58
node.getLeafs().appendChildren(openwns.evaluation.generators.Moments())