Professional Documents
Culture Documents
Real Time Scheduling System
Real Time Scheduling System
30306104305
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.
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
Access to database can be setup on username / password basis with multiple users and
privileges
FUNCTIONAL REQUIREMENTS:
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
Includes: None
Priority: High
Special Requirements: Processor can able to view all the priority details of the scheduled process
Assumptions: None
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
Includes: None
Priority: High
Frequency of Use: Approximately 400 users, average of one usage per day
Special Requirements: Processor can able to view the scheduling details, which he needs to select.
Assumptions: None
Date Created: September 21, 2009 Date Last Updated: September 21, 2009
Description: The Processor can search for their process and via online catalog, whether the scheduling
technique is available or not available
Includes: None
Priority: High
Frequency of Use: Approximately 400 users, average of one usage per day
Assumptions: None
Date Created: September 21, 2009 Date Last Updated: September 21, 2009
Description: The Processor can search for their process and via online catalog, whether the scheduling
technique is available or not available
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
Special Requirements: Processor shall be able to view the scheduling details, which he had selected
Assumptions: None
Date Created: September 21, 2009 Date Last Updated: September 21, 2009
Description: The Processor can search for their process and via online catalog, whether the scheduling
technique is available or not available
Preconditions: No preconditions
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
Special Requirements: Processor shall be able to view the scheduling details, which he had selected
Assumptions: none
Date Created: Septemer 21, 2009 Date Last Updated: Septemer 21, 2009
Description: The Processor can search for their process and via online catalog, whether the scheduling
technique is available or not available
Preconditions: No preconditions
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
Special Requirements: Processor shall be able to view the scheduling details, which he had selected
Assumptions: none
get no of processes
user
FCFS
Db Administrator
calculate the waiting time
Priority
Scheduler
calculate turnaround time Round Robin
Real Time Scheduling System
30306104305
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
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
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
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
Login
No
FCFS
switch to the
next algorithm
yes
Schedule the
process
Update
Database
Stop
Real Time Scheduling System
30306104305
Login
No
SJFS
switch to the
next algorithm
yes
Schedule the
process
Update
Database
Stop
Real Time Scheduling System
30306104305
Login
No
Priority
Scheduling
switch to the
yes next algorithm
Schedule the
process
Update
Database
Stop
Real Time Scheduling System
30306104305
Login
No
Round Robin
scheduling switch to the
next algorithm
yes
Schedule the
process
Update
Database
Stop
Real Time Scheduling System
30306104305
1:Login
5:FCFS Scheduling
8:Send Information
9:Update Information
10:Successfully scheduled
Real Time Scheduling System
30306104305
1:Login
5:SJFS Scheduling
8:Send Information
9:Update Information
10:Successfully scheduled
Real Time Scheduling System
30306104305
1:Login
5:Priority Scheduling
8:Send Information
10:Successfully scheduled
Real Time Scheduling System
30306104305
1:Login
8:Send Information
10:Successfully scheduled
Real Time Scheduling System
30306104305
1 : 1:Login
2: 2:Get proces s details
:Us er :Scheduler
:DB
A dministrator
Real Time Scheduling System
30306104305
1: 1:Login
2: 2:Get proces s details
:User :Sc heduler
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
:DB
A d m in is tra to r
Real Time Scheduling System
30306104305
1 : 1 :L o g in
2 : 2 :Ge t p ro ce s s d eta ils
:Us er :S c heduler
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
CLASS DIAGRAM:
proc es s Details
pro ces s types
burs t tim e
waiting 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
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 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:
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;
#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;
};
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.