|
Control.Hasim.DES | Portability | unportable | Stability | experimental | Maintainer | jochem@functor.nl |
|
|
|
|
|
Description |
This module defines a DES, which stands for Discrete Event Set.
There are functions for creating and inserting events.
For each process, an Event may be scheduled. This event consists of
a Time and a Runnable. There can be at most one Event scheduled
for each Process.
|
|
Synopsis |
|
|
|
|
Events
|
|
Abstract data type
|
|
|
|
|
Querying events
|
|
|
The Time at which the event takes place.
|
|
|
The Runnable that should be run at this time
|
|
|
The process of an Event
|
|
Discrete Event Set
|
|
ADT for Discrete Event Set
|
|
|
Discrete Event Set. A discrete event set is a data structure
that supports the operations update and removeNext.
| Instances | |
|
|
Creating Discrete Event Set
|
|
|
|
|
|
An empty discrete event set.
|
|
Querying Discrete Event Set
|
|
|
Is the Discrete Event Set empty?
|
|
Updating Discrete Event Set
|
|
|
Get an event with lowest time that will take place next.
Returns a tuple (evt, des) where evt is the next Event
and des is the new DES where this event is removed.
Calls error if the DES is empty.
|
|
|
:: Time | The time at which the event takes place
| -> Runnable | The Runnable that should be run at that time
| -> DES | The old discrete event set
| -> DES | The discrete event set with the event added
| Schedule an event in a discrete event set. Note that an old
event of the same process is removed from the discrete event set.
|
|
|
Produced by Haddock version 2.3.0 |