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

« back to all changes in this revision

Viewing changes to queuing/MM1realtime.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
import openwns.eventscheduler
 
12
 
 
13
### Simulation setup
 
14
#
 
15
# Q: queue with unlimited size
 
16
#
 
17
# W: worker, the job processing time is negative-exponentially
 
18
#    distributed
 
19
#
 
20
# The jobs arrive at the system with an inter arrival time that is
 
21
# negative-exponentially distributed.
 
22
#
 
23
#             ----
 
24
# new jobs --> Q |-->(W)-->
 
25
#             ----
 
26
#
 
27
 
 
28
 
 
29
# create the M/M/1 simulation model configuration (time in seconds)
 
30
mm1 = openwns.queuingsystem.SimpleMM1(meanJobInterArrivalTime = 1.00,
 
31
                                      meanJobProcessingTime   = 0.99)
 
32
 
 
33
# create simulator configuration
 
34
sim = openwns.Simulator(simulationModel = mm1,
 
35
                        maxSimTime      = 10.0)
 
36
 
 
37
# replace normal event scheduler by real time event scheduler
 
38
sim.environment.eventScheduler = openwns.eventscheduler.RealTime()
 
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)