Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 36

Real Time Scheduling System

30306104305

REAL TIME SCHEDULING SYSTEM

AIM:

To develop software for Real time scheduling system with various functional and
non functional part of design namely,

• PROBLEM ANALYSIS
• USE CASE DOCUMENTATION
• UML DIAGRAMS
• TEST PLAN

PROBLEM DEFINITION

The Real Time Scheduler is defined as the technique used for synchronization of execution
of events with real time. There are two types of scheduling. They are preemptive
scheduling and non- preemptive scheduling. In preemptive scheduling the execution of a
process can be suspended and resumed at a later time, after meeting a condition. In non–
preemptive the execution of a process will not be suspended and other processes will wait
till the current process finishes executing.

OBJECTIVE OF THE APPLICATION

The ultimate goal of this project is to develop database software that enables enterprise user to
schedule the process according their priority given to them.
Real Time Scheduling System
30306104305

SIGNIFICANCE OF THE APPLICATION


The significance of the project includes the following key features

• The user can search all the scheduling details


• The user can select the scheduling techniques.
• The manager maintaining all scheduling details in the database
• The manager maintaining all the process details in the database
• Add process and remove a process.

Access to database can be setup on username / password basis with multiple users and
privileges

FUNCTIONAL REQUIREMENTS:

Add user The manager adds the details of user to be


added in the database.

Cancel user The manager searches the user to be deleted


and removes the information from the database.

Select processing The user select for the particular processing to


view the list of details.

select scheduling technique The user selects the particular scheduling


techniques and to view its details

find priority The user selects the priority algorithm name to


view details

view information The user can view the details based on


selection.
Real Time Scheduling System
30306104305

USE CASE DOCUMENTATION:

Use Case ID: 1

Use Case Name: Use case input

Created By: Kumarasamy.K Last Updated By: Kumarasamy.K

Date Created: September 21, 2009 Date Last Updated: September 21, 2009

Actors: Processor

Description: The user can search for their scheduling types for which the process is available or not
available

Trigger Processor want to schedule the process

Preconditions: In this case there is no precondition.

Post conditions: • The scheduling system menu will be displayed.


• The details about the scheduling types will be displayed.

Normal Flow • The user wants to view menu for process


• The System displays the list of available process
• Then Passenger selects one scheduling technique from list

Alternative Flows: None

Exceptions: 1.0 Invalid search


If the scheduling name is invalid name, system displays error message.

Includes: None

Priority: High

Frequency of Use: Processor

Business Rules: None

Special Requirements: Processor can able to view all the priority details of the scheduled process

Assumptions: None

Notes and Issues: None


Real Time Scheduling System
30306104305

Use Case ID: 2

Use Case Name: Selection of Scheduling techniques

Created By: Kumarasamy.K Last Updated By: Kumarasamy.K

Date Created: September 21, 2009 Date Last Updated: September 21, 2009

Actors: Processor

Description: The Processor can search for their process and via online catalog, whether the scheduling
technique is available or not available

Trigger To choose the appropriate scheduling technique based on the priority.

Preconditions: Check whether The Scheduling technique is available or not available

Post conditions: • The Scheduling system menu will be displayed.

• The details about the scheduling will be displayed.

Normal Flow • Processors ask to view menu for scheduling.


• The system displays menu of available scheduling.
• Then the passenger selects scheduling from list.

Alternative Flows: None

Exceptions: 1.0 Invalid search


If the scheduling name is invalid name, system displays error message.

Includes: None

Priority: High

Frequency of Use: Approximately 400 users, average of one usage per day

Business Rules: None

Special Requirements: Processor can able to view the scheduling details, which he needs to select.

Assumptions: None

Notes and Issues: None


Real Time Scheduling System
30306104305

Use Case ID: 3

Use Case Name: First Come First Serve

Created By: Kumarasamy.K Last Updated By: Kumarasamy.K

Date Created: September 21, 2009 Date Last Updated: September 21, 2009

Actors: Processor, Manager

Description: The Processor can search for their process and via online catalog, whether the scheduling
technique is available or not available

Trigger To select the first come first serve scheduling technique.

Preconditions: Check whether The technique is available or not available

Post conditions: • The scheduling system menu will be displayed.

• The details about the scheduling will be displayed.

Normal Flow • Processor asks to view menu for options.


• The system displays menu of available scheduling techniques.
• Then the processor selects the appropriate technique.

Alternative Flows: None

Exceptions: 2.0 Invalid search


If the scheduling name is invalid name, system displays error message.

