For the simulation, the following data are entered:
- the number of service channels;
- the number of clients to be served;
- a discrete probability distribution of clients over arrival intervals;
- a discrete distribution of service times for clients.
The discrete distributions of arrival and service intervals can be entered manually or generated using one of the following distributions: exponential, uniform, Erlang distribution, Weibull distribution, normal, and truncated normal.
When generating for each of these distributions, the defining parameters are entered, for example, for a normal distribution these are: mean value, variance, and the number of intervals. During generation, for each interval, the probability of customer arrivals and accordingly service is determined programmatically. The total number of intervals defines the time during which customers arrive and are served. By changing the parameters, different scenarios can be simulated. The number of intervals for the distribution of probabilities of arriving customers and the number of intervals for service times does not necessarily have to be the same.
Customer service operates on a First Come – First Served principle, depending on whether there is an available channel. The application measures the following values: the average waiting time of customers in the service queue; - the average service time of customers; - the average time in the system (waiting + service); - server utilization in percentage; - and throughput (customers per unit of time).
The data of the simulated systems are stored in an SQLite database named samples.db. The list of already stored systems is displayed on the application's main screen, named AppMulti_Channel_Mass_Service, and by clicking on an item from the list, it is selected for further work.
From the application's main screen, the following functions are available: New Sample – to enter data for a new system simulation; Edit – to modify and execute a selected system; and Delete – to remove a system.
In addition to the menu items on the home screen, the following functions are included: Help; - Init DB initial loading of the database; - Copy DB copying the database; - Save DB saving the database; - Settings; - and Links to the author's other apps.
Data entry for a new system for simulation and for editing and running a selected system is done from the screen named Sample Activity. Here you enter: - the system name; - the number of servers; - the number of clients to simulate and both probability distributions (of arriving and serviced clients).
There are two fields for visualizing the distributions: Interarrival PMF format value:prob,... and Service time PMF format value:prob,... The data entry itself is done in dialog tables (Edit; Interarrival PMF Edit; and Service time PMF) with two columns: interval and probability each. After pressing the Save button, the entered data is displayed in the aforementioned fields.
From Sample Activity, the functions for generating the two distributions are included with the Generate Input and Generate Service buttons, as well as performing the simulation with the RUN SIMULATION button.
After the simulation is executed, the result is displayed on the Simulation screen. From there, the Print function can be selected to save the simulation result as a .txt file. Print includes the Save File activity with a tree structure of the device's file directory, and upon selecting a folder, a Save button appears, which allows saving the simulation result.
The generation of the two distributions is carried out by the FlowActivity. From a dropdown list, the type of distribution is selected, its characteristic parameters are filled in, and with the Generate button, in a similar two-column table as when entering new distributions, the generated distribution data is displayed.