Example 3: Queueing system
- Basic system:
- queueing system with generator, queue and server
- blocking signal from server to queue
- → queue changes state between "Free" and
"Blocked"
- constant values tG = 1, tS =
1.5
- Model in PowerRPDEVS:
- components described as atomics in RPDEVS
- RPDEVS = revised version of standard PDEVS
- allows for Mealy components
- simulator has to change, includes "λ iterations"
- PowerRPDEVS simulator
- components described in C++
- construction of the complete example in a
graphical environment
- run →
- Error at t = 1.
maximum number of λ steps has been reached.
illegitimate model due to a non-resolvable algebraic loop.
- solver follows outputs through the complete model
- iterates, until a steady state is reached
- does not happen here:
- queue sends entity to server
- server sends "blocked" to queue
- queue changes state to "Blocked"
- queue doesn't send entity
- server is not blocked
- queue sends entity to server ...
- Mathematical problem:
- states and output values undefined at t = 1
- more concrete:
- several states and outputs at the same time
- Reality check:
- signal transports and state changes need a small time
delay
- steps in event cascades happen at increasing times
- problem for modeling
- lots of unknown tiny parameters
- Extended Model:
- basic idea
- use hyperreal numbers *R for time values
- add infinitesimal delays for signal transport and
state changes
- often a default delay ε is sufficient almost
everywhere
- simulator has to be adapted accordingly
- queueing example is easily adapted
- delay of state change in queue has to be enlarged
to guarantee correct order of events