Includes: None

Priority: High

Frequency of Use: Approximately 400 users, average of one usage per day

Business Rules: None

Special Requirements: None

Assumptions: None

Notes and Issues: None


Real Time Scheduling System
30306104305

Use Case ID: 4

Use Case Name: Shortest Job First

Created By: Kumarasamy.K Last Updated By: Kumarasamy.K

Date Created: September 21, 2009 Date Last Updated: September 21, 2009

Actors: Processor, manager

Description: The Processor can search for their process and via online catalog, whether the scheduling
technique is available or not available

Trigger To select the scheduling technique.

Preconditions: Check whether The Scheduling technique is available or not available.

Post conditions: • The processor can select this scheduling technique.


• The system display pay details
• System displays available scheduling name details.

Normal Flow • Processor asks to view menu for options.


• The system displays menu of available scheduling techniques.
• Then the processor selects the appropriate technique.

Alternative Flows: None

Exceptions: 4.0 Invalid search: If the scheduling name is invalid name, system displays error message.

Includes: None

Priority: High

Frequency of Use: Approximately 100 users, average of one usage per day

Business Rules: None

Special Requirements: Processor shall be able to view the scheduling details, which he had selected

Assumptions: None

Notes and Issues: None


Real Time Scheduling System
30306104305

Use Case ID: 5

Use Case Name: Round Robin

Created By: Kumarasamy.K Last Updated By: Kumarasamy.K

Date Created: September 21, 2009 Date Last Updated: September 21, 2009

Actors: Processor, Manager

Description: The Processor can search for their process and via online catalog, whether the scheduling
technique is available or not available

Trigger .To selects the scheduling technique.

Preconditions: No preconditions

Post conditions: • The processor can select this scheduling technique.


• The system display pay details
• System displays available scheduling name details.

Normal Flow • Processor asks to view menu for options.


• The system displays menu of available scheduling techniques.
• Then the processor selects the appropriate technique.

Alternative Flows: None

Exceptions: 5.0 Invalid search If the scheduling name is invalid name, system displays error message.

Includes: None

Priority: High

Frequency of Use: Approximately 100 processors, average of one usage per day

Business Rules: None

Special Requirements: Processor shall be able to view the scheduling details, which he had selected

Assumptions: none

Notes and Issues: None


Real Time Scheduling System
30306104305

Use Case ID: 6

Use Case Name: Priority Scheduling

Created By: Kumarasamy.K Last Updated By: Kumarasamy.K

Date Created: Septemer 21, 2009 Date Last Updated: Septemer 21, 2009

Actors: Processor, manager

Description: The Processor can search for their process and via online catalog, whether the scheduling
technique is available or not available

Trigger To select the scheduling technique.

Preconditions: No preconditions

Post conditions: • The processor can select this scheduling technique.


• The system display pay details
• System displays available scheduling name details.

Normal Flow • Processor asks to view menu for options.


• The system displays menu of available scheduling techniques.
• Then the processor selects the appropriate technique.

Alternative Flows: None

Exceptions: 6.0 Invalid search If the scheduling name is invalid name, system displays error message.

Includes: None

Priority: High

Frequency of use Approximately 100 processors, average of one usage per day

Business Rules: None

Special Requirements: Processor shall be able to view the scheduling details, which he had selected

Assumptions: none

Notes and Issues: None


Real Time Scheduling System
30306104305

1. USE CASE DIAGRAM:

get no of processes

get the burst time input

user

get the waiting time

FCFS

calculate the burst


time
SJFS

Db Administrator
calculate the waiting time

Priority

Scheduler
calculate turnaround time Round Robin
Real Time Scheduling System
30306104305

STATE CHART DIAGRAM FOR FCFS:

Start s tate Login Give information Get the Calculate the time Calculate the burst time
process and turn around time

Select the detail FCFS algorithm Schedule the Send res ult Update the
and algorithm process information

NewState2
Real Time Scheduling System
30306104305

STATE CHART DIAGRAM FOR SJF:

Start s tate Login Give information Get the Calculate the time Calculate the burst time
process and turn around time

Select the detail SJF algorithm Schedule the Send res ult Update the
and algorithm process information

NewState2
Real Time Scheduling System
30306104305

STATE CHART DIAGRAM FOR PRIORITY:

Start s tate Login Give information Get the Calculate the time Calculate the burst time
process and turn around time

Select the detail priority algorithm Schedule the Send result Update the
and algorithm process information

NewState2
Real Time Scheduling System
30306104305

