=========================
Specification of a pdf now allows the x value to be a pair in the form of a list or tuple.
If so, uniform sampling between these will be used if 'selected'.
Example
d=Pdf((10,(5,10),80,(10,50),10,(50,100))
In this case 10% will be 5-10, 80% between 10 and 50 and 10% from 50 to 100.
There is not any restriction on the value pairs, so they may be overlapping or be completely separate. Also, scalars may be
used in the same pdf specification. So the following is allowed, although not very likely to be useful:
d=Pdf((10,0, 20,(-5,50), 30,(100,500), 1,2000)
The method mean() is now available for all distributions.
If no name is specified when initializing a SalabimComponent, the name is now derived from the
class name (lowercased), e.g.
mycar=Car()
makes car the name of mycar.
Queue methods union, intersect and difference optimized for performance.
Introduced support for resources requesting/releasing resources. The functionality is similar to resources and levels in SimPy and semaphores in Tomas.
This is a concept, with which a component can claim a quantity from a resource. A component is able to request from more than one resource at a time ('and' clause).
Once all the requested quantities are available, the program continues with the next statement.
The requested quantities are then claimed.
Anyone (but most of the time it will be the requesting component) can then release (part of) the claimed quantities.
The resource can be also anonymous, which means that the claimed quantities are not connected to a component, but just treated as one heap. This is similar to levels in SimPy.
*to be described in more detail*
The following methods are now properties and are to be used without ():
SalabimQueue
name *)
head
tail
pop
length
minimum_length
maximum_length
minimum length_of_stay
maximum_length_of_stay
number_passed
number_passed_direct
mean_length_of_stay
mean_length
clear
reset_statistics
SalabimEnvironment
step
peek
main
now
trace *)
current_component
SalabimComponent
passivate
cancel
standby
stop_run
granted_resources
request_failed
name *)
main
now
trace *)
creation_time
scheduled_time
current_component
status
Distributions_from_string
mean
sample
SalabimResource
requests
claimers
claimed_quantity
strict_order *)
name *)
*) means that these are also setters, so for instance c.name='box'.
Finally, the following functions, which are not part of a class still require ():
main()
now()
trace() or trace(val)
step()
peek()