Differences between CSIM 20 and CSIM for Java
- The spellings of many methods and functions are different, in order to conform to standard Java naming conventions.
- It will be extremely helpful for modelers with experience in using CSIM(C/C++) to use the CSIM for Java documentation to facilitate the move.
- Future versions of CSIM for Java will include additional features that expand the software's capabilities.
- The structure of a CSIM for Java model is dictated by the use of Java threads; this structure must be followed.
- For event implementation in CSIM for C++, we have "ev.wait();". In CSIM for Java, the analogous statement is "ev.untimed_wait();". The reason for this difference is that in Java, "wait" is already used. So, we must use "untimed_wait();". Note that CSIM also includes a "timed_wait()" that is consistent between CSIM and CSIM for Java.
Features in CSIM 20 (C/C++) not found in CSIM for Java:
- Facility
- synchronous_fcfs
- process sharing scheduling discipline
- Storage
- synchronous_storage
- add_store and remove_store
- Buffer
- add_space and remove_space
- Mailbox
- synchronous_send
- Mailbox_set
- Table
- table_report (table.report())
- moving_window
- Qtable
- qtable_report (qtable.report())
- Meter
- meter_report (meter.report())
- Box
- box_report (box.report())
- Rerun is not present. To run a new model, just instantiate a new instance of the model.
- Utility routines:
- reset_tables, reset_qtables, reset_facilities, reset_events, etc.
- max_tables, max_qtables, max_facilities, max_events, max_processes, etc.
- Status
- status_processes
- Probability distributions present in CSIM (C/C++) and not present in CSIM for Java
- gamma
- erlang2
- erlangn
- beta
- weibull
- normal2
- lognormal
- cauchy
- pareto
- zipf
- zipf_sum
- bernoulli
- binomial
- geometric
- negative_binomial
- poisson
- empirical