STATE CHART DIAGRAM FOR ROUND ROBIN:

Start s tate Login Give information Get the Calculate the time Calculate the burst time
process and turn around time

Select the detail Roundrobin algorithm Schedule the Send res ult Update the
and algorithm process information

NewState2
Real Time Scheduling System
30306104305

ACTIVITY DIAGRAM FOR FCFS:

User Scheduler DB Administrator


start

Login

Get the process Calculate the burst time


details and turn around time

Select the detail


and algorithm

No
FCFS

switch to the
next algorithm
yes

Schedule the
process

Update
Database

Stop
Real Time Scheduling System
30306104305

ACTIVITY DIAGRAM FOR SJFS:

User Scheduler DB Administrator


start

Login

Get the process Calculate the burst time


details and turn around time

Select the detail


and algorithm

No
SJFS

switch to the
next algorithm

yes

Schedule the
process

Update
Database

Stop
Real Time Scheduling System
30306104305

ACTIVITY DIAGRAM FOR PRIORITY SCHEDULING:

User Scheduler DB Administrator


start

Login

Get the process Calculate the burst time


details and turn around time

Select the detail


and algorithm

No
Priority
Scheduling

switch to the
yes next algorithm

Schedule the
process

Update
Database

Stop
Real Time Scheduling System
30306104305

ACTIVITY DIAGRAM FOR ROUND ROBIN:

User Scheduler DB Administrator


start

Login

Get the process Calculate the burst time


details and turn around time

Select the detail


and algorithm

No
Round Robin
scheduling switch to the
next algorithm

yes

Schedule the
process

Update
Database

Stop
Real Time Scheduling System
30306104305

SEQUENCE DIAGRAM FOR FCFS:

:User :Scheduler :DB


Administrator

1:Login

2:Get process details

3:Calculate burst time and turn around time

4:Process the details and select the algorithm

5:FCFS Scheduling

7:Schedule the process

8:Send Information

9:Update Information

10:Successfully scheduled
Real Time Scheduling System
30306104305

SEQUENCE DIAGRAM FOR SJFS:

:User :Scheduler :DB


Administrator

1:Login

2:Get process details

3:Calculate burst time and turn around time

4:Process the details and select the algorithm

5:SJFS Scheduling

7:Schedule the process

8:Send Information

9:Update Information

10:Successfully scheduled
Real Time Scheduling System
30306104305

SEQUENCE DIAGRAM FOR PRIORITY SCHEDULING:

:User :Scheduler :DB


Administrator

1:Login

2:Get process details

3:Calculate burst tim e and turn around tim e

4:Proces s the details and s elect the algorithm

5:Priority Scheduling

7:Schedule the process

8:Send Information

9:Update Inform ation

10:Successfully scheduled
Real Time Scheduling System
30306104305

SEQUENCE DIAGRAM ROUND ROBIN:

:User :Scheduler :DB


Administrator

1:Login

2:Get process details

3:Calculate burst tim e and turn around tim e

4:Proces s the details and s elect the algorithm

5:Round Robin Scheduling

7:Schedule the process

8:Send Information

9:Update Inform ation

10:Successfully scheduled
Real Time Scheduling System
30306104305

COLLABORATION DIAGRAM FOR FCFS:

1 : 1:Login
2: 2:Get proces s details

:Us er :Scheduler

9 : 10:Succes s fully s ched uled

3: 3 :C alcu late burs t tim e and turn a round tim e


4: 4:Proces s the deta ils and s elect the algorithm
8: 9 :U pd ate In form ation 5: 5:FC FS Scheduling
6: 7:Schedule the pro ces s
7: 8:Send Inform ation

:DB
A dministrator
Real Time Scheduling System
30306104305

COLLABORATION DIAGRAM FOR SJFS:

1: 1:Login
2: 2:Get proces s details
:User :Sc heduler

9: 10:Succes s fully s cheduled

3: 3:Calculate burs t tim e and turn around tim e


8: 9:Update Inform ation
4: 4:Proces s the details and s elect the algorithm
5: 5:SJFS Scheduling
6: 7:Schedule the proces s
7: 8:Send Inform ation

:DB Adm inis trator


Real Time Scheduling System
30306104305

COLLABORATION DIAGRAM FOR PRIORITY SCHEDULING:

1 : 1 :L o g in
2 : 2 :G e t p ro c e s s d e ta ils
: U s er :S c he d u le r

9 : 1 0 :S u cc e s s fu ll y s ch e d u le d

