Project 4: Task Scheduling
Scheduling is an important activity that encompasses many everyday activities (e.g., determining which classes to take each semester). It is also used to optimize performance of applications, services, and utilization of computer resources. The scheduling problem covers important concepts and topics in computer science.
Definitions and Specifications:
A task (e.g., A B C …) can be completed if it has no dependencies or all its dependencies are met. A dependency: (A, B) indicates that A has to be completed before B. A task list is a list of all tasks to be completed. A dependency list is a list of all dependencies for all task. The task list and dependency list will be read from a text file. A time step is the event when all task that can be completed is completed.
The task list and the dependency list can be modified according to user input. When a task is deleted, all dependencies for the deleted task are also deleted.
Given the data in the taskData.txt and any changes provided through user input, provide the following information:
1) A valid ordering of task if one exist.
2) If no valid ordering is possible, identify a cycle that prevents a valid ordering.
3) If a valid ordering exist, indicate whether or not the there is more than one.
4) Report the minimum number of time steps needed to complete all tasks.
5) For each time step, list all remaining tasks that can be completed during that time
The task list and dependency list are read into your project from a single text file (“taskData.txt”). The first line in the text file gives the task list. Tasks are separated by a space. The second line in the text file gives the dependency list. The dependencies are separated by a space.
A B C D E F
(A,B) (A,C) (B,D) (C,D) (D,E) (E,F)
This project should also provide the option to (1) add new tasks, (2) delete a task, (3) add a dependency, and (4) quit. When the task list or the dependency list is modified, the program will recalculate the information above and display the updated information.
When the data in taskData.txt is
Get Free Quote!
311 Experts Online