Tuesday, February 11, 2020

Announcing the release of ALExSIM-USAS version 1.2 Beta

This is the announcement for the release of the new (Beta) version of ALExSIM (USAS) ver 1.2.


The release can be downloaded here : ALExSIM (USAS) ver 1.2 (Beta)

See the Download page for details about this version.

The distribution file (ZIP) should contain the following items:
  • AlexsimUsasEval-v1-2.jar
  • lib folder (contains the required library files)
  • Readme.txt
To install, download and extract the ZIP file in a chosen directory.
The application is a Java application and require the Java Virtual Machine (JRE 1.8 and above).
The readme.txt contains the instructions on how to run the application.

Currently the fully functional evaluation version will be offered until 1 June 2020. After this date, the evaluation copy will only offer basic or limited functions.

The first complete version is planned to be released on 1 June 2020.

Monday, February 10, 2020

Found a bug for Multilevel Queue (Preemptive)

( STATUS UPDATE - 11 Feb 2020 : This bug has been fixed. Will be included for the next release, Beta 1.2)


I just found a bug in version 1.1 for Multilevel Queue (Preemptive).

The following test data and options produced the incorrect result for the algorithm.

Process details (data file 'test.csv'):

process id, burst time, arrival at, priority no., start at, waiting time, completion at,turnaraound time
A,11,15,0,-1,-1,-1,-1
B,1,1,1,-1,-1,-1,-1
C,11,0,1,-1,-1,-1,-1
D,1,19,0,-1,-1,-1,-1
E,20,10,1,-1,-1,-1,-1


Set the options for Multilevel Queue

Range by : Priority no.

Level 1 : Round-Robin, min: 0 max: 0 quantum:10
Level 2 : SJF,  min: 1 max: 1
Level 3 : FCFS,  min: 2 max: 2


Simulation will produce the results of this bug (the turnaround time are incorrect.)
Still fixing it.




Wednesday, February 5, 2020

Announcing the release of ALExSIM-USAS version 1.1 Beta

This is the announcement for the release of the new (Beta) version of ALExSIM (USAS) ver 1.1.

The release can be downloaded here : ALExSIM (USAS) ver 1.1 (Beta)

See the Download page for details about this version.

The distribution file (ZIP) should contain the following items:
  • AlexsimUsasEval-v1-1.jar
  • lib folder (contains the required library files)
  • Readme.txt
To install, download and extract the ZIP file in a chosen directory.
The application is a Java application and require the Java Virtual Machine (JRE 1.8 and above).
The readme.txt contains the instructions on how to run the application.

Currently the fully functional evaluation version will be offered until 1 April 2020. After this date, the evaluation copy will only offer basic or limited functions.

The first complete version is planned to be released in June 2020.

Tuesday, February 4, 2020

Documentation - Selecting Scheduling Algorithms for Simulation

(Note: This is part of the early draft for the documentation of ALExSIM-USAS, to give the basic idea and understanding about ALExSIM-USAS and its components/sections. This draft may go through more updates. Latest update - 4 Feb 2020)

Select Scheduling Algorithms


The section will allow the user to select the scheduling algorithm for the simulation. User not only allowed to select one algorithm but can even combine with any of the available algorithms. Figure 1 below shows the section:

Figure 1: Select Scheduling Algorithms section

The following are the scheduling algorithms that are currently available:

  • First-Come-First-Serve (FCFS) - this is the simplest algorithm where the earliest process arrived will be the first to be given the CPU time.
  • Shortest-Job-First (SJF) - also known as the Shortest Process Next (SPN), this algorithm schedule any of the processes that has the most minimum burst time to use the CPU first. Process that comes later will be added to the ready queue regardless of its burst time.
  • Shortest-Job-First (Preemptive) - (SJF-P) - will schedule the process which has the shortest remaining burst time. This is a preemptive algorithm, and a new arrival may preempt (stop) the running process if it has shorter burst time compared to the remaining burst time of the running process.
  • High-Priority-First (HPF)- the process that has the highest priority will be scheduled to use to CPU first. Priority value may be given based on various criteria. For this algorithm, USAS applies the use of priority number, and smaller priority number indicates the higher priority. (SJF is also priority-based algorithm which uses shortest burst time as its priority)
  • High-Priority-First (Preemptive) - (HPF-P) - this algorithm is similar to HPF, except that the newly arrived process may preempt (stop) the running process if the new process has higher priority (lower priority number) compared to the one running.
  • Round-Robin - the running process from the ready queue will be assigned a burst time name time quantum, where it can only runs up to the given time quantum. If the process still not finish, the process will be preempted (stopped) and sent to the back of the ready queue. Another process will receive the same time quantum and runs in CPU. Each process in the ready will take turns to use the CPU based on this rotation.
User can choose one or more of the available algorithms. (More algorithms will be available in the future version, such as the multilevel queue and multilevel feedback queue.) Later all the results for the selected algorithms will be shown simultaneously, which allows user to compare the results from all the algorithms.

After the user completes the selection of algorithm (and completed generating and modifying the process details), user may click the Run Simulation button to run the simulation and produce the simulation result.


Friday, January 31, 2020

Documentation - Customizing and Editing Process Details

(Note: This is part of the early draft for the documentation of ALExSIM-USAS, to give the basic idea and understanding about ALExSIM-USAS and its components/sections. This draft may go through more updates. Latest update - 31 Jan 2020)

Customize Process Details


This section is to allow the user to edit and prepare the process details that will become the input data for the scheduling algorithm simulation. 

Figure 1 below shows a snapshot of this section, which displays a table that appears after the user click the Generate random values button. 

Figure 1: Process details that appear in Customize Process Details section


The table for the process details will only appear if the user successfully performed one of the following actions in the Process Generation / Setup section (read about Process Generation / Setup for more explanation):
  • click the Generate random values button (create process details using generated random values)
  • click the Generate empty fields button (create process details by preparing empty table)
  • click the Import data button (create process details by loading data from existing data file)


Editing the process details


User can edit any process detail (except the ID) by double-clicking the respective cell. For example in Figure 1, if the user wants to change the arrival time for process A to become 0 (instead of 9), user can just double-click on the number 9 and change it into 0. 

The editing of the table will only accept integer value. Other type of data like alphabets or floating point number is not allowed. So if user type or enter such data, it will be invalid, highlighted in red and editing will be still active.



Exporting the process details into file


User can also export or save the process details into a file using the Export data button. 

The exported data will be saved in a specially-formatted text file with the extension *.ptd. Once the data is saved, user can later reload the data from the file using the Import data button in the Process Generation / Setup section

ALExSIM-USAS actually implements the *.ptd format using a CSV-style (comma separated values) format. Since it is just a simple text file, the exported file can be opened using any text editor. This means user can edit the exported data in a text editor, but must ensure that formatting is maintained. (If the user tries to load data from a file with corrupted or invalid or unknown format, an error message will be displayed and the data can't be reloaded.)

Also the exported data can be imported into spreadsheet application that able to load data from CSV file. This means any exported file can be imported using application like MS-Excel or OpenOffice Calc. 

That's all about the section. Next i will explain about the next step, which is about Selecting the Scheduling Algorithms section. 



Announcing the release of ALExSim-USAS version 1.0 (full version)

This is the announcement for the release of the new version of ALExSIM (USAS) ver 1.0 (full version) The release can be downloaded from ...