8 : 9 :U p d a te In fo rm a tio n 3 : 3 :C a lc u la te b u rs t tim e a n d tu rn a ro u n d tim e


4 : 4 :P ro c e s s th e d e ta ils a n d s e l e ct th e a lg o rith m
5 : 5 :P rio ri ty S c h e d u l in g
6 : 7 :S c h e d u le th e p ro ce s s
7 : 8 :S e n d In fo rm a tio n

:DB
A d m in is tra to r
Real Time Scheduling System
30306104305

COLLABORATION DIAGRAM ROUND ROBIN SCHEDULING:

1 : 1 :L o g in
2 : 2 :Ge t p ro ce s s d eta ils
:Us er :S c heduler

9 : 1 0:S u cce s s fu lly s che d u le d

8 : 9 :U p d a te In fo rm a tio n
3 : 3 :C a lcu la te b u rs t tim e a n d turn a rou n d tim e
4 : 4 :P ro ce s s th e d e ta ils a nd s ele ct the a lg o rith m
5 : 5 :R o u n d R o b in S ch e d u ling
6 : 7 :S ch ed u le th e p ro ce s s
7 : 8 :S e n d In form a tio n

:DB A dm inis trator


Real Time Scheduling System
30306104305

CLASS DIAGRAM:

proc es s Details
pro ces s types
burs t tim e
waiting tim e

Get waiting tim e () 1..*


1..* Get b urs t Tim e()

s c heduler
us er nam e
1 proces s deta ils
* algorith m
us er
us er id ad d proces s ()
1 s e lect alg orithm ()
pas sword

A dd User()*
print() DB adminis trator
us er 1
1 proces s type
algorithm s ele cted

s ave inform a tion()

FCFS
S JF Priority Round Robin
Waiting tim e
Bu rs t tim e Waiting tim e wa iting tim e waiting tim e
b urs t tim e burs t tim e burs t tim e
Schedu led p roces s ()
s cheduled proce s s () s ch edule proces s () s chedule the proces s ()
Real Time Scheduling System
30306104305
COMPONENT DIAGRAM:

D B s e rver. h D B s e rve r.ja va

D B s e rve r.e xe

p ro c e s s or. h
pro c e s s or.d ll

u s e r. h
us er.java

s c h edu ler.h

s c he du le r.dll
Real Time Scheduling System
30306104305

DEPLOYMENT DIAGRAM:

DataBase Server Processor Server

Scheduler Server Display Device

Client 1 Processor
Real Time Scheduling System
30306104305

CODE

DB Administrator.h:

#ifndef DBAdministrator_h
#define DBAdministrator_h 1
#include "scheduler.h"
#include "user.h"
class DBAdministrator : public scheduler
public:
DBAdministrator();
DBAdministrator(const DBAdministrator &right);
~DBAdministrator();
DBAdministrator & operator=(const DBAdministrator &right);
int operator==(const DBAdministrator &right) const;
int operator!=(const DBAdministrator &right) const;
void saveInformation ();
const UnboundedSetByReference<user> get_the_user () const;
void set_the_user (UnboundedSetByReference<user> value);
protected:
private:
const void get_user () const;
void set_user (void value);
const void get_processType () const;
void set_processType (void value);
const void get_algorithmSelected () const;
void set_algorithmSelected (void value);
private:
void user;
void {U}
void processType;
private: void {U}
void algorithmSelected;
UnboundedSetByReference<user> the_user;
};
inline const void DBAdministrator::get_user () const
{
return user;
}
inline void DBAdministrator::set_user (void value)
{
user = value;
}
inline const void DBAdministrator::get_processType () const

{
return processType;
}
inline void DBAdministrator::set_processType (void value)
Real Time Scheduling System
30306104305
{
processType = value;
}
inline const void DBAdministrator::get_algorithmSelected () const
{
return algorithmSelected;
}
inline void DBAdministrator::set_algorithmSelected (void value)
{
algorithmSelected = value;
}
inline const UnboundedSetByReference<user> DBAdministrator::get_the_user () const
{
return the_user;
}
inline void DBAdministrator::set_the_user (UnboundedSetByReference<user> value)
{
the_user = value;
}
#endif
Real Time Scheduling System
30306104305
FCFS.h:

