Download - Air Traffic Control System
Air Traffic Control System and Review on Expert Systems Arijit Roy & Sathyanarayana Kompala Kalahastri
Table of Contents
PART 1: ............................................................................................................................................................................. 3
SECTION A: .......................................................................................................................................................................... 3 AIR CONTROLLED TRAFFIC SYSTEM .................................................................................................................................... 3 PRE FLIGHT ..................................................................................................................................................................................... 3 DEPARTURE .................................................................................................................................................................................... 4 EN-‐ROUTE AND DESCENT ................................................................................................................................................................... 5 APPROACH ..................................................................................................................................................................................... 6 LANDING ........................................................................................................................................................................................ 6 ATC ON GRIDSIM: ................................................................................................................................................................. 7 DATA FLOW DIAGRAM OF ATC: ................................................................................................................................................ 9 SECTION B: ......................................................................................................................................................................... 10 TASK 1: CREATION OF GRID USERS AND GRID RESOURCES ....................................................................................................................... 10 Example 1: ................................................................................................................................................................................ 10 Class Diagram of Example 1: ..................................................................................................................................................... 10 Description – Example 1: .......................................................................................................................................................... 10 Example 2: ................................................................................................................................................................................ 11 Class diagram of Example 2: ..................................................................................................................................................... 11 Description – Example 2: .......................................................................................................................................................... 11 Example 3: ................................................................................................................................................................................ 12 Class Diagram of Example 3: ..................................................................................................................................................... 13 Description-‐ Example 3: ............................................................................................................................................................ 13 Example 4: ................................................................................................................................................................................ 14 Description – Example 4: .......................................................................................................................................................... 15 Example 5: ................................................................................................................................................................................ 15 Class Diagram of Example 5: ..................................................................................................................................................... 17 Description – Example 5: .......................................................................................................................................................... 17 TASK II: SELECTION OF AT LEAST TWO SCHEDULING POLICIES .................................................................................................................... 17 Scheduling Policies ................................................................................................................................................................... 17 Challenges in Scheduling by Grid computing: .......................................................................................................................... 18 Scheduling Policies ................................................................................................................................................................... 19 Adaptive Scheduling ................................................................................................................................................................. 19 Resource Adaptation: ............................................................................................................................................................... 19 Dynamic performance Adaptation: .......................................................................................................................................... 19 Application Adaptation: ............................................................................................................................................................ 20 Task Dependency on Scheduling .............................................................................................................................................. 20 TASK III) DISCUSSION ON TASK DEPENDENCY ON SCHEDULING .................................................................................................................. 21 Task Dependency on Scheduling .............................................................................................................................................. 21 Independent Task Scheduling: .................................................................................................................................................. 22 MET: ......................................................................................................................................................................................... 22 MCT: ......................................................................................................................................................................................... 22 Min-‐min: ................................................................................................................................................................................... 22 Max-‐min: .................................................................................................................................................................................. 22 XSuffrage: ................................................................................................................................................................................. 22 Task Grouping: .......................................................................................................................................................................... 23 Dependent Task Scheduling ..................................................................................................................................................... 23 TASK IV: GUI OF THE ATC SYSTEM .................................................................................................................................................... 24
PART 2: REVIEW OF A SCIENTIFIC PUBLICATION .............................................................................................................. 29
KNOWLEDGE BASED SYSTEMS: ................................................................................................................................................. 31 RULE BASED SYSTEMS ........................................................................................................................................................... 32 NEURAL NETWORKS ............................................................................................................................................................. 33 NEURAL NETWORKS EXAMPLE AND ITS USES: ................................................................................................................................ 34 REFERENCES ....................................................................................................................................................................... 35
PART 1:
Section A:
AIR CONTROLLED TRAFFIC SYSTEM
Air controlled Traffic is a facility provided by controllers in ground who direct an aircraft in ground and in air. The main purpose of ATC is to avoid aircrafts from being collided and provide info to the pilot. In Brazil ATC is mainly used in defence purpose where as in United states of America ATC is used in both security and defence.
There are two types of airspace:
1. Controlled airspace 2. Uncontrolled airspace
When the controllers involve in separating aircrafts from collision it is known as controlled airspace.
When aircrafts fly without help of ATC is known as uncontrolled airspace.
An aircraft follows through 7 stages for travelling from the starting point to the designation. Those steps are below:
a. Pre flight b. Take off c. Departure d. En route e. Descent f. Approach g. Landing
Pre flight
When the baggage checking for the passengers are being done the pilot will inspect the plane and files the flight plan with tower 30 minutes before the pushing back from the gate. The pilot then checks the weather on the route of travel and files it. The flight plan includes airline name, flight number, type, equipment, intended air speed, altitude and route of flight. The flight data person in the
tower reviews weather and flight plan and flight plan is entered in FAA host computer. Throughout the travel flight progress strip will be passed from controller. The flight progress strip is constantly updated giving all necessary information for tracking the plane.
The flight data person gives clearance to the pilot once the plan is approved and the strip is passed to ground controller in tower. The ground controller is accountable for ground traffic, from taxing the aircraft from gates to take off runways and from landing runways to gates. The ground controller uses ground radar to track all the runways to ensure that no place crosses the active runway or interface with ground vehicle. The ground controller gives instruction to the pilot by radio such as which way to taxi and runway should be used for take-off. The ground controller passes control to local controller once the plane reaches the designated run way.
The local controller uses surface radar to track the aircraft and watches the skies in the tower to maintain safe distance between the planes as they take off. The local controller gives final clearance to the pilot and provides new radio frequency to departure controller. The pilot then will decide on whether it’s safe to take off, if he feels that’s its safe he rides the planes to the runway. As the planes leaves the ground the local controller passes the control to departure controller at TRACON (Terminal radar approach control).
Departure
The transponder device inside the aircraft is activated once the plane is take off. The amplified the incoming radar signal. The transponder provides the information like aircrafts flight number, altitude, airspeed and destination. The controller can track the plane with the acquired information.
The TRACON facility is in departure controller have several airports within its airspace. The aircrafts are monitored using radar and must maintain safe distance between ascending aircrafts. The departure controller gives instructions to follow ascent corridors at TRACON airspace. The departure controller passes the plane to centre controller (Air route traffic control system ARTCC) when the plane leaves TRACON airspace.
En-‐route and Descent
When the plane enters ARTCC airspace after leaving the TRACON, it’s monitored by at least two air traffic controllers. The radar associate controller receives the signal after the plane enters ARTCC. The radar associate controller co-ordinates with all other sectors and responsible for maintaining safe separation of aircraft by providing air to ground communication. The controller will supervise the plane at high and low altitude.
The centre controller provides information on air traffic, updated weather, speed, altitude and maintain safe separation between aircraft within the sector. The control is passed to another sector once the planes leaves early sector. The plane will be monitored until it leave a particular sector.
The radar handoff control helps radar controller during heavy traffic, they support to maintain smooth traffic. Instructions will be given to pilot when there is bad weather or heavy traffic, change of route will be informed to the pilot to ensure safe journey. The centre controller directs all the aircrafts approaching designation to move to higher to lower altitudes and merges the descending aircraft to a single line towards the airport. The controller will place the plane in holding pattern depending on traffic conditions.
In TRACON air space the controller gives information to the pilot.
Approach
When the plane reached the TRACON space at the designation station, the control is passed to approach controller. The approach controller directs aircraft to adjust speed and altitude to line up and prepare to reach standard corridors. The pilot aligns the aircraft to the runway, the approach controller passes the control to local controller in airport tower.
Landing The local controller at the tower checks the weather and runway by using binoculars and
surface radars. The local controller provides updated whether to the pilot and gives clearance to pilot, local controller also maintains safe distance between aircrafts. The local controller directs the plane to exit taxiway and passed to the control to ground controller with a new frequency.
The ground controller uses radar to ensure that taxing aircraft doesn’t collide with the active aircrafts or other ground vehicles. Ground controller provides signal to direct plane to reach the appropriate gate. The ground personal use hand signal to park the plane at the gate.
ATC on Gridsim:
Gridsim provides the feature of combining many tasks in to a single screen for handling all the resources in one screen. Gridsim has the advantage of handling many system remotely in a single screen. Schedulers in gridsim are known as resource broker, schedulers will manage the application in a single domain. All scheduler will be connected to central scheduler so that if any changes required in all the schedulers, the changes are made in central scheduler which will reflect in individual schedulers. This concept is very effective when an update is released and it needs to be implemented in all the resources. This will also increase the overall system utilization.
Some of the key features of Gridsim in ATC are mentioned below:
• Resource can be modelled in time shared mode. • Different platform applications can be simulated. • Simulation of static and dynamic is supported. • Network speed between the resources can be tracked.
The flow between the user and resource is explained in the below flow diagram.
(Rajkumar : 2008)
Simulation in environment requests all entities and time dependent interaction in real system. The response function can either be current, past or future entity. Independent task may require varying processing time and varying file size, such tasks can be generated and the necessities are defined by Gridlet objects. Gridlet is an object which contains all details regarding a job and information related to it, some of the informations like job processing time (in milliseconds), disk I/O operations, input and output file size and originator.
Data Flow Diagram of ATC:
Pilo t
T ra n sp on d er C od e – C rea t ion
Predict A rea
Prod u ce A la rm
Gen era te F l ig h t P la n s
F ilter T ra ck
C on troller
C h eck T ra ck fo r Mult ip le fl ig h ts
C rea te T ra ck
T ra ck F i le
D ro p o r d ele te T ra ck
Up d ate o r ch an g e track
Rada r C on troller
A ct iva te A lte rn a te fl ig h t p la n
C h eck W heth er s ta tus
D ro p o r d ele te fl ig h t p la n
Wea th e r F i le
F lig h t P la n fi le
R ecord F l ig h t P lan
Wea th e r F i le
F ilter t rack reused
E x ist in g T rack
C on fl icted T ra ckT ra ck In fo
T ra ck In fo
Up d ate T rack
T ra ck In fo
D ro pp ed T rack
C rea ted T rack In fo
A ct ive P la n
C rea ted T rack In fo
C rea ted T rack In fo
C on flicted R eg io n or T ra ck
T ran sp on d er C od e
T ra n sp on d er C od e
A d v ised T rac k
T ra ck In fo
A ltern a te F l ig h t P la n
Bad W ea th er
C rea ted T rack In fo
Wea th e r In fo
F orecasted W eath e r Sta tus
Bad W ea th er C on d it ion
D ro p o r d ele ted F lig h t p la n
F lig h t P la n
Record ed F lig h t P lan
Wea th e r In fo
A ct iva ted A ltern a tiv e F l ig ht P la n
Gen era ted F lig h t P la n
Bad W ea th er C on d it ion
A la rm In fo
Section b:
Task 1: Creation of Grid users and Grid resources
Example 1:
Run: Example of how to create one Grid resource Initializing GridSim package Initializing... Starting to create one Grid resource with 3 Machines... Creates a Machine list Creates the 1st Machine that has 4 PEs and stores it into the Machine list Creates the 2nd Machine that has 4 PEs and stores it into the Machine list Creates the 3rd Machine that has 2 PEs and stores it into the Machine list Creates the properties of a Grid resource and stores the Machine list Finally, creates one Grid resource and stores the properties of a Grid resource Finish the 1st example BUILD SUCCESSFUL (total time: 0 seconds)
Class Diagram of Example 1:
Description – Example 1: This Example is made to explain how to create a grid resource with one Grid resource, first to
use grid sim we need to initialize grid sim package. To do this we call the method gridsim.init and pass the required parameters. And then we create an object of grid resource, after creating a grid resource we need a list of machines available in a grid resource, for that we create an object of machinelist.
We create 3 machines with 2, 3 and 4 PE’s respectively, which have a constant mips rating of 377 (which is stored in the field “mipsRating”) After creating machinelist we need to specify the characteristics of the grid resource, in this example we create an object of ResourceCharacteristics called resConfig which will store the characteristics of the resource like architecture, operating system, machine list, time shared (time on which resource is available), time zone and cost.
Finally we declare fields with values, which will be used in the grid resource, and then we create a grid resource using these values and return the grid resource.
Example 2:
Run: Starting example of how to create Grid users Creating 8 Gridlets Creating 3 Grid users Gridlet ID User ID length file size output size 0 0 3500 300 300 1 0 5000 500 500 2 0 9000 900 900 3 1 17824 121 226 4 1 18123 136 357 5 1 30632 116 342 6 2 30572 96 326 7 2 20413 145 250 Finish the example BUILD SUCCESSFUL (total time: 0 seconds)
Class diagram of Example 2:
Description – Example 2:
This Example 2 demonstrates how to create grid users, first program creates a gridlet list to store the gridlets created then it creates a grid user list so that all the users can be stored in that list.
GridletList (): This method creates gridlets so that they can be used by the gridusers it first makes 3 gridlets manually, Then we create 5 gridlets using gridsimrandom() method and GridSimStandardPE()
Gridsimrandom creates a standard PE and MIPS rating by using GridSimStandard first, then the method then initialises three fields to store maximum range, minimum range and number of gridlets to be created in count.
The variable count determines how many times the for loop will execute, since the loop creates one gridlet every time it runs, the count field determines how many gridlets will be created. In the end the method adds each gridlet to the list and after completing the loop returns the control back to main method.
The main method then creates an Object of ResourceUserList and calls createGridUser and passes the list of gridlets to this method. The CreateGridUser method it creates a list of ResourceUserList and adds three users to the list, after doing this the method initializes a for loop which assigns three users to 8 grid resources and returns userList.Then the main method calls the printGridletList() method to print the grid list and the assigned users.
When the printGridletList() is called it creates an indent variable which is used to give equal space to the table in which the output will be displayed, Then this method initializes a for loop which prints each element of the gridletlist and returns the control the main method which then stops the program.
Example 3:
Run: Starting Example3 Initializing GridSim package Initialising... Creating 8 Gridlets ... Creating a new Test object Starting GridSim version 5.0 Entities started. Inside Example3.body() => Sending Gridlet 0 GridInformationService: Notify all GridSim entities for shutting down. ... Inside Test.body() => Receiving Gridlet 0 from Example3 object Inside Example3.body() => Receiving Gridlet 0 Inside Example3.body() => Sending Gridlet 1 ... Inside Test.body() => Receiving Gridlet 1 from Example3 object Inside Example3.body() => Receiving Gridlet 1 Inside Example3.body() => Sending Gridlet 2 ... Inside Test.body() => Receiving Gridlet 2 from Example3 object Inside Example3.body() => Receiving Gridlet 2 Inside Example3.body() => Sending Gridlet 3 ... Inside Test.body() => Receiving Gridlet 3 from Example3 object Inside Example3.body() => Receiving Gridlet 3 Inside Example3.body() => Sending Gridlet 4 ... Inside Test.body() => Receiving Gridlet 4 from Example3 object Inside Example3.body() => Receiving Gridlet 4 Inside Example3.body() => Sending Gridlet 5 ... Inside Test.body() => Receiving Gridlet 5 from Example3 object Inside Example3.body() => Receiving Gridlet 5 Inside Example3.body() => Sending Gridlet 6 ... Inside Test.body() => Receiving Gridlet 6 from Example3 object Inside Example3.body() => Receiving Gridlet 6
Inside Example3.body() => Sending Gridlet 7 ... Inside Test.body() => Receiving Gridlet 7 from Example3 object Inside Example3.body() => Receiving Gridlet 7 Sim_system: No more future events Gathering simulation data. Simulation completed. ========== OUTPUT ========== Gridlet ID STATUS 0 SUCCESS 1 SUCCESS 2 SUCCESS 3 SUCCESS 4 SUCCESS 5 SUCCESS 6 SUCCESS 7 SUCCESS Finish Example3 BUILD SUCCESSFUL (total time: 0 seconds)
Class Diagram of Example 3:
Description-‐ Example 3: This example demonstrates the interaction between two gridsim entries, basically it creates
gridlets and sends it to the test class. The example class takes 3 parameters as input to receive the gridletlist from the test class, this method is also used to assign list to _recivelist list and then to create a new object of test class, which initializes the test class.
Then body method handles the communication between the Example class and the Test class, first this method gets the list size and stores it in integer then it creates two objects of Gridlet type. Then the body method creates a for loop which sends one gridlet at a time to the test class, then it receives the gridlet from the test class and stores it in gridlet object, then prints the received gridletID, after this received gridlet is stored in the receiveList_. At last it signals end of simulation to the entityName.
The test class waits and listens to the event simulation for the gridlet to arrive, when gridlet is passed into the test class it receives and then gives the gridlet back to the Example class as output, the function of this method is to test how any gridlet can be received as an input and send it back as an output.
The test method in this class calls for super () method and to get the name and communication rate for the gridlet and then prints that it has created a gridlet. The body method in this class. The main method first initializes the gridsim package, using Gridsim.init method and passing all the values to the method, thereafter it creates a list of gridlets by creating a list of GridletList type and assigning the values of method createGridlet(). After completing this process the main method creates an object of example type and passes its name, communication speed and list of gridlets.
Then the startGridSimulation() package is initialized to start the simulation, after the simulation is complete the program gets the list of objects by calling getGridletList () method and stores it in newList object, finally the printGridletList method is called to print the list of gridlets.
Example 4:
Run: Starting Example4 Initializing GridSim package Initialising... Starting to create one Grid resource with 3 Machines Creates a Machine list Creates the 1st Machine that has 4 PEs and stores it into the Machine list Creates the 2nd Machine that has 4 PEs and stores it into the Machine list Creates the 3rd Machine that has 2 PEs and stores it into the Machine list Creates the properties of a Grid resource and stores the Machine list Finally, creates one Grid resource and stores the properties of a Grid resource Creating a grid user entity with name = Example4, and id = 9 Creating 8 Gridlets Starting GridSim version 5.0 Entities started. Received ResourceCharacteristics from Resource_0, with id = 5 Sending Gridlet_0 to Resource_0 with id = 5 Receiving Gridlet 0 Sending Gridlet_1 to Resource_0 with id = 5 Receiving Gridlet 1 Sending Gridlet_2 to Resource_0 with id = 5 Receiving Gridlet 2 Sending Gridlet_3 to Resource_0 with id = 5 Receiving Gridlet 3 Sending Gridlet_4 to Resource_0 with id = 5 Receiving Gridlet 4 Sending Gridlet_5 to Resource_0 with id = 5 Receiving Gridlet 5 Sending Gridlet_6 to Resource_0 with id = 5 Receiving Gridlet 6 Sending Gridlet_7 to Resource_0 with id = 5 Receiving Gridlet 7 GridInformationService: Notify all GridSim entities for shutting down. Sim_system: No more future events Gathering simulation data. Simulation completed. ========== OUTPUT ========== Gridlet ID STATUS Resource ID Cost 0 SUCCESS 5 27.851458885941646 1 SUCCESS 5 39.78779840848807 2 SUCCESS 5 71.6180371352786
3 SUCCESS 5 12.260185925286578 4 SUCCESS 5 32.160803970344375 5 SUCCESS 5 26.989166622345806 6 SUCCESS 5 16.721823905496365 7 SUCCESS 5 20.974565689486667 Finish Example4 BUILD SUCCESSFUL (total time: 0 seconds)
Description – Example 4:
This Example demonstrates how a user can give its gridlet (Task) to a grid resource for execution. In the first step the constructor calls for super () method and passes it the value for gridlet name and communication speed, then it gets the ID for this entitety and assigns it to this.ID field. Then the constructor creates a list of gridlets and assigns it to this.list_.
The body method handles all the communication needs of the program, in this method first initializes some fields and linked list to store the resources then creates an object of type ResourceCharacters.
Then it initializes a while loop for receiving the resources, then checks if the resource is available. If the resource is available then it initializes the resourceID and sends the resource to the calls the super.send method with appropriate parameters. Then the method calls the super.receiveEventObject method to receive the resource and stores it in the resChar object and stores resource name into the resourceName object.
Then this method initializes a for loop to get gridlets one at a time and send it to a grid resource entity, first this loop gets one gridlet from Gridlet and stores it in gridlet object and then sends the object to the resource specified in the resourceID.After this process the loop waits to receive the gridlet, when gridlet is received it is stored in the gridlet object and then adds the gridlet to the list of gridlets.
The main method first initializes the gridsim package, then creates a grid resource. After creating the gridsim resource it creates an object of example with parmeters for its name and communication rate, then the grid sim simulation is started. At last the printGridletList() is invoked to print the output of all the gridlets.
Example 5:
Run: Starting Example5 Initializing GridSim package Initialising... Starting to create one Grid resource with 3 Machines Creates a Machine list Creates the 1st Machine that has 4 PEs and stores it into the Machine list Creates the 2nd Machine that has 4 PEs and stores it into the Machine list Creates the 3rd Machine that has 2 PEs and stores it into the Machine list Creates the properties of a Grid resource and stores the Machine list Finally, creates one Grid resource and stores the properties of a Grid resource
Starting to create one Grid resource with 3 Machines Creates a Machine list Creates the 1st Machine that has 4 PEs and stores it into the Machine list Creates the 2nd Machine that has 4 PEs and stores it into the Machine list Creates the 3rd Machine that has 2 PEs and stores it into the Machine list Creates the properties of a Grid resource and stores the Machine list Finally, creates one Grid resource and stores the properties of a Grid resource Starting to create one Grid resource with 3 Machines Creates a Machine list Creates the 1st Machine that has 4 PEs and stores it into the Machine list Creates the 2nd Machine that has 4 PEs and stores it into the Machine list Creates the 3rd Machine that has 2 PEs and stores it into the Machine list Creates the properties of a Grid resource and stores the Machine list Finally, creates one Grid resource and stores the properties of a Grid resource Creating a grid user entity with name = Example5, and id = 17 Creating 8 Gridlets Starting GridSim version 5.0 Entities started. Waiting to get list of resources ... Waiting to get list of resources ... Received ResourceCharacteristics from Resource_2, with id = 13 Received ResourceCharacteristics from Resource_1, with id = 9 Received ResourceCharacteristics from Resource_0, with id = 5 Sending Gridlet_0 to Resource_2 with id = 13 Receiving Gridlet 0 Sending Gridlet_1 to Resource_0 with id = 5 Receiving Gridlet 1 Sending Gridlet_2 to Resource_0 with id = 5 Receiving Gridlet 2 Sending Gridlet_3 to Resource_0 with id = 5 Receiving Gridlet 3 Sending Gridlet_4 to Resource_1 with id = 9 Receiving Gridlet 4 Sending Gridlet_5 to Resource_1 with id = 9 Receiving Gridlet 5 Sending Gridlet_6 to Resource_2 with id = 13 Receiving Gridlet 6 Sending Gridlet_7 to Resource_1 with id = 9 Receiving Gridlet 7 GridInformationService: Notify all GridSim entities for shutting down. Sim_system: No more future events Gathering simulation data. Simulation completed. ========== OUTPUT ========== Gridlet ID STATUS Resource ID Cost 0 SUCCESS 13 27.851458885941646 1 SUCCESS 5 39.78779840848807 2 SUCCESS 5 71.6180371352786 3 SUCCESS 5 12.260185925286578 4 SUCCESS 9 32.160803970344375 5 SUCCESS 9 26.989166622345806 6 SUCCESS 13 16.721823905496365 7 SUCCESS 9 20.974565689486667 Finish Example5 BUILD SUCCESSFUL (total time: 0 seconds)
Class Diagram of Example 5:
Description – Example 5: This program demonstrates how the users can assign one gridlet to many grid resource entity,
first the constructor is defined in the program which initializes the fields gets and ID for the entity. Then it creates a list of gridlets for this grid user.
The method body () initializes resourceID, resourceCost and resourceName fields, then it creates two objects for resource list and resource characteristics.Then the method starts a while loop to store resource list in resList object, then it starts a for loop to get all the resources available and stores in resChar object.
After the loop is complete the method starts another for loop to get a gridlet one at a time and sent it to a random grid entity and to receive a reply, first the loop sends one gridlet to a random grid resource and then repeats the process till it has completed sending all the gridlets. Creategrid method is used to create gridlets it generates 8 gridlets out of which 3 are manually generated and 5 are randomly generated, then it sends the list of gridlets back.
Main method first initliases the gridsim package then it makes three objects of gridresource type resource, then it creates an object of the example class and passes its name communication resource and total resource. After that the main method calls printGridletList() to print the output.
Task ii: Selection of at least two scheduling policies
Scheduling Policies
Resources such as computers, storage space, instruments, software applications and data which are connected by means of internet, there would be a middle ware layer that provides services for security, monitoring and resources management. The administrative organization which makes use of the resources keeps in shared within the distributed companies under specifically defined policies and conditions. The logical architecture of grid scheduling process consists of three stages:
1. Resource discovering and filtering 2. Resource selecting and scheduling according to objectives 3. Job submission
The diagram below represents the model of grid scheduling in which two types of data flow are connected to the functional components,
• Resource or application information flow • Task or task scheduling command flow
(Dong : 2006)
Grid schedulers don’t connect to the resources directly, they work like brokers or tightly coupled with applications as application level scheduling scheme process. It is not required that they are located in the same domain with the resources. Status of the available resource are very crucial for grid scheduler for making a proper schedule especially when dealing with heterogeneous and dynamic nature of Grid. Grid Information service(GIS) provides information to the grid scheduler, GIS has the role of collecting and predicting the resources information such as memory size, CPU capacities, software availabilities and network bandwidth.
Challenges in Scheduling by Grid computing:
• Heterogeneity and Autonomy • Performance Dynamism • Computation Data separation • Resource selection.
Scheduling Policies Some of the scheduling policies which are followed by the administrative organisations are below:
• Adaptive scheduling • Task dependency on application • Data scheduling • Non Traditional Approach for Grid task scheduling. • Scheduling under QOS Constraints • Strategies treating dynamic resource performance
Adaptive Scheduling Adaptive scheduling depends on the terms, parameters and make scheduling decisions change dynamically depending on the resources available at present and future resource status. The request for scheduling adaption comes from three points.
• Heterogeneity of candidate resource • Dynamism of resource performance • Diversity of applications
http://ftp.qucis.queensu.ca/TechReports/Reports/2006-504.pdf
Resource Adaptation: For achieving high performance and to reduce the cost, discovering the available resource and choosing the appropriate resource are very critical, this is due to the fact of resource heterogeneity and application diversity. The resources are first ranked according to memory size and computational power, the appropriate sized resource is selected from the sorted list. This also involves selecting set of nodes and to maximise the minimum available bandwidth between the nodes to determine the performance on full load which will determine its efficiency and performance on fully load.
Dynamic performance Adaptation: The adaptation of dynamic are mainly allocated by:
i) Changing scheduling policies and rescheduling by switching between static scheduling algorithms which makes use of anticipated information and dynamic one which make use of static scheduling results.
ii) Distribution of workload according to application specific performance models. iii) Strategies for dividing a particular work and allocation individual work to the
resource so that result can be obtained much faster.
In this approach the main task is divided in to subtasks and the subtasks are distribute to the available resources, this will increase the performance and utilization of all available resource and prevents the resource to reach ideal stage.
Application Adaptation: The application scheduler are usually tightly coupled with application and are not applied to other applications. This will increase the performance to the high level. One of the main feature to implement decoupling is by recording the application characteristics which are discovered specialized compilers and grid enabled libraries. The characteristics of applications are connected by well-defined interfaces to schedulers so that the service can be general purpose and service can be continuous. When there is error in allocating the resource and when the time limit reaches the threshold value the scheduler will reallocate the tasks to another resource.
Task Dependency on Scheduling
Dependency vs Independency is a common dichotomy considered in Grid application. In this context dependency means that child task should start once the parent task is completed. Dependency are very important in scheduling critical time related tasks. Minimum Execution time (MET) and Minimum completion time (MCT) are the terms used to determine performance of the resource before it’s allocated to perform a particular task. MET will determine the amount of time required to execute the give task, this will determine the minimum amount of time which will give assumption to user the time required to set for the application for the task allocated to particular resource. MCT will determine the amount of time required to complete a task allocated to a resource. In computational grid the tasks are collected as a group and individual intensive task are assigned to individual member of the group. The processing time of the applications has the maximum cost in terms of scheduling and transmission to form grid resources. By this process the time for job launching is reduce and resource utilisation is increased.
Grid systems also support dependent task scheduling, but there are some problems related to dependent task scheduling. They are
1. How tasks are scheduled 2. How to submit scheduled tasks.
The above two task must not violate the structure of original workflow. There are solutions
which will reduce the problems mentioned above. Grid flow generators solves the first problem, Grid workflow engines solves the second problem. The below two diagrams shows the block diagram of task without dependency and task with dependency.
The diagram shows the how tasks are dependent on each other. In first diagram there are time space between two tasks are not dependent on each other and both the task can take place independently, where as in second diagram shows that Task B is dependent on Task A which means that Task B can start only after the Task A is completed.
Task iii) Discussion on Task Dependency on Scheduling
Task Dependency on Scheduling
The work dependency clearly states that task are dependent on each other, i.e. execution of one task will depend on the execution of other task. If the scheduling is not timed in proper there are chances that tasks may hang or there is possibility of dead lock as one task may depend on other but in turn the second task may depend on first task. In task dependency the child task will always depend on parent task to complete first.
The dependency task scheduling is discussed by following dichotomy:
Independent Task Scheduling: In independent task scheduling, each individual task are allocated to system and each task are performed individually the output are not dependent on each other. The execution of one output will not affects the performance of other, this will help the system to achieve high throughput Static approach with performance estimate:
The following terms will help to determine the performance of the system.
o Minimum Execution Time (MET) o Minimum Completion Time (MCT) o Min-min o Max-min o XSuffarage o Task Grouping o Problem of Heterogeneity
MET: This will determine the best executed time for completing the task using a resource. The idea behind is give each task the best resource to perform the task so that it can achieve the best executed time for completion of task.
MCT: It will indicate the completion time for a task to complete by the allocated resource. This will determine the task to be assigned to particular resource depending on the completion time by individual resources.
Min-‐min: If there are M tasks, Min-min will determine the minimum amount of time required for M task to get completed.
Max-‐min: This will determine the maximum time to perform M amount of task to get completed. The difference between Min-min and Max-min will determine the performance of the resource.
XSuffrage: The logic behind suffrage is that each task is assigned to a particular host for the task to be performed. If the host doesn’t handle the task then it means the task is not handle by any of the resource. The Suffrage value is determined by the difference between the first and second MCT. If the nodes are clustered the system may face the problems, because if the nodes are clustered the performance is almost similar in every stage, in this case the difference between the best and second best MCT is taken.
Task Grouping: This policy is useful if the system is handling lot of lightweight jobs. In this case the overall processing will determine the performance by scheduling and transmission to or form Grid resources. Once the individual tasks are collected they are aligned and allocated to a particular resource and time is determined for the tasks to get completed. By this process of scheduling the job launching is reduced and resource utilization is increased.
Dependent Task Scheduling When the jobs have the order to follow the execution process dependent task scheduling is
used. One of the popular model is directed acyclic graph (DAG) in which a node represents a task and the task are executed in precedence order. Some of the tool which use dependent task scheduling are Condor DAGMan, CoG, Pegasus, GridFlow and ASKALON. In dependent task scheduling there are two major problems which are handled, the problems are like how the task in workflow is scheduled, the problem is handled by Grid workflow generators. The second problem is how to submit the scheduled task to grid resources, this problem is handled by Grid workflow engines. The data scheduling task is done by the below flow:
In some systems certain systems are maintained a cycle for completion of a task depending on the start and finish of the task. The starting time will determine when the task has to be finished and in some system depending on the type of the job the finishing time is determined. for e.g. in task which must not be finishing at night in such systems the finishing time will be determined depending on the time of start. By taking some examples in to consideration the dependencies are divided in to four types below.
Task IV: GUI of the ATC system
The Gui for ATC system is located on :
https://drive.google.com/file/d/0B7HAuqrEaDecQS0zNl9leF9iQnM/edit?usp=sharing
When the user starts the simulation part, the system will check for user credentials. Once the login and password matches with the credentials stored in the database the system will allow user further for doing simulation.
Once user able to login, the Grid resource creation page requests user to enter the following details.
The system requests for user ID, size and no of user for creating the user.
Once the user is created, the gridlet is created for performing the operations required. Before creaing gridlet the following details are requrested from user.
After obtaining all the required information from the user for creating gridlet, the simulation is done
User will be able to enter or obtain further details by selecting particular option from specific drop down menu. This will help user to check with all the query required.
Part 2: Review of a scientific publication
In the feature article “Expert system methodologies and applications—a decade review from 1995 to 2004” the author, Shu-‐Hsien Liao, writes a review about different types of Expert systems which were common from 1995 to 2004.
The Author first uses different approaches to Expert system to summarize the articles collected from 1995 to 2004, and gives a list of uses for each approach, this article is divided into 14 parts, which explains 11 types of approaches to Expert systems in detail.
The Main approaches discussed by the author are as following:
1. Rule Based System: A rule based system obtains rules from a human expert and uses the rules to perform operations on data and get conclusion, These rules are defined as IF ELSE conditions in the system. Some of the examples of rule-‐based systems are, DNA histogram interpretation, bio separation and biochemical nanotechnology.
2. Knowledge based system: These systems are attempt to understand and initiate human knowledge in computer systems, This kind of approach is useful when a system needs to manage all the knowledge assets of any organization. KBS has four key components; Knowledge base, Interface Engine, Knowledge engineering tool and a user interface. Medical treatment, chemical process control and chemical incident management are some fields in which KBS is used.
3. Neural networks: When a neural network is created by analyzing biological neural network, Artificial Neural Networks (ANN) are used where massively parallel processing is required for example software simulations. Like a biological neuron receives electrochemical signals, similarly an artificial neuron receives input. Neural networks are used in Machine learning, knowledge learning and robotics extensively.
4. Fuzzy expert system: Fuzzy expert systems use fuzzy logic, which allows the computer to behave less precisely and can be used for decision making process because decision making is not always about accuracy, sometimes the system has to consider other aspects which indirectly influence a decision. Some widely used examples of fuzzy logic are power load forecasting, water supply forecasting and power system diagnostics.
5. Object oriented methodology: This methodology classifies the parts of the softwares into objects, when a function has to be performed then the object required is called by the program, this results in a very reusable software as the software is divided into objects and each object behaves differently instead of the input being the same. Some fields in which this methodology is popular are knowledge representation, knowledge learning, and knowledge engineering.
6. Case based system: In this type of system the computer system stores different scenarios as cases in its knowledge base, when it is given a problem it tries to compare the
problem with previous problems and present a appropriate solution. If the solution is successful then this solution is added to existing list of cases and it is unsuccessful then it is stored to the case base along with explanations of why it didn’t work.
7. Modeling methodology: This methodology combines the logical models and knowledge domains, and provides AI and other research fields a platform to develop Expert Systems. It is majorly used in fields such as transport design, medical analysis and project allocation.
8. System Architecture of ES: The architecture of any system defines how the system works, and defines the structure of the system, it also provides the user capability of manipulating system function on system architecture. This system is used in Computer Aided Design, Ergonomics design and training simulators.
9. Intelligent Agent: This is a new technology which is a autonomous program, it enables user to do routine computing tasks, Its applications includes Tutoring systems, Air pollution control and Industry simulation.
10. Ontology: It is a vocabulary system, which acts as a communication basis between domain experts and knowledge engineers, Some applications of ontology are in the field of Knowledge reuse, Chess heuristic pruning and preventive control.
11. Database Methodology: A database is helpful in centralizing the entire data and reduce data redundancy, it also helps in analyzing the data in different ways, When very large amounts of data is involved and the data analysis becomes computationally extensive, databases use data mining and searching approaches to find the relevant information. Some examples where database methodologies is used are Geographical Informational system, sedimentary rock interpretation and power system planning.
At last the author discusses about the broad category of research issues in Expert systems and suggests that social science methodologies and statistical methods can be major categories in future works.
Then the author concludes the Expert systems application domain is a problem-‐oriented domain. And different social science methodologies such as psychology and cognitive science and human behavior can be another kind of methodology.
The three major systems described in this paper are Rule based systems; Knowledge based system and Neural Networks
Knowledge based systems:
In todays competitive market building product knowledge and managing that knowledge using a knowledge based system is essential, these knowledge based systems acquire product knowledge then help to achieve efficient product knowledge management, decision and design support.
“Knowledge is a combination of information and experience, context, interpretation and reflection”(Davenport T.H.: 1998)
Knowledge based system consists of three layers:
a) Knowledge base layer: This layer consists of all the acquired knowledge in a knowledge base. This layer models, organizes and stores the product knowledge into a standardized format.
b) Interface Engine: This part of the knowledge-‐based system consists of different tools to acquire the knowledge in a fast and efficient manner like data mining and knowledge discovery databases.
c) Interface: This is the actual user interface, which is presented to the user; this is generally a highly customer-‐oriented communication interface, which interacts between users and the interface engine.
For a knowledge based system to work efficiently an effective knowledge base is required, this is achieved by managing the product knowledge and organizing it to prevent knowledge loss and efficient knowledge retrieval in future, this process is known as knowledge representation of knowledge management.
Knowledge modeling is separation of the knowledge that is available in documents such as design manuals, datasheets and standard specification. This knowledge should be computer readable, so this knowledge is transformed into computer interpretable format.
Finally, I would like to conclude that nowadays most knowledge based systems are designed for a specific purposed and they are not flexible, for example a KBS designed for knowledge reuse will fail in explicit data mining jobs, Web based approach is a promising field in these systems, but it requires more research and study.
Rule Based Systems
Rule base system is a type of expert system which uses rules to make choices and deductions, This kind of systems can be useful in compilation of computer programs of technologies like natural language processing.
There are three phases of rule-‐based systems :
1. Match: in this stage the all the productions are matched against the working memory and a conflict set is is produced.
2. Conflict resolution: in this phase one product instantiation is selected from the conflict set and is executed.
3. Act: This phase is the last phase of the system, In this stage the actions from the productions in conflict-‐resolution phase are executed. After this the execution returns to the first phase.
Rule based systems are in use for few decades now, and they have proven their usefulness in many fields. But since they are based on IF ELSE based conditions or “Rules” they drew quite a bit of criticism because getting the right rules for every system was a difficult task, Moreover some of the rule based systems grew very large in size and then they were very hard to maintain, and verification and validation of every rule in a rule based system was very impractical, as a result many algorithms and tools were developed for verification and validation of the rule based system. Nowadays compact and efficient rule based systems are preferred instead of the large and bulky systems because they are easy to maintain and if there are a defined set of rules then it is easy for the company or organization to train its employees for the system.
While creating an efficient rule based system many approaches can be used, one of the approaches say that the rules that are not in use they should be eliminated. While this idea is not new but it also has some glitches, first one is that it cannot be applied to a new system because it will need the rule usage data to calculate how many times a rule was used and second problem if any rule which is critical to the system is eliminated because it was not used frequently can cause errors in the future.
Another approach to create a better rule-‐based system is known as Brief Rule Based system. This approach is useful when the “rule based system needs to represent different types of knowledge under uncertainty” (Chang L: 2013). One of the most important applications of the rule-‐based system is the RIMER approach, which stands for Rule-‐base Interface Methodology using the Evidential Reasoning.
By using a brief rule based system RIMER is able to handle different kinds of uncertainty, This system has many uses like Multiple attribute decision analysis, group decision making, Risk analysis and Military capability evaluation.
Neural Networks
Artificial neuron networks is a kind of system, which is inspired by biological neurons, they excel in the fields of Machine learning, pattern recognition and signal processing. In this system all the processing elements or nodes are interconnected with each other, different learning algorithms and training determine the strength of the connection.
Most of the artificial neuron networks are made to behave like neurons (particularly in brain) this is commonly known as feed forward topology this include perceptron, radial basis functions, back propagation networks and support vector machines.
The capacity for learning and generalization in a neural network is determined by its choice of basis functions, and mostly these basis functions are inspired by transfer functions in biological systems. There are two distinct classes of neural functions and coding streams.
1. Value Coding 2. Intensity Coding.
These coding methodologies defines the generalization and learning capabilities of a neural network
One of the approaches of using ANN is to use its recollection and prediction capabilities, This approach basically allows the ANN to recollect its past and predict the future according to the data gathered in the past. There are examples of some feed forward networks that can evolve a memory like function (Chung J.R.: 2009)
One of the demerits of the neural networks is that it requires large amount of training and learning for real-‐ world application, This is common with all the learning based machines as they need a variety of training to capture the underlying mechanism, which will allow it to solve new cases. There is always a issue of undertraining and overtraining, If we undertrain the neural network then it wont be able to give a optimum output, and if we overtrain it then it will learn the training methods, if this happens then the output of the neural network will be very similar to the training provided.
Although the learning methods of artificial networks are difficult to analyze but by research of this technology also provides insights to the functions and genetic principals of biological neural networks and its workings.
Neural networks example and its uses:
Neural networks have a variety of uses like Data mining, Automatic speech recognition and signal processing.
Artificial Neural networks have been used for speech recognition since 1980’s
(Curilem, M: 2010) a single ANN is used to map speech features and generates phonemes, which are then converted to words. This approach is used by many people for recognizing phonemes in many languages like Malay, Hindi and Japanese.
This method of using ANN is also quite effective and robust against noise; Research studies have shown that during training if a ASR system uses clean data. However there is a problem in this approach, since the noise produced by different sources differ vividly the feature set generated by the noise can adversely affect the accuracy of speech recognition.
Method of Speech Recognition:
Speech recognition is a complex process so there are a variety of approaches to do speech recognition; these are the common steps involved in a speech recognition system:
1. Preprocessing: The Audio signals received are down sampled and analyzed so that only the part containing human speech is filtered and processed, this reduces noise and excess data and increases processing time.
2. Feature Extraction: by using MFCC Mel-‐frequency cepstrum coefficients, in the input layer the neurons take input of speech tokens and extract speech features then by using techniques like Makarov Toolkit (HTK) ( Young, 2006) MFCC can be normalized before they are fed into the ANN.
3. Feature reduction: in this step the features are reduced, only the usable features are kept. ANN helps in this process by using learning algorithms like Self Adjusting Neural Network (SANN)(REF NNA 3) or Time delay neural network (TDNN) to separate the useful features from the non-‐useful features.
4. Feature Generation: Feature selection is a process in which the speech signals are compared to a corpus or a dataset like acoustic-‐phonetic continuous speech corpus (Garofolo: 1992) to recognize the words and phrases and generate phonemes, by using learning algorithms like Self Adjusting Neural Network (SANN)(REF NNA 3) or Time delay Neural network (TDNN) an ANN or a SVM (State vector machine) is able to compare these features and create a feature set.
Moreover there are more neural network approaches like and Multi-‐Network Artificial neural networks (Curilem, M.), which combine multiple neural networks to produce more effective results compared to single neural network based approach.
References
• Aslaug Haraldsdottir, Principal Investigator Monica S. Alcabin Alvin H. Burgemeister Charles G. Lindsey Nigel J. Makins Robert W. Schwab Arek Shakarian William D. Shontz Marissa K. Singleton Paul A. van Tulder Anthony W. Warren (1997) Air Traffic Management Concept Baseline Definition, China: NEXTOR.
• Craig Freudenrich, Ph.D. (2010) How Air Traffic Control Works, Available at:http://science.howstuffworks.com/ (Accessed: 25 March 2014).
• Ajith Abraham. (2005). Rule-‐based Expert Systems. Available: http://2002.softcomputing.net/fuzzy_chapter.pdf. Last accessed 25th Mar 2014.
• Oh-‐han Kang Sang-‐seong Kang (2006). A Web-‐based Toolkit for Scheduling Simulation Using GridSim. South Korea: Proceedings of the Fifth International Conference on Grid and Cooperative Computing (GCC'06). 1 -‐ 3.
• Rajkumar Buyya and Manzur Murshed1. (2008). GridSim: A Toolkit for the Modeling and Simulation of Distributed Resource Management and Scheduling for Grid Computing. Available: http://arxiv.org/ftp/cs/papers/0203/0203019.pdf. Last accessed 1st April 2014.
• Shinpei Kato, Karthik Lakshmanan† , and Ragunathan (Raj) Rajkumar† , Yutaka Ishikawa. (2008). TimeGraph: GPU Scheduling for Real-‐Time Multi-‐Tasking Environments. Available: http://static.usenix.org/event/atc11/tech/final_files/Kato.pdf. Last accessed 20 Mar 2014.
Dong, F., Selim G. Akl . (2006). Scheduling Algorithms for Grid Computing: State of the Art and Open Problems . Technical Report No. 2006-‐504 . 504 (0), p1-‐20. T.H. Davenport, D.D.W. Long, M.C. Beers, Successful knowledge management projects, Sloan Management Review 1998 (1998) 43–58. **
Freiberg, M. (2012). Extensible Prototyping for pragmatic engineering of knowledge-‐based systems. Expert Systems with Applications. 39 (11), 10177–10190.
B.M. Li, S.Q. Xie , X. Xu. (2011). Recent development of knowledge-‐based systems, methods and tools for One-‐of-‐a-‐Kind Production.Knowledge-‐Based Systems. 24 (7), 1108–1119.
Rotolo, A. (2011). Rule-‐based agents, compliance, and intention reconsideration in defeasible logic. Proceedings of RuleML, Springer
Ben-‐David, A. (2008). Rule effectiveness in rule-‐based systems: A credit scoring case study. Expert Systems with Applications. 34 , 2783–2788.
Chang, L, Zhou, Y, Jiang, J, Li, M, Zhang X.. (2011). Structure learning for belief rule base expert system: A comparative study. Knowledge-‐Based Systems. 39 (3), 159-‐172.
Young, S., Evermann, G., Gales, M., Hain, T., Kershaw, D., Liu, X., Moore, G., Odell, J., Ollason, D., Povey, D., Valtchev, V., Woodland, P., . (2006). The HTK Book (for version HTK 3.4). Cambridge University Engineering Department, Cambridge.
Garofolo, J.S., Lamel, L.F., Fisher, W.M., Fiscus, J.G., Pallett, D.S., Dahlgren, H.L., Zue, V., . (1992). The DARPA TIMIT acoustic phonetic continuous speech corpus CDROM, NTIS order no. PB91-‐100354..
Chung, J.R., Kwon, J., Choe, Y.. (2009). Evolution of Recollection and Prediction in Neural Networks. Proceedings of International Joint Conference on Neural Networks, Atlanta, Georgia, USA. 19 , p571-‐577.
Curilem, M. Chacón, M. ; Acuña, G. ; Ulloa, S. ; Pardo, C. ; Defilippi, C. ; Madrid, A.M.. (2010). Comparison of Artificial Neural Networks an Support Vector Machines for Feature Selection in Electrogastrography Signal Processing. 32nd Annual International Conference of the IEEE EMBS Buenos Aires, Argentina. 0 (0), p2774 -‐ 2777.
Manette, O.F., Inserm, P., Maier, M.A.. (2006). Back to Results TempUnit: A bio-‐inspired neural network model for signal processing.International Joint Conference on Neural Networks Sheraton Vancouver Wall Centre Hotel, Vancouver, BC, Canada. p3144 -‐ 3151.
Shahamiri ,S.R., Salim, S.S.B.. (2014). Real-‐time frequency-‐based noise-‐robust Automatic Speech Recognition using Multi-‐Nets Artificial Neural Networks: A multi-‐views multi-‐learners approach.Neurocomputing. 129, p199-‐207.
Siniscalchi, S.M., Yu, D., Deng, L., Lee, C.H.. (2013). Exploiting deep neural networks for detection-‐based speech recognition.Neurocomputing. 106 (0), p148-‐157.
Ting, H.N., Yong, B.F., Mirhassani, S.M.. (2013). Self-‐Adjustable Neural Network for speech recognition. Engineering Applications of Artificial Intelligence. 26 (0), 2022–2027.