The process
The Grading Process
- The instructor initiates the grading process, and control is passed to the system via Web Controllers.
- Application Controllers execute the grading action through PASS Client EJB Facade.
- Program Management module retrieves the list of students of the specified course and problem information from PASS Database.
- Program Management module retrieves a student program from Student Folder.
- Program Management module validates the student program against harmful keywords.
- Program Management module places the validated student program in Execution Folder, a secure location where the program is to be executed.
- A Security Flag is sent to Application Controllers to indicate whether it is safe to run this program or not.
- When the student program is validated to be safe to execute, Application Controllers send the execution signal to Program Management module through PASS Client EJB Facade.
- Program Management module sends the problem info, program files, student info to Code Interpreter for execution.
- Code Interpreter sends the program outputs to Program Management module. Program Management module copies the program and the generated outputs to Student Folder.
- Program Management module forwards the generated outputs to Submission Marker.
- Submission Marker compares the generated outputs with the predefined expected outputs and sends the marking results to the Program Management module.
- Program Management module sends the execution result to Application Controllers through PASS Client EJB Facade.
- Program Management module sends the execution result to Database for storage.