#ifndef FCFS_h
#define FCFS_h 1
#include "DB administrator.h"
class FCFS : public DB_administrator
{
public:
FCFS();
FCFS(const FCFS &right);
~FCFS();
FCFS & operator=(const FCFS &right);
int operator==(const FCFS &right) const;
int operator!=(const FCFS &right) const;
void Scheduled_process ();
protected:
private:
const void get_Waiting_time () const;
void set_Waiting_time (void value);
const void get_Burst_time () const;

void set_Burst_time (void value);


private:
void Waiting_time;
void Burst_time;
};
inline const void FCFS::get_Waiting_time () const
{
return Waiting_time;
}
inline void FCFS::set_Waiting_time (void value)
{
Waiting_time = value;
}
inline const void FCFS::get_Burst_time () const
{
return Burst_time;
}
inline void FCFS::set_Burst_time (void value)
{
Burst_time = value;
}
#endif
Real Time Scheduling System
30306104305
SJF.h:

#ifndef SJF_h
#define SJF_h 1
#include "DB administrator.h"
class SJF : public DB_administrator
{
public:
SJF();
SJF(const SJF &right);
~SJF();
SJF & operator=(const SJF &right);
int operator==(const SJF &right) const;
int operator!=(const SJF &right) const;
void scheduled_process ();
protected:
private:
const void get_Waiting_time () const;
void set_Waiting_time (void value);
const void get_burst_time () const;
void set_burst_time (void value);

private:
void Waiting_time;
void burst_time;
};
inline const void SJF::get_Waiting_time () const
{
return Waiting_time;
}
inline void SJF::set_Waiting_time (void value)
{
Waiting_time = value;
}
inline const void SJF::get_burst_time () const
{
return burst_time;
}
inline void SJF::set_burst_time (void value)
{
burst_time = value;
}
#endif
Real Time Scheduling System
30306104305
Priority.h:

#ifndef Priority_h
#define Priority_h 1
#include "DB administrator.h"
class Priority : public DB_administrator
{
public:
Priority();
Priority(const Priority &right);
~Priority();
Priority & operator=(const Priority &right);
int operator==(const Priority &right) const;
int operator!=(const Priority &right) const;
void schedule_process ();
protected:
private:
const void get_waiting_time () const;
void set_waiting_time (void value);
const void get_burst_time () const;
void set_burst_time (void value);
private:
void waiting_time;
void burst_time;

};
inline const void Priority::get_waiting_time () const
{
return waiting_time;
}
inline void Priority::set_waiting_time (void value)
{
waiting_time = value;
}
inline const void Priority::get_burst_time () const
{
return burst_time;
}
inline void Priority::set_burst_time (void value)
{
burst_time = value;
}
#endif
Real Time Scheduling System
30306104305
Round Robin.h:

#ifndef Round_Robin_h
#define Round_Robin_h 1
#include "DB administrator.h"
class Round_Robin : public DB_administrator
{
public:
Round_Robin();
Round_Robin(const Round_Robin &right);
~Round_Robin();
Round_Robin & operator=(const Round_Robin &right);
int operator==(const Round_Robin &right) const;
int operator!=(const Round_Robin &right) const;
void schedule_the_process ();
protected:
private:
const void get_waiting_time () const;
void set_waiting_time (void value);
const void get_burst_time () const;
void set_burst_time (void value);
private:
void waiting_time;
void burst_time;
};

inline const void Round_Robin::get_waiting_time () const


{
return waiting_time;
}
inline void Round_Robin::set_waiting_time (void value)
{
waiting_time = value;
}
inline const void Round_Robin::get_burst_time () const
{
return burst_time;
}
inline void Round_Robin::set_burst_time (void value)
{
burst_time = value;
}
#endif
Real Time Scheduling System
30306104305

Test Plan

Overview
To ensure that the Real Time Scheduling System will:
- Function consistently and reliably in accordance with current business
Test plan operations.
Objectives - Meet or exceed user requirements and technical specifications.
- Not adversely impact other systems or the existing technology
environment.
- Real time scheduling system which is used to manage the scheduling
details are already implemented and tested. It is assumed that User can
Testing process with the help of processor and schedule the jobs according to
Assumptions their priorities.
- These scheduling algorithm information are only used by real time
scheduler system.
The following risks apply to the testing process and may impact either the
proposed date of readiness for the deployment of real time scheduling system,
Risks & or the comprehensive level of testing that can be performed in each of the
Contingencies Functional Units:
- The actual deployment of real time scheduling system may take longer
to perform than anticipated, is also using the same database.
Real Time Scheduling System
30306104305

RESULT:
Thus the Problem analysis & Requirement Analysis and various Use case scenarios
,UML diagrams, Test plans has been studied successfully.

You